{
  "name": "pob-w3",
  "version": "2026-04-03",
  "summary": "PoB chain operator surface for humans, browser agents, and local CLI automation.",
  "defaultEnvironment": "sandbox",
  "environment": {
    "projectId": "pob-chain",
    "rpcUrl": "https://pob-evm-sandbox-59356735197.us-central1.run.app/rpc",
    "pakeUrl": "https://pakesvc-sandbox-59356735197.us-central1.run.app",
    "pobSvcUrl": "https://pobsvc-sandbox-59356735197.us-central1.run.app",
    "merchantApiUrl": "https://pob-merchant-api-sandbox-59356735197.us-central1.run.app"
  },
  "entrypoints": {
    "landingPage": "/index.html#ai-agents",
    "dashboardPage": "/dashboard/index.html",
    "llms": "/llms.txt",
    "whitePaper": "/docs/pob.pdf",
    "x402Docs": "/docs/proposals/x402.md",
    "x402PoBEscrow": "/docs/proposals/x402-pob-escrow.md",
    "mppIntent": "/docs/proposals/mpp/draft-payment-intent-escrow-00.md",
    "mppPoBEscrow": "/docs/proposals/mpp/draft-pob-escrow-00.md",
    "mppDocs": "/docs/proposals/mpp.md",
    "workflowDoc": "/docs/enroll-pob-chain.md",
    "jsApiDoc": "/docs/js-api.md",
    "cli": "/cli.mjs"
  },
  "definitions": {
    "paymentReady": [
      "merchant contract is registered in the on-chain registry",
      "token contract is registered in the on-chain registry",
      "merchant owner API token exists",
      "fee owner API token exists",
      "customer merchant settlement wallet is linked",
      "customer fee settlement wallet is derivable"
    ]
  },
  "commands": [
    {
      "name": "capabilities",
      "description": "Emit this manifest or a summarized capabilities view."
    },
    {
      "name": "register-user",
      "description": "Create a user and wallet."
    },
    {
      "name": "generate-api-token",
      "description": "Generate and locally store a long-term API token for the active owner account."
    },
    {
      "name": "list-contracts",
      "description": "List contracts from the registry."
    },
    {
      "name": "describe-contract",
      "description": "Describe one registry contract by name."
    },
    {
      "name": "payment-ready-check",
      "description": "Verify whether a customer and merchant contract are payment-ready."
    },
    {
      "name": "merchant-register",
      "description": "Link the customer to a merchant and provision settlement wallets."
    }
  ],
  "browserApi": {
    "global": "window.SPAAdapter",
    "methods": [
      "register",
      "login",
      "connectWallet",
      "getAllContractNamesFromRegistry",
      "getContractFromRegistry",
      "getMerchantConfiguration",
      "getSettlementWalletsForContract",
      "getStoredApiTokensForContract",
      "generateMerchantApiToken",
      "merchantRegister",
      "merchantHold",
      "merchantSettle"
    ]
  },
  "preferredWorkflow": {
    "id": "payment-ready",
    "steps": [
      "generate fee owner API token",
      "generate merchant owner API token",
      "register customer if needed",
      "run merchant-register",
      "run payment-ready-check"
    ]
  }
}
