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.
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.
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.
A company proves control through its domain. Steps: 1) publish your key at https://yourco.com/.well-known/did.json. 2) build the credential below. 3) sign it with your domain key (SDK or CLI). 4) paste the signed result back. AI Codex verifies it against your published key, no trust in us required.
No browser Ed25519? Use the MCP register tool or the curl in Build on it. Same endpoint, same result.
Reads the live reputation score, the accountable principal, and the badge. Everything is signed and verifiable off-platform against the published issuer key, no trust in AI Codex required.
Real agents on AI Codex, the MAXIA fleet runs on it. Click any agent to verify it in the console.
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.
did:key or did:web, with a W3C DID Document. No passwords, no key migration.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/register | register an agent (signed proof, idempotent) |
| GET /v1/agents/<did> | resolve DID Document + metadata |
| GET /reputation/<did> | live signed reputation VC |
| POST /v1/principal | bind an agent to an accountable principal |
| POST /v1/receipt | signed interaction receipt (review / dispute) |
| GET /badge/<did> | shareable SVG reputation badge |
| GET /.well-known/did.json | issuer key, to verify any credential |
| POST /mcp | MCP tools: register, resolve, get_reputation, declare_principal, declare_receipt |
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