Ontario Protocol

Did this Base payment settle? Status, block, timestamp and confirmations for one transaction hash, with its ERC-20 Transfers decoded (token, from, to, amount; up to 100 listed, transfers_total gives the full count) and any EIP-3009 authorization used, plus match flags for an optional expected payTo and amount, so an x402 PAYMENT-RESPONSE can be checked. Required: hash. $0.002 USDC on Base. Transaction not found, no charge. No account, no API key. Base mainnet only. By Ontario Protocol.

OtherLiveeip155:8453Exactvia cdp
Verify base transactionx402 payment receiptDid payment settleUsdc transfer checkBase
Settlements · 30d
12
No per-endpoint history for this service yet, so this is payments indexed to its PROVIDER's wallet over 30 days.
$10.33
Verified settled volume
33 settlements proven x402 by their on-chain EIP-3009 marker.
$0.0020
Listed price
As published in the catalog. Always read the live 402 before paying.
2
Calls · 30d
Upstream's own call count for this endpoint, not ours.
2
Unique payers · 30d
Last called 2026-10-26 01:14Z
—
Upstream on-chain volume
Reported by the source catalog.
Paid to
0xa2d72aBF2C5e939fdDCA4156B74dE482e03CA3ec

The wallet the 402 directs payment to. Its whole payment record — every payer, every chain — is on the merchant page.

Asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

Provider

The payTo wallet does not resolve to a registered ERC-8004 agent. That is not a verdict on the service — most of the catalog is unregistered.

Live 402 challenge

Captured by the enrichment pass, not read just now. Prices can change — always read the 402 the endpoint answers with.

{
  "error": "Payment required",
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2",
        "quote_id": "58ec1d03e2b44de4b6e519cf53ac18d7",
        "resourceUrl": "https://ontarioprotocol.com/api/x402/base/tx-check",
        "quote_expires_at": 1793017259
      },
      "payTo": "0xa2d72aBF2C5e939fdDCA4156B74dE482e03CA3ec",
      "amount": "2000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "quote_id": "58ec1d03e2b44de4b6e519cf53ac18d7",
  "resource": {
    "url": "https://ontarioprotocol.com/api/x402/base/tx-check",
    "tags": [
      "verify base transaction",
      "x402 payment receipt",
      "did payment settle",
      "usdc transfer check",
      "base"
    ],
    "iconUrl": "https://ontarioprotocol.com/static/ontario-logo-192.png",
    "mimeType": "application/json",
    "description": "Did this Base payment settle? Status, block, timestamp and confirmations for one transaction hash, with its ERC-20 Transfers decoded (token, from, to, amount; up to 100 listed, transfers_total gives the full count) and any EIP-3009 authorization used, plus match flags for an optional expected payTo and amount, so an x402 PAYMENT-RESPONSE can be checked. Required: hash. $0.002 USDC on Base. Transaction not found, no charge. No account, no API key. Base mainnet only. By Ontario Protocol.",
    "serviceName": "Ontario Protocol"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "type": "http",
          "method": "GET",
          "queryParams": {
            "hash": "0xfe14a1712c65c815f1f056cb6b2fbe0f72b2b44eee0990bab5ece2914d7a0883",
            "expected_to": "0xa2d72aBF2C5e939fdDCA4156B74dE482e03CA3ec",
            "expected_amount": "500000"
          }
        },
        "output": {
          "example": {
            "to": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "from": "0x2A89407a98A0732b7fD578c4E156B7166540EB5A",
            "hash": "0xfe14a1712c65c815f1f056cb6b2fbe0f72b2b44eee0990bab5ece2914d7a0883",
            "block": 51838957,
            "schema": "ontario.base_tx_check.v1",
            "source": "Base RPC",
            "status": "success",
            "network": "eip155:8453",
            "read_at": "2026-10-25T00:46:05Z",
            "expected": {
              "to": "0xa2d72aBF2C5e939fdDCA4156B74dE482e03CA3ec",
              "rule": "Any USDC Transfer in the transaction; with expected_to set, the amount must be on a transfer to it.",
              "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
              "to_matches": true,
              "amount_atomic": "500000",
              "amount_matches": true
            },
            "gas_used": 86302,
            "timestamp": "2026-09-27T00:01:01Z",
            "transfers": [
              {
                "to": "0xa2d72aBF2C5e939fdDCA4156B74dE482e03CA3ec",
                "raw": "500000",
                "from": "0xc9c7b38C0942914fC8EA12063BC92dcd3b581670",
                "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "symbol": "USDC",
                "decimals": 6,
                "formatted": "0.5"
              }
            ],
            "block_hash": "0xa6d26e6d5666d11350491e89b07659b8887804b3d6d7fac532c4da1ec4a4fceb",
            "usdc_payment": {
              "payer": "0xc9c7b38C0942914fC8EA12063BC92dcd3b581670",
              "recipient": "0xa2d72aBF2C5e939fdDCA4156B74dE482e03CA3ec",
              "amount_usdc": "0.5",
              "amount_atomic": "500000",
              "eip3009_authorization_observed": true
            },
            "confirmations": 1210953,
            "transfers_total": 1,
            "authorizations_used": [
              {
                "nonce": "0x366fed83f5c2c8d619f993a8d33c75765208dde91a214676944640d98d040178",
                "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "authorizer": "0xc9c7b38C0942914fC8EA12063BC92dcd3b581670"
              }
            ],
            "effective_gas_price_wei": "6857500"
          }
        }
      },
      "schema": {
        "type": "object",
        "required": [
          "input",
          "output"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "queryParams"
            ],
            "properties": {
              "queryParams": {
                "type": "object",
                "required": [
                  "hash"
                ],
                "properties": {
                  "hash": {
                    "type": "string",
                    "pattern": "^0x[0-9a-fA-F]{64}$",
                    "description": "Base mainnet transaction hash."
                  },
                  "expected_to": {
                    "type": "string",
                    "pattern": "^0x[0-9a-fA-F]{40}$",
                    "description": "Optional payTo address the USDC transfer should reach."
                  },
                  "expected_amount": {
                    "type": "string",
                    "pattern": "^[0-9]{1,78}$",
                    "description": "Optional USDC amount in atomic units, for example 500000 for 0.5 USDC."
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "output": {
            "type": "object",
            "required": [
              "example"
            ],
            "properties": {
              "example": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}

Accepts

The payment requirements as published to the catalog. Read the live 402 before paying — a price here is a claim, not a quote.

0.002USDC≈ $0.002 USD
on Base · exact scheme

Pay 0.002 USDC on Base to 0xa2d7…CA3ec. The signed payment is good for 5 minutes.

USD Coin contract
0x8335…02913
Payment window
5 minutes
As published
2000 smallest units
The catalog’s raw entry
[
  {
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "extra": {
      "name": "USD Coin",
      "version": "2",
      "quote_id": "88c5abe9519644ecbe7303c0c3596238",
      "resourceUrl": "https://ontarioprotocol.com/api/x402/base/tx-check",
      "quote_expires_at": 1792977589
    },
    "payTo": "0xa2d72aBF2C5e939fdDCA4156B74dE482e03CA3ec",
    "amount": "2000",
    "scheme": "exact",
    "network": "eip155:8453",
    "maxTimeoutSeconds": 300
  }
]

Extensions

{
  "bazaar": {
    "info": {
      "input": {
        "type": "http",
        "method": "GET",
        "queryParams": {
          "hash": "0xfe14a1712c65c815f1f056cb6b2fbe0f72b2b44eee0990bab5ece2914d7a0883",
          "expected_to": "0xa2d72aBF2C5e939fdDCA4156B74dE482e03CA3ec",
          "expected_amount": "500000"
        }
      },
      "output": {
        "example": {
          "to": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "from": "0x2A89407a98A0732b7fD578c4E156B7166540EB5A",
          "hash": "0xfe14a1712c65c815f1f056cb6b2fbe0f72b2b44eee0990bab5ece2914d7a0883",
          "block": 51838957,
          "schema": "ontario.base_tx_check.v1",
          "source": "Base RPC",
          "status": "success",
          "network": "eip155:8453",
          "read_at": "2026-10-25T00:46:05Z",
          "expected": {
            "to": "0xa2d72aBF2C5e939fdDCA4156B74dE482e03CA3ec",
            "rule": "Any USDC Transfer in the transaction; with expected_to set, the amount must be on a transfer to it.",
            "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "to_matches": true,
            "amount_atomic": "500000",
            "amount_matches": true
          },
          "gas_used": 86302,
          "timestamp": "2026-09-27T00:01:01Z",
          "transfers": [
            {
              "to": "0xa2d72aBF2C5e939fdDCA4156B74dE482e03CA3ec",
              "raw": "500000",
              "from": "0xc9c7b38C0942914fC8EA12063BC92dcd3b581670",
              "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
              "symbol": "USDC",
              "decimals": 6,
              "formatted": "0.5"
            }
          ],
          "block_hash": "0xa6d26e6d5666d11350491e89b07659b8887804b3d6d7fac532c4da1ec4a4fceb",
          "usdc_payment": {
            "payer": "0xc9c7b38C0942914fC8EA12063BC92dcd3b581670",
            "recipient": "0xa2d72aBF2C5e939fdDCA4156B74dE482e03CA3ec",
            "amount_usdc": "0.5",
            "amount_atomic": "500000",
            "eip3009_authorization_observed": true
          },
          "confirmations": 1210953,
          "transfers_total": 1,
          "authorizations_used": [
            {
              "nonce": "0x366fed83f5c2c8d619f993a8d33c75765208dde91a214676944640d98d040178",
              "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
              "authorizer": "0xc9c7b38C0942914fC8EA12063BC92dcd3b581670"
            }
          ],
          "effective_gas_price_wei": "6857500"
        }
      }
    },
    "schema": {
      "type": "object",
      "required": [
        "input",
        "output"
      ],
      "properties": {
        "input": {
          "type": "object",
          "required": [
            "queryParams"
          ],
          "properties": {
            "queryParams": {
              "type": "object",
              "required": [
                "hash"
              ],
              "properties": {
                "hash": {
                  "type": "string",
                  "pattern": "^0x[0-9a-fA-F]{64}$",
                  "description": "Base mainnet transaction hash."
                },
                "expected_to": {
                  "type": "string",
                  "pattern": "^0x[0-9a-fA-F]{40}$",
                  "description": "Optional payTo address the USDC transfer should reach."
                },
                "expected_amount": {
                  "type": "string",
                  "pattern": "^[0-9]{1,78}$",
                  "description": "Optional USDC amount in atomic units, for example 500000 for 0.5 USDC."
                }
              },
              "additionalProperties": false
            }
          }
        },
        "output": {
          "type": "object",
          "required": [
            "example"
          ],
          "properties": {
            "example": {
              "type": "object",
              "additionalProperties": true
            }
          }
        }
      }
    }
  }
}

Provenance

Seen in the source catalog
2026-10-26 01:14Z
Last indexed by Roundhouse
2026-10-26 22:40Z
Last enriched (probe, favicon, geo)
2026-10-26 12:15Z
x402 version
2
Max timeout
300s
Liveness probe
HTTP 402
Report

Hand this page to an agent

Copy the prompt and paste it into Claude, an MCP client or your own agent — it will vet this service and call it over the free read API. No key, no account.

GET api.roundhouseai.io/v0/endpoints

No per-endpoint history for this service yet, so this is payments indexed to its PROVIDER's wallet over 30 days. Verified volume counts only settlements with an on-chain EIP-3009 marker.

Open skill.md
Show the prompt
Using Roundhouse, look up the x402 service Ontario Protocol and tell me whether it is
worth paying: what a call costs, whether the endpoint answered when last probed, and what
its payment record actually shows.

curl -s 'https://api.roundhouseai.io/v0/endpoints?q=Ontario%20Protocol'
curl -s 'https://api.roundhouseai.io/v0/merchants/<the payTo wallet returned above>'

Then call it: read the price from the live 402 at https://ontarioprotocol.com/api/x402/base/tx-check, never from
a cached figure, and pay with an x402 client.

The /v0 API needs an API key (`authorization: Bearer rh_live_…`) on everything except
/v0/unified* and /v0/endpoints. Either pay over x402 (mint a personal key for $0.01 at
GET https://api.roundhouseai.io/v0/test/x402), or ask me for an organization key, which I create at
https://roundhouseai.io/dashboard/connections. If you have neither, ask before going further.

If you do not have Roundhouse tools or skills installed, read
https://roundhouseai.io/skill.md first — it is the whole procedure.