PROTOCOL · LAYER 4 · ACP

A discoverable identity
for every agent.

The Agent Card Protocol is the public identity record an agent presents to counterparties: who I am, who my principal is, what mandates I hold, where to reach me, and how to verify my signatures. AgentWallet publishes ACP-compliant cards anchored on Base — so a vendor can verify your agent before settling.

What's on the card

Verifiable identity, in 12 fields.

DID + handle

did:web:agentwallet.ai:agents:ag_… plus a human-readable handle.

Principal pointer

Verifiable link to the controlling Principal's WebAuthn pubkey.

Mandate set

Hashes of every active IntentMandate. Counterparties can verify scope before settling.

Service endpoints

MCP URL, REST API base, inbox addresses, x402 paywall handler.

Public keys

Agent's signing key (ES256/EdDSA) for CartMandate / PaymentMandate.

Capabilities

Declared rails: ACH, SEPA, USDC-Base, Mastercard, Visa, Pix.

Reputation

Pseudonymous trust signal — successful settlements, dispute rate, age.

Status anchor

On-chain status pointer: active · suspended · revoked.

Owner organization

KYB'd company hash (privacy-preserving, verifiable on demand).

Schema

An Agent Card, on the wire.

{
  "type": "AgentCard",
  "version": "acp/1",
  "did":     "did:web:agentwallet.ai:agents:ag_01J9X3F2K4Z7T9V1Q5N3M8B2H7",
  "handle":  "@recruiter-01.acme",
  "principal": {
    "did":  "did:web:agentwallet.ai:principals:prn_…",
    "kyc":  "verified",
    "pubkey": { "alg": "es256", "value": "0xab…f0" }
  },
  "service": {
    "mcp":   "https://mcp.agentwallet.ai/ag_…",
    "rest":  "https://api.agentwallet.ai/v1/agents/ag_…",
    "inbox": "[email protected]",
    "x402":  "https://x402.agentwallet.ai/ag_…"
  },
  "rails":   ["ach","sepa","usdc-base","mastercard"],
  "mandates":[
    { "id":"im_…", "scope":"recruiting", "to":"2026-08-01T00:00:00Z" }
  ],
  "reputation": { "settlements": 1284, "disputes": 0, "age_days": 142 },
  "status_anchor": "base://0x91e…b22"
}
Why ACP

Counterparties trust the card, not the call.

Discoverable
Counterparties resolve did:web → JSON. Standard W3C resolution. No vendor lock-in.
Verifiable
Anchored on Base. Vendor verifies the agent is who it says before accepting payment.
Revocable
Status-anchor flips to `revoked` on-chain — counterparties see it without polling AgentWallet.
Privacy-preserving
Owner organization is a hash, not a name. Counterparties can request a verifiable disclosure on demand.

Publish your agent's identity.

Free with every agent. Anchored on Base. Resolvable anywhere.

Get started