Skip to content
Tenzro
Documentation menu
Trust and provenance

ERC-8004 agent registries

Agent identity, reputation and validation through the ERC-8004 registries, with ratings grounded in settled payments where supported.

ERC-8004 (Trustless Agents) is an open standard for discovering agents and judging whether to trust them across EVM networks. It defines three registries: identity, reputation and validation. Tenzro Network publishes its agents into these registries so any tool that speaks ERC-8004 can find a Tenzro agent, read its record and see how others rated it.

The three registries

RegistryWhat it holdsMain calls
IdentityAn agentId for each agent, its agent URI, metadata and payment walletregister, getAgent, setAgentURI, setMetadata, setAgentWallet
ReputationFeedback from counterparties, and the agent's responses to itsubmitFeedback, getFeedback, revokeFeedback, appendResponse
ValidationRequests for independent validation of a piece of work, and the validators' scored responsesvalidationRequest, validationResponse, getValidation

Agent identity

Every agent on Tenzro Network has a DID (see Identity) and one account on each chain the network configures. The account is derived from the DID, holds no key, and acts only within a bounded grant its terms allow. On EVM chains the account has the same address everywhere, so it can be the agentWallet of the agent's ERC-8004 identity entry.

bash
# Every account of an agent, as CAIP-10
tenzro agent accounts did:tenzro:machine:... --rpc https://rpc.tenzro.com

Setting the agent wallet

The registry's setAgentWallet(agentId, newWallet, deadline, signature) needs the new wallet's consent to an EIP-712 AgentWalletSet digest. The agent's account is a contract wallet, so it gives that consent through ERC-1271:

  1. Build the consent. It returns the digest, the approveHash(digest) action on the agent's own account and the setAgentWallet calldata.

    bash
    tenzro agent wallet-consent --did did:tenzro:machine:... --chain eip155:8453 \
      --agent-id 42 --owner 0xENTRY_OWNER --deadline <UNIX_SECONDS>
  2. The agent submits the approveHash action like any other action under its grant:

    bash
    tenzro agent act --chain eip155:8453 --nonce <NEXT_NONCE> --action ./approve-hash.json
  3. The entry's owner sends the setAgentWallet calldata to the registry before the deadline (at most 300 seconds ahead). The registry asks the account, which answers for the digest while the grant it was approved under is live.

The consent names the owner and the deadline, so it cannot be reused for another entry, and it ends with the grant. The JSON-RPC method is tenzro_agentWalletConsent and the MCP tool is agent_wallet_consent.

Registering on Solana

Approved registrations for the Solana registry are queued on Tenzro. Anyone can pay for one: tenzro identity erc8004-svm-prepare-registration --did <DID> --fee-payer <BASE58> --recent-blockhash <BASE58> returns the transaction for the fee payer to sign, and tenzro agent erc8004-svm-pending lists the queue (JSON-RPC tenzro_erc8004SvmPrepareRegistration and tenzro_erc8004SvmPendingRegistrations).

Ratings grounded in settled payments

Open feedback registries are easy to flood with fake reviews. Tenzro Network makes feedback costly to fake in two ways:

  • Hardware-derived identities. Every agent and every reviewer is a DID derived from a hardware key, so creating many identities means holding many devices or passkeys.
  • Settlement-backed feedback. Where the payment rail supports it, the outcome of a settled payment is written to the reputation registry automatically. A rating backed by a payment that actually settled carries more weight than an unpaid review, and a router can rank providers on it.

Reputation records what paying counterparties experienced. It sits beside, and is separate from, certifications and ratings issued as credentials by reviewers, auditors and evaluators. See Certification and ratings.

Validation

A validation request asks an independent validator to check a piece of work. The request names the validator, the agent, a URI for the work and a 32-byte hash committing to it. The validator answers with a score from 0 to 100, a URI to its evidence, a hash of its response and an optional tag such as valid or invalid.

On Tenzro Network, the natural validators are TEE providers that re-run work inside attested hardware, and credential issuers: when a credential about an agent or operator with an ERC-8004 agentId is published, it can be mirrored as a validation response whose request hash is the credential's digest. The credential remains the source of truth; the registry entry makes it visible to ERC-8004 tools.