{
  "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",
    "x402ActivationReadiness": "npm run check:x402-activation-readiness -- --require-configured --remote-host google-cloud-api --remote-audit-timeout-ms 20000",
    "x402ActivationReadinessReceiptBound": "npm run check:x402-activation-readiness -- --require-configured --remote-host google-cloud-api --remote-audit-timeout-ms 20000 --expect-cutover-receipt <private-activate-receipt> --expect-cutover-sequence <private-cutover-sequence-report>",
    "agentCard": "https://api.odei.ai/.well-known/agent-card.json",
    "plansEndpoint": "https://api.odei.ai/api/agent-access/plans",
    "signingDiscovery": "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."
    },
    "agentAccessSignatures": {
      "status": "live",
      "algorithm": "Ed25519",
      "discovery": "https://api.odei.ai/api/agent-access/plans",
      "target": "Quote, receipt, and activation packet authorship verification for external agents."
    },
    "x402": {
      "status": "challenge_preview_live",
      "currentState": "discovery_manifest_live_http_402_challenge_preview_live_settlement_planned",
      "facilitator": "https://api.cdp.coinbase.com/platform/v2/x402",
      "challenge": {
        "status": "live",
        "schema": "x402.v2.http-resource-challenge",
        "resourceShape": "top_level_resource_accepts_paymentRequirements",
        "requestHeader": "Accept-Payment: x402",
        "responseStatus": 402,
        "responseHeader": "PAYMENT-REQUIRED",
        "amountField": "accepts[].amount",
        "compatibilityFields": ["accepts[].amountRaw", "accepts[].maxAmountRequired"],
        "mimeType": "application/json",
        "protectedRoutes": [
          "GET /api/v2/world-model/live",
          "POST /api/v2/world-model/query",
          "POST /api/v2/guardrail/check"
        ]
      },
      "settlement": {
        "status": "planned",
        "requestHeader": "PAYMENT-SIGNATURE",
        "requiredConfiguration": [
          "ODEI_X402_SETTLEMENT_ENABLED=true",
          "ODEI_X402_FACILITATOR_URL=https://api.cdp.coinbase.com/platform/v2/x402",
          "ODEI_X402_FACILITATOR_BEARER_TOKEN",
          "ODEI_X402_ALLOW_NON_CANONICAL_FACILITATOR must be unset or false"
        ],
        "replayProtection": ["paymentPayloadHash", "paymentRequirementsHash", "transaction"],
        "readinessGate": {
          "gate": "check:x402-activation-readiness",
          "command": "npm run check:x402-activation-readiness -- --require-configured --remote-host google-cloud-api --remote-audit-timeout-ms 20000",
          "receiptBoundCommand": "npm run check:x402-activation-readiness -- --require-configured --remote-host google-cloud-api --remote-audit-timeout-ms 20000 --expect-cutover-receipt <private-activate-receipt> --expect-cutover-sequence <private-cutover-sequence-report>",
          "requiredPrivateEvidence": ["activate-receipt.json", "cutover-sequence-report.json"],
          "mode": "read_only_invalid_signature_no_payment_no_base_no_cdp_no_llm"
        }
      },
      "description": "Target paid HTTP rail for agent-native requests. ODEI discovery and opt-in HTTP 402 challenges are live; facilitator-backed settlement remains planned until PAYMENT-SIGNATURE verification and the activation readiness gate pass."
    },
    "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 verify PAYMENT-SIGNATURE through the facilitator and check:x402-activation-readiness passes with --require-configured.",
    "Treat x402 challenge preview as live only for explicit Accept-Payment: x402 requests.",
    "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"
  }
}
