{
  "schemaVersion": "2026-06-12",
  "kind": "odei_base_capability_registry",
  "name": "ODEI Base Capability Registry",
  "canonicalOrigin": "https://api.odei.ai",
  "canonicalUrl": "https://api.odei.ai/.well-known/odei-base-capabilities.json",
  "lastReviewedAt": "2026-06-12",
  "primaryChain": {
    "name": "Base",
    "chainId": 8453,
    "caip2": "eip155:8453"
  },
  "settlementAsset": {
    "symbol": "USDC",
    "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "decimals": 6
  },
  "sourceOfTruth": {
    "x402Manifest": "https://api.odei.ai/.well-known/x402.json",
    "x402Metadata": "https://api.odei.ai/.well-known/x402-metadata.json",
    "agentCard": "https://api.odei.ai/.well-known/agent-card.json",
    "plansEndpoint": "https://api.odei.ai/api/agent-access/plans",
    "quoteEndpoint": "https://api.odei.ai/api/agent-access/quote",
    "claimEndpoint": "https://api.odei.ai/api/agent-access/claim",
    "receiptEndpointTemplate": "https://api.odei.ai/api/agent-access/claims/{claimId}"
  },
  "capabilities": {
    "fallbackReceiptClaim": {
      "status": "live",
      "currentState": "quote_base_usdc_transfer_claim_activation_packet_redacted_receipt",
      "network": "eip155:8453",
      "asset": "USDC",
      "description": "Current production fallback: the agent requests a quote, sends USDC on Base, submits the transaction hash, receives an activation packet plus X-Api-Key once, and can later fetch a redacted receipt."
    },
    "x402": {
      "status": "planned",
      "currentState": "discovery_manifest_live_http_402_middleware_planned",
      "facilitator": "https://api.cdp.coinbase.com/platform/v2/x402",
      "description": "Target paid HTTP rail for agent-native requests. ODEI discovery is live; protected routes must not be described as x402-enforced until they return real HTTP 402 payment challenges."
    },
    "baseAccount": {
      "status": "planned",
      "target": "User-owned identity, SIWE authority boundary, and revocation surface."
    },
    "basePay": {
      "status": "planned",
      "target": "One-time human activation checkout that can replace manual transfer UX for humans."
    },
    "baseSubscriptions": {
      "status": "planned",
      "target": "Recurring runtime access for human-owned ODEI runtimes."
    },
    "subAccounts": {
      "status": "planned",
      "target": "App-scoped operator wallets for delegated agent actions."
    },
    "spendPermissions": {
      "status": "planned",
      "target": "Token, amount, and time scoped budgets that let agents operate without owning the user's wallet."
    },
    "agentKitCdpSdk": {
      "status": "planned",
      "target": "Governed onchain agent operations behind ODEI policy checks and receipts."
    },
    "baseMcp": {
      "status": "planned",
      "target": "Optional user-approved onchain execution rail for MCP-capable agents."
    },
    "builderCodes": {
      "status": "planned",
      "target": "Attribution for ODEI-originated onchain actions through ERC-8021 data suffixes."
    },
    "paymaster": {
      "status": "planned",
      "target": "Gas sponsorship for allowlisted smart-account flows only."
    },
    "standardWebApp": {
      "status": "planned",
      "target": "Base App compatible transaction and wallet capability surface where it strengthens distribution without weakening user custody."
    },
    "onchainKit": {
      "status": "not_new_foundation",
      "decision": "Do not build new ODEI work on OnchainKit; use wagmi, viem, Base Account SDK, and CDP SDKs for new Base integrations."
    }
  },
  "operatingRules": [
    "Do not describe planned capabilities as live.",
    "Treat x402 middleware as planned until protected routes return real HTTP 402 challenges.",
    "Treat manual USDC quote and claim as fallback receipt claim, not as the target x402 implementation.",
    "Keep the human as owner and the agent as operator.",
    "Do not build new ODEI surfaces on OnchainKit."
  ],
  "multiChainExpansion": {
    "status": "planned_after_base_contract_stabilizes",
    "adapterBoundaries": [
      "chain identity",
      "settlement asset",
      "payment facilitator",
      "wallet authority",
      "policy engine",
      "receipt verifier"
    ]
  },
  "referenceDocs": {
    "baseAccount": "https://docs.base.org/base-account/overview/what-is-base-account",
    "basePay": "https://docs.base.org/base-account/guides/accept-payments",
    "baseSubscriptions": "https://docs.base.org/base-account/guides/accept-recurring-payments",
    "subAccounts": "https://docs.base.org/base-account/improve-ux/sub-accounts",
    "spendPermissions": "https://docs.base.org/base-account/improve-ux/spend-permissions",
    "baseMcp": "https://docs.base.org/ai-agents",
    "builderCodes": "https://docs.base.org/apps/builder-codes/builder-codes",
    "x402": "https://docs.cdp.coinbase.com/x402/welcome",
    "agentKit": "https://docs.cdp.coinbase.com/agent-kit/welcome",
    "cdpWallets": "https://docs.cdp.coinbase.com/wallets/using-wallets/create-and-manage-wallets",
    "paymaster": "https://docs.cdp.coinbase.com/paymaster/introduction/welcome",
    "onchainKitMigration": "https://docs.base.org/onchainkit/fund/types"
  }
}
