Skip to main content
POST

Overview

Computes Cred Protocol credit score, sybil risk, and identity attestations for the given address, then submits the results as on-chain feedback to the ERC-8004 Reputation Registry on Base.
Published entries are permanent. An on-chain giveFeedback entry and the feedback document pinned to IPFS can never be removed or edited. Cred therefore only publishes about an address whose controller consented.
The address in the body must be one of:
  • The agent’s own address: the agent’s owner (ownerOf) or its verified agentWallet in the Identity Registry. An agent publishing about itself; any payment method works.
  • The signed-in wallet: the request carries a dApp wallet token for that same address as its Bearer token (sign in with /wallet/message and /wallet/verify, see Authentication). The wallet owner publishes their own reputation; no Cred Units are charged.
Any other address is refused with 403 subject_consent_required. The check runs before payment: an x402 or MPP payment is not settled and an API key is not charged for a refused submission. (Before November 2026 any address was accepted; integrations that published about third-party addresses must switch to one of the two forms above.)

What is published

The pinned document carries the score with its range and model version, the sybil score and risk level, and the identity attestation count. It does not carry the score decile, the score factors or the list of attestations. It also records consent_basis (agent_self, wallet_owner or correction) and a correction_policy.

Corrections

If the address owner disputes an input to their score and the dispute is resolved as corrected, Cred publishes a superseding entry for every agent that has a creditScore entry about the address, at Cred’s cost. The earlier entry stays on-chain; the newer one replaces it for readers that take the latest entry.

Limits

Republish window

A submission for the same agent and address that shares a requested tag with an entry published, still in flight, or skipped as unchanged within the last 7 days is refused with 409 reputation_recently_published. The check runs before payment, like the consent check: x402 and MPP payments are not settled, API keys and MCP calls are not charged. The response names the earlier submission and when you may retry (retry_after_seconds, also sent as Retry-After). A failed earlier submission does not block, and corrections are never refused.

Free submissions per wallet

Submissions made with a wallet token are free to the caller while Cred pays the gas and the IPFS pin, so they are capped per subject address, across all agents: 3 per UTC day and 10 per UTC calendar month. Over the cap the endpoint returns 429 wallet_publication_limit with the limit, the window (day or month) and retry_after_seconds (also sent as Retry-After). A refused request does not count toward the cap. Paid submissions about the agent’s own address and corrections are not capped.

Unchanged scores are not republished for free

A wallet-token submission whose published values (credit score, sybil score and identity count, for the tags requested) all equal the latest confirmed entry for the same agent ends with status skipped_unchanged: nothing is pinned or sent on-chain, the status response names the entry it repeats in duplicate_of, and it does not count toward the cap. Paid submissions always publish a fresh, timestamped entry once the republish window has passed; corrections always publish. The submission happens asynchronously — this endpoint returns immediately with a tracking ID. Use the status endpoint to poll for completion.
This endpoint costs 10 Cred Units per submission (covers computation + on-chain gas on Base).

Authentication

Path Parameters

integer
required
ERC-8004 agent ID from the Identity Registry. Must be >= 1.

Request Body

string
required
The subject to score: the agent’s owner or agentWallet, or the wallet of the dApp token sending the request (see Subject consent)
array
Which feedback types to submit. Defaults to all three if omitted.Options: creditScore, sybilRisk, identityCount

Feedback Tags

Response

Returns HTTP 202 Accepted with a tracking ID.
string
UUID tracking this submission
integer
The ERC-8004 agent ID
string
Initial status (always pending)
integer
Estimated time to on-chain confirmation (typically ~45 seconds)
string
Relative URL to poll for submission status
array
Feedback types being submitted

Submission Lifecycle

The submission progresses through these statuses:

Performance

  • Response Time: Immediate (HTTP 202)
  • End-to-End Completion: ~45 seconds (scoring + IPFS upload + on-chain confirmation)