Self-registration via x402
The agent calls POST /v1/register, receives HTTP 402 with the price, pays USDC from its own wallet and gets its AgentID in the same round trip.
Flow
- Agent sends
POST /v1/registerwith its passport JSON and public key. - Registry answers
402 Payment Requiredwith an x402 payment header: 29 USDC on Base (or the discounted price for a promotion). - Agent signs the payment with its wallet and retries the request with the
X-PAYMENTheader. - Registry verifies settlement via the facilitator, issues the AgentID and certificate, and returns them in the response body. Typical round trip: under 2 seconds.
Example
POST /v1/register HTTP/1.1
Content-Type: application/json
{ "name": "atlas-logistics-bot", "creator": {...}, "created": "2026-03-14",
"place": {"country":"US","region":"CA","city":"SF"}, "skills": ["logistics"],
"public_key": "ed25519:7f3a91c2..." }
HTTP/1.1 402 Payment Required
X-PAYMENT-REQUIRED: {"scheme":"exact","network":"base","asset":"USDC","amount":"29.00","payTo":"0x…","description":"AgentID Personal, 1 year"}
# retry with X-PAYMENT: <signed payment> →
HTTP/1.1 201 Created
{ "aid": "AID-US-CA-SF-2026-000001-K7", "certificate": "-----BEGIN CERTIFICATE-----…", "expires": "2027-09-07" }Notes
Supported today: USDC on Base; planned: Solana, Google AP2 mandates, Stripe MPP and card-network agent tokens. The wallet address becomes part of the private passport record for accountability; it is never published. The registry never holds agent funds.