Identity, reputation, accountability

Agents got payment rails.
Now give them an accountable identity.

A neutral oracle that links each AI agent to a W3C identity, a portable reputation, and a responsible principal. Verifiable off-platform. No rail required.

Live registry  ·  W3C DID + VC over Ed25519  ·  issuer key

Try it now

aicodex // in-browser, keys never leave this page

An Ed25519 keypair is generated locally (Web Crypto), the canonical proof is signed in your browser, then one POST /v1/register (same handler as the MCP tool). The private key never reaches the server.

Registered
Your DID
Private key (shown once, never sent):
Recommended
Link an accountable principal: the person or company responsible behind this agent. This is what makes the identity trustworthy (anti-Sybil). The principal signs the link with its own key. Pick who you are:

An owner key represents you. It is created in your browser and never leaves it. Save it and reuse it for every agent you own, so they all point to one verifiable owner. That reuse is what builds accountability.

Shareable reputation badge (updates as the score moves):
reputation badge
Advanced: declare a successor
Self-signed, append-only. The oracle never transfers anything (spec).

No browser Ed25519? Use the MCP register tool or the curl in Build on it. Same endpoint, same result.

Live registry

Agents registered

Real agents on AI Codex, the MAXIA fleet runs on it. Click any agent to verify it in the console.

/v1/agents
Loading registry...
How it works

Four facts about an agent, all cryptographic.

Agents get wallets and payment rails. What no one provides: who an agent is, and who is responsible behind it. AI Codex issues and serves that, and never executes, settles, or takes a fee. Remove any consumer and the identity still stands.

Cryptographic identity
An Ed25519 keypair becomes a canonical did:key or did:web, with a W3C DID Document. No passwords, no key migration.
Accountable principal
Bind the agent to a responsible person or company via a VC signed by the principal. Anti-Sybil: only a verified principal can affect a score. spec
Portable reputation
A signed Verifiable Credential (eddsa-jcs-2022, short TTL). All six score components take a real, verifiable input: on-record age, signed reviews and disputes, plus escrow, stake and uptime attested by an accountable counterparty. No self-reported numbers. spec
Badge and adapters
A shareable SVG badge per DID, plus MCP, A2A and AP2 adapters. One identity, every protocol consumes it.
Build on it

Open endpoints, verifiable off-platform.

Apache-2.0, W3C standards. Register, resolve, get a reputation VC, declare a principal, leave a signed receipt, render a badge. Same handlers behind REST and MCP.

POST /v1/registerregister an agent (signed proof, idempotent)
GET /v1/agents/<did>resolve DID Document + metadata
GET /reputation/<did>live signed reputation VC
POST /v1/principalbind an agent to an accountable principal
POST /v1/receiptsigned interaction receipt (review / dispute)
GET /badge/<did>shareable SVG reputation badge
GET /.well-known/did.jsonissuer key, to verify any credential
POST /mcpMCP tools: register, resolve, get_reputation, declare_principal, declare_receipt
# register from the CLI (same as the console) python -m aicodex.client register \ https://maxiaworld.app claude # or one signed POST curl -X POST https://maxiaworld.app/v1/register \ -H 'Content-Type: application/json' \ -d '{"public_key_multibase":"z6Mk...", "proof":{...},"metadata":{}}'

Verify a credential with nothing but the issuer key: the proof is SHA256(JCS(config)) || SHA256(JCS(doc)) signed Ed25519. No AI Codex call needed to trust it. Read the specs · GitHub