{
  "name": "Poncho",
  "protocol": "poncho/1",
  "description": "One USDG balance on Robinhood Chain, spent on any listed API route with a signed note per call.",
  "url": "https://poncho.cash",
  "chain": {
    "id": 4663,
    "name": "Robinhood Chain",
    "rpc": "https://rpc.mainnet.chain.robinhood.com",
    "explorer": "https://robinhoodchain.blockscout.com",
    "settlement_token": {
      "address": "0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168",
      "symbol": "USDG",
      "decimals": 6
    },
    "multicall3": "0xcA11bde05977b3631167028862bE2a173976CA11"
  },
  "contracts": {
    "vault": "0x50bE744e956D9d64D1a0Fd5b899874BCFad54DeC",
    "registry": "0x32c38e7fD4dFB27F84de8A4FBE7417A65d5bACA2",
    "staking": "0x327aDf6A1d6a1619702FD32f65a21FAf8C7D29f6",
    "requests": "0x5487d026cF1885588A082CBfAAeB6C362982bF2C",
    "deploy_block": 70430434
  },
  "eip712": {
    "domain": {
      "name": "Poncho",
      "version": "1",
      "chainId": 4663,
      "verifyingContract": "0x50bE744e956D9d64D1a0Fd5b899874BCFad54DeC"
    },
    "primary_type": "SpendNote",
    "type": "SpendNote(address payer,address agent,address provider,uint256 serviceId,uint256 routeId,uint256 amount,uint256 nonce,uint64 deadline)",
    "fields": [
      {
        "name": "payer",
        "type": "address"
      },
      {
        "name": "agent",
        "type": "address"
      },
      {
        "name": "provider",
        "type": "address"
      },
      {
        "name": "serviceId",
        "type": "uint256"
      },
      {
        "name": "routeId",
        "type": "uint256"
      },
      {
        "name": "amount",
        "type": "uint256"
      },
      {
        "name": "nonce",
        "type": "uint256"
      },
      {
        "name": "deadline",
        "type": "uint64"
      }
    ]
  },
  "headers": {
    "note": "X-Poncho-Note",
    "quote": "X-Poncho-Quote",
    "note_encoding": "base64url of {\"note\":{...},\"signature\":\"0x...\"} as JSON, no padding"
  },
  "payment_required": {
    "status": 402,
    "content_type": "application/json",
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "title": "Poncho 402 payment required",
      "type": "object",
      "required": [
        "error",
        "protocol",
        "chainId",
        "vault",
        "quote"
      ],
      "properties": {
        "error": {
          "const": "payment_required"
        },
        "protocol": {
          "const": "poncho/1"
        },
        "chainId": {
          "type": "integer",
          "const": 4663
        },
        "vault": {
          "type": "string",
          "description": "The PonchoVault the note is signed against, 0x hex."
        },
        "header": {
          "type": "string",
          "default": "X-Poncho-Note",
          "description": "Where the signed note goes on the retry."
        },
        "docs": {
          "type": "string",
          "description": "Optional link to the provider documentation."
        },
        "quote": {
          "type": "object",
          "required": [
            "provider",
            "amount",
            "nonce",
            "deadline"
          ],
          "properties": {
            "provider": {
              "type": "string",
              "description": "Who is paid, and the only address that may redeem the note."
            },
            "serviceId": {
              "type": "string",
              "description": "PonchoRegistry service id, decimal. \"0\" when the route is not listed."
            },
            "routeId": {
              "type": "string",
              "description": "PonchoRegistry route id, decimal. \"0\" when the route is not listed."
            },
            "amount": {
              "type": "string",
              "description": "USDG atoms, 6 decimals, decimal string."
            },
            "nonce": {
              "type": "string",
              "description": "Any value the provider picks, decimal string. The note hash is what is consumed."
            },
            "deadline": {
              "type": "integer",
              "description": "Unix seconds after which the note cannot be redeemed."
            }
          }
        }
      }
    }
  },
  "categories": [
    {
      "id": 0,
      "key": "search",
      "label": "Search"
    },
    {
      "id": 1,
      "key": "data",
      "label": "Data"
    },
    {
      "id": 2,
      "key": "creative",
      "label": "Creative"
    },
    {
      "id": 3,
      "key": "developer",
      "label": "Developer"
    },
    {
      "id": 4,
      "key": "finance",
      "label": "Finance"
    },
    {
      "id": 5,
      "key": "commerce",
      "label": "Commerce"
    },
    {
      "id": 6,
      "key": "social",
      "label": "Social"
    },
    {
      "id": 7,
      "key": "compute",
      "label": "Compute"
    },
    {
      "id": 8,
      "key": "other",
      "label": "Other"
    }
  ],
  "token": {
    "symbol": "PONCHO",
    "address": "0x48925b900b556d4FD317a0DD8752e6247bDe8c1f",
    "launchpad": "https://www.ponsfamily.com"
  },
  "abi": [
    "https://poncho.cash/protocol/abi/vault.json",
    "https://poncho.cash/protocol/abi/registry.json",
    "https://poncho.cash/protocol/abi/staking.json",
    "https://poncho.cash/protocol/abi/requests.json",
    "https://poncho.cash/protocol/abi/erc20.json"
  ],
  "docs": [
    "https://poncho.cash/docs/api",
    "https://poncho.cash/protocol/agents.md",
    "https://poncho.cash/llms.txt"
  ],
  "status": "https://poncho.cash/api/status"
}
