← The evidence ledger
Evidence row 542647
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 7473a24b-c6e9-4dcd-96c3-2cb68704badc
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 7f16a0ac209394165ca7327a75d6cb43ad8fac1caee92a05f0755b8d86b8ca04
- Leaf
- 0xa28a6234ce4f78567c378b0ee5c7e97d4a87a7242975cad52fd92c17e37cfc19
What was observed
{
"count": 20,
"tools": [
{
"description": "Free pre-payment policy decision: allow, review, or deny for one x402 endpoint under strict, standard, or permissive policy, with reasons and report evidence. require_audit_receipt adds a handoff to the optional settlement-backed receipt.",
"inputSchema": {
"properties": {
"agent_policy": {
"description": "Readiness policy to apply. Use strict unless the operator explicitly permits a different policy.",
"enum": [
"strict",
"standard",
"permissive"
],
"type": "string"
},
"endpoint": {
"description": "Public x402 endpoint to evaluate before payment; never include credentials or private query parameters.",
"type": "string"
},
"max_usdc": {
"description": "Caller-approved per-call spending ceiling in decimal USDC, for example 0.01. This check never spends funds.",
"type": "string"
},
"require_audit_receipt": {
"default": false,
"description": "Explicitly request the optional paid receipt handoff after an allow decision. This does not submit payment.",
"type": "boolean"
}
},
"required": [
"endpoint"
],
"type": "object"
},
"name": "agent_can_pay"
},
{
"description": "Free live, rate-limited agent trust preview for one public endpoint. Returns safe signals and issues without the paid evidence bundle or attestation; the paid trust scan adds them.",
"inputSchema": {
"properties": {
"agent_id": {
"description": "Optional stable public agent identifier to associate with the preview.",
"maxLength": 120,
"type": "string"
},
"target_url": {
"description": "Public HTTPS agent card or endpoint to preview without payment; never include private hosts or credentials.",
"format": "uri",
"type": "string"
}
},
"required": [
"target_url"
],
"type": "object"
},
"name": "agent_trust_preview"
},
{
"description": "Free read-only provider audit that runs Coinbase's indexing preflight and measures one public x402 endpoint across five live CDP Bazaar buyer-search variations. Returns retrieval coverage, observed sample ranks, alternatives, public 30-day call and unique-payer observations, Base USDC price bands, HTTP 402 and metadata readiness, and the activation boundary. Public quality counts may include owner-funded calls and are not revenue. It never signs or settles.",
"inputSchema": {
"properties": {
"buyer_queries": {
"description": "Optional explicit portfolio of up to five public buyer phrases. When omitted, Ontario generates four deterministic variants from buyer_query.",
"items": {
"maxLength": 160,
"minLength": 3,
"type": "string"
},
"maxItems": 5,
"minItems": 1,
"type": "array"
},
"buyer_query": {
"description": "Public task phrase a funded agent could use in CDP Bazaar search; never include credentials or private customer text.",
"maxLength": 160,
"minLength": 3,
"type": "string"
},
"target_url": {
"description": "Public x402 paid endpoint whose buyer visibility should be measured.",
"format": "uri",
"type": "string"
}
},
"required": [
"target_url",
"buyer_query"
],
"type": "object"
},
"name": "bazaar_buyer_intent_gap"
},
{
"description": "Free buyer-side search across Ontario's fresh strict-ready paid profiles, Agentic Market, and Coinbase CDP Bazaar. Returns unverified marketplace candidates ranked by task relevance plus bounded source-reported recent activity, with optional Base/USDC budget filtering; nothing is probed, so listings may be dead or mispriced. ontario_find-api returns live-checked candidates. Paid Ontario publication adds no ranking score. Provider-side publication queries return the free listing validator and the 0.50 USDC publication workflow.",
"inputSchema": {
"properties": {
"active_only": {
"default": true,
"description": "When true, require recent source-reported activity or fresh strict-ready Ontario profile evidence.",
"type": "boolean"
},
"limit": {
"default": 5,
"description": "Maximum number of task-matched candidates to return, from 1 to 10.",
"maximum": 10,
"minimum": 1,
"type": "integer"
},
"max_usdc": {
"description": "Optional hard USDC price ceiling for returned candidates.",
"type": "string"
},
"network": {
"description": "Optional network filter, for example eip155:8453 or base.",
"type": "string"
},
"query": {
"description": "Public task text only; never include credentials or private customer data.",
"maxLength": 160,
"minLength": 3,
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "find_x402_tool"
},
{
"description": "Free pre-deployment scan of one public GitHub repository for x402 implementation, HTTP 402 tests, payment configuration, buyer documentation, discovery metadata, CI gates, and sensitive filenames. Returns paths and remediation, never source contents.",
"inputSchema": {
"properties": {
"repository_url": {
"description": "Public https://github.com/owner/repo URL.",
"format": "uri",
"type": "string"
}
},
"required": [
"repository_url"
],
"type": "object"
},
"name": "github_x402_repo_scan"
},
{
"description": "What does this Base wallet hold? ETH, USDC and about 25 widely held Base tokens, plus up to 20 ERC-20 contracts you name, with symbol, decimals, raw and formatted amounts and the block number read, live from Base RPC. Required: address. $0.002 USDC on Base. Failed read, no charge. No account, no API key. Base mainnet only; no prices or USD values; tokens outside the list and your extras are not discovered. By Ontario Protocol. [PAID: 0.002 USDC via x402 on Base. Two-step flow: a call without payment returns MCP PaymentRequired; the retry carries the signed PaymentPayload in params._meta['x402/payment']. The legacy _x402_payment base64 argument is also supported. Signing happens in the caller's wallet.]",
"inputSchema": {
"additionalProperties": false,
"properties": {
"_x402_payment": {
"description": "base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first.",
"type": "string"
},
"address": {
"description": "Base wallet or contract address to read.",
"pattern": "^0x[0-9a-fA-F]{40}$",
"type": "string"
},
"tokens": {
"description": "Optional comma-separated ERC-20 contract addresses to read as well, max 20.",
"type": "string"
}
},
"required": [
"address"
],
"type": "object"
},
"name": "ontario_base-balances"
},
{
"description": "What does a Base transaction cost right now? Base fee, priority-fee p25/p50/p90 over the last 20 blocks, suggested maxFeePerGas and maxPriorityFeePerGas for slow, normal and fast inclusion, an L1 data-fee upper bound, and estimated total cost in wei for an ETH transfer and an ERC-20 transfer, read live from Base RPC with the block number. $0.0015 USDC on Base. Failed read, no charge. No account, no API key. Estimates, not inclusion guarantees. By Ontario Protocol. [PAID: 0.0015 USDC via x402 on Base. Two-step flow: a call without payment returns MCP PaymentRequired; the retry carries the signed PaymentPayload in params._meta['x402/payment']. The legacy _x402_payment base64 argument is also supported. Signing happens in the caller's wallet.]",
"inputSchema": {
"additionalProperties": false,
"properties": {
"_x402_payment": {
"description": "base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first.",
"type": "string"
},
"blocks": {
"default": 20,
"description": "Optional number of recent blocks the fee percentiles cover, 5 to 50. Default 20.",
"maximum": 50,
"minimum": 5,
"type": "integer"
}
},
"type": "object"
},
"name": "ontario_base-gas"
},
{
"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. [PAID: 0.002 USDC via x402 on Base. Two-step flow: a call without payment returns MCP PaymentRequired; the retry carries the signed PaymentPayload in params._meta['x402/payment']. The legacy _x402_payment base64 argument is also supported. Signing happens in the caller's wallet.]",
"inputSchema": {
"additionalProperties": false,
"properties": {
"_x402_payment": {
"description": "base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first.",
"type": "string"
},
"expected_amount": {
"description": "Optional USDC amount in atomic units, for example 500000 for 0.5 USDC.",
"pattern": "^[0-9]{1,78}$",
"type": "string"
},
"expected_to": {
"description": "Optional payTo address the USDC transfer should reach.",
"pattern": "^0x[0-9a-fA-F]{40}$",
"type": "string"
},
"hash": {
"description": "Base mainnet transaction hash.",
"pattern": "^0x[0-9a-fA-F]{64}$",
"type": "string"
}
},
"required": [
"hash"
],
"type": "object"
},
"name": "ontario_base-tx-check"
},
{
"description": "Which x402 API should my agent call? Live API finder for any task. Required: task. Returns up to 5 paid APIs that answered a fresh unpaid probe with a valid Base USDC 402, ranked by task fit, price and Bazaar-reported repeat buyers, each with live price, network and a ready-to-call request. Provider calls are paid separately. No live match, no charge. $0.005 USDC on Base. No account, no API key. Recommendations, not a safety guarantee. By Ontario Protocol. [PAID: 0.005 USDC via x402 on Base. Two-step flow: a call without payment returns MCP PaymentRequired; the retry carries the signed PaymentPayload in params._meta['x402/payment']. The legacy _x402_payment base64 argument is also supported. Signing happens in the caller's wallet.]",
"inputSchema": {
"properties": {
"_x402_payment": {
"description": "base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first.",
"type": "string"
},
"limit": {
"default": 3,
"description": "Number of live-verified APIs to return, 1 to 5.",
"maximum": 5,
"minimum": 1,
"type": "integer"
},
"max_usdc": {
"description": "Optional per-call price ceiling in USDC for returned APIs, e.g. '0.01'.",
"type": "string"
},
"task": {
"description": "Public task text, e.g. 'web search for an AI agent'. Never include credentials or private data.",
"maxLength": 160,
"minLength": 3,
"type": "string"
}
},
"required": [
"task"
],
"type": "object"
},
"name": "ontario_find-api"
},
{
"description": "Submits a public directory listing for an agent the caller owns. Payload validation is free; payment does not guarantee approval, traffic, ranking, or safety. [PAID: 0.10 USDC via x402 on Base. Two-step flow: a call without payment returns MCP PaymentRequired; the retry carries the signed PaymentPayload in params._meta['x402/payment']. The legacy _x402_payment base64 argument is also supported. Signing happens in the caller's wallet.]",
"inputSchema": {
"properties": {
"_x402_payment": {
"description": "base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first.",
"type": "string"
},
"agent_card_url": {
"description": "Public HTTPS agent card URL for the listing.",
"format": "uri",
"type": "string"
},
"description": {
"description": "Public description of the agent's capabilities.",
"type": "string"
},
"name": {
"description": "Public name of the agent being listed.",
"minLength": 1,
"type": "string"
},
"owner_contact": {
"description": "Optional owner contact supplied for the listing; do not include secrets.",
"type": "string"
},
"owner_url": {
"description": "Optional public owner website.",
"format": "uri",
"type": "string"
},
"tags": {
"description": "Capability tags describing the agent.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"name",
"agent_card_url"
],
"type": "object"
},
"name": "ontario_list-agent"
},
{
"description": "Publish a provider-owned x402 API so AI agents can discover and buy it. After free validation and a Bazaar buyer-intent audit, the 0.50 USDC Launch Passport creates a signed public HTML/JSON profile, readiness and Coinbase indexing evidence, a five-query retrieval snapshot, badge, copy-ready MCP/catalog records, and 30 days of freshness maintenance. It can become eligible for strict Ontario discovery when evidence is ready and fresh. It does not guarantee Coinbase placement, ranking, traffic, purchases, a ready grade, or safety. [PAID: 0.50 USDC via x402 on Base. Two-step flow: a call without payment returns MCP PaymentRequired; the retry carries the signed PaymentPayload in params._meta['x402/payment']. The legacy _x402_payment base64 argument is also supported. Signing happens in the caller's wallet.]",
"inputSchema": {
"properties": {
"_x402_payment": {
"description": "base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first.",
"type": "string"
},
"asset": {
"description": "Payment token contract accepted by the provider on the declared network.",
"type": "string"
},
"buyer_query": {
"description": "Public task phrase used for the point-in-time Bazaar retrieval audit. It may appear in the public profile.",
"maxLength": 160,
"minLength": 3,
"type": "string"
},
"category": {
"description": "Public capability category for the service, not a claim of certification.",
"type": "string"
},
"description": {
"description": "Public buyer task, expected result, and important service limitations; do not include confidential text.",
"minLength": 1,
"type": "string"
},
"endpoint": {
"description": "Provider-owned public HTTPS x402 endpoint to list. Never include secrets or sensitive query parameters.",
"format": "uri",
"type": "string"
},
"mcp_remote_url": {
"description": "Optional public MCP remote for read-only initialize and tools/list checks.",
"format": "uri",
"maxLength": 500,
"type": "string"
},
"mcp_server_json_url": {
"description": "Optional public MCP Registry record or exact-search JSON URL.",
"format": "uri",
"maxLength": 500,
"type": "string"
},
"mcp_server_name": {
"description": "Optional exact MCP Registry server name.",
"maxLength": 180,
"type": "string"
},
"method": {
"default": "POST",
"description": "HTTP method used to call the provider's endpoint.",
"type": "string"
},
"name": {
"description": "Public service name displayed on the provider profile.",
"minLength": 1,
"type": "string"
},
"network": {
"default": "base",
"description": "Provider payment network, for example base or eip155:8453. Ontario publication itself uses Base USDC.",
"type": "string"
},
"owner_contact": {
"description": "Optional provider contact retained for operations and omitted from public profiles. Omit when unnecessary; never send wallet credentials.",
"type": "string"
},
"owner_url": {
"description": "Public website identifying the provider; publication does not verify legal identity.",
"format": "uri",
"type": "string"
},
"price_atomic": {
"description": "Optional provider price in six-decimal USDC units: 10000 equals 0.01 USDC. Must match price_usdc when supplied.",
"minimum": 0,
"type": "integer"
},
"price_usdc": {
"description": "Provider endpoint price in decimal USDC, at most six decimal places. This is separate from Ontario's 0.50 USDC publication fee.",
"type": "string"
},
"source": {
"default": "direct_or_unknown",
"description": "Privacy-safe aggregate acquisition bucket; never a URL or query.",
"enum": [
"coinbase_bazaar",
"direct_or_unknown",
"github",
"google_search",
"internal_navigation",
"mcp_registry",
"other_search"
],
"type": "string"
},
"tags": {
"description": "Public capability tags for discovery, up to ten relevant labels.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"name",
"description",
"endpoint",
"price_usdc"
],
"type": "object"
},
"name": "ontario_list-service"
},
{
"description": "Free deterministic routing of one public task to Ontario's free and paid tools. Returns the matching tool and a decision (free_only, run_free_preflight, or paid_recommended with the tool's price, network and budget check). Natural endpoint-verification tasks route to the free readiness verifier, with the optional 0.002 USDC settlement-backed receipt disclosed. Provider jobs such as publishing, registering, or making an x402 endpoint discoverable route to the self-serve 0.50 USDC publication product and its free validator. Paid reads it can recommend: ontario_find-api (a live-checked paid API for a task), ontario_base-balances (Base wallet balances), ontario_base-tx-check (whether a Base transaction settled) and ontario_base-gas (current Base gas prices). Existing paid profiles route to the 0.10 USDC evidence refresh and its free refresh validator. Empty calls return task examples instead of guessing a purchase. This tool never invokes another tool, signs a payload, or spends funds.",
"inputSchema": {
"properties": {
"free_preflight_complete": {
"default": false,
"description": "True only after the recommended free check has completed for this task.",
"type": "boolean"
},
"max_usdc": {
"anyOf": [
{
"pattern": "^\\s*(?:[Uu][Ss][Dd][Cc]?\\s*)?\\$?\\s*(?:(?:0|[1-9][0-9]{0,2})(?:\\.[0-9]+)?|1000(?:\\.0+)?)\\s*(?:[Uu][Ss][Dd][Cc]?)?\\s*$",
"type": "string"
},
{
"maximum": 1000,
"minimum": 0,
"type": "number"
}
],
"description": "Optional owner-authorized per-call USDC ceiling from 0 to 1000. Send a JSON number or decimal string such as 0.5, '0.50', '$0.50' or '0.50 USDC'. Omit when no budget is authorized; a budget is only a ceiling and does not grant spending authority. The router never increases it.",
"examples": [
"0",
"0.002",
"0.10",
"0.50",
0.5,
"0.50 USDC"
]
},
"network": {
"default": "eip155:8453",
"description": "Wallet policy network; Ontario paid tools currently require Base mainnet.",
"type": "string"
},
"task": {
"description": "Public task description only; never include credentials or private customer data.",
"examples": [
"Verify endpoint readiness before payment",
"Publish my x402 endpoint as a public service profile",
"Refresh my existing x402 service profile",
"Create a settlement-backed payment decision receipt",
"Which x402 API should my agent call for web search",
"Check whether a Base USDC transaction settled"
],
"maxLength": 500,
"minLength": 3,
"type": "string"
},
"wallet_enabled": {
"default": false,
"description": "True if the caller can locally sign an x402 PaymentPayload.",
"type": "boolean"
}
},
"required": [
"task"
],
"type": "object"
},
"name": "ontario_purchase_router"
},
{
"description": "Attaches a fresh live readiness observation to an existing paid Ontario provider profile's canonical HTML, JSON twin, and badge. This tool cannot edit provider metadata, improve a grade by payment, or buy ranking or traffic. Freshness maintenance is automatic and included during the launch passport's first 30 days. [PAID: 0.10 USDC via x402 on Base. Two-step flow: a call without payment returns MCP PaymentRequired; the retry carries the signed PaymentPayload in params._meta['x402/payment']. The legacy _x402_payment base64 argument is also supported. Signing happens in the caller's wallet.]",
"inputSchema": {
"properties": {
"_x402_payment": {
"description": "base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first.",
"type": "string"
},
"listing_id": {
"description": "Existing paid provider profile id.",
"pattern": "^lst_[A-Za-z0-9_-]+$",
"type": "string"
},
"paid_refresh_tx": {
"description": "One-use retry reference for a settled refresh that could not complete.",
"type": "string"
}
},
"required": [
"listing_id"
],
"type": "object"
},
"name": "ontario_refresh-listing"
},
{
"description": "Free task-to-tool matching with an optional Jev second opinion. With allow_typesafe=true, your public task and Ontario's public tool descriptions are sent to TypeSafe for Jev inference. Do not supply secrets, personal data, private URLs, or customer content. Ontario does not persist task text here. TypeSafe processing is subject to its policies; zero retention is not promised. Without consent, only Ontario's deterministic router is used. Returns a callable tool and input schema, or abstains. Never executes tools or authorizes payment. Model quota exhaustion falls back to deterministic routing.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"allow_typesafe": {
"default": false,
"description": "With allow_typesafe=true, your public task and Ontario's public tool descriptions are sent to TypeSafe for Jev inference. Do not supply secrets, personal data, private URLs, or customer content. Ontario does not persist task text here. TypeSafe processing is subject to its policies; zero retention is not promised. Without consent, only Ontario's deterministic router is used.",
"type": "boolean"
},
"free_preflight_complete": {
"default": false,
"description": "True only after the recommended free check has completed for this task.",
"type": "boolean"
},
"max_usdc": {
"description": "Explicit owner-approved USDC ceiling; never inferred.",
"type": "string"
},
"network": {
"default": "eip155:8453",
"description": "Network permitted by the caller's wallet policy; Ontario paid tools require Base mainnet (eip155:8453).",
"type": "string"
},
"task": {
"description": "A public capability request, never private task content.",
"maxLength": 500,
"minLength": 3,
"type": "string"
},
"wallet_enabled": {
"default": false,
"description": "True if the caller can locally sign an x402 payment; this flag does not authorize spending.",
"type": "boolean"
}
},
"required": [
"task"
],
"type": "object"
},
"name": "ontario_task_fit"
},
{
"description": "Validate an agent listing payload for free before publication. Never publishes, signs or spends.",
"inputSchema": {
"properties": {
"agent_card_url": {
"description": "Public HTTPS agent card URL for the listing.",
"format": "uri",
"type": "string"
},
"description": {
"description": "Public description of the agent's capabilities.",
"type": "string"
},
"name": {
"description": "Public name of the agent being listed.",
"minLength": 1,
"type": "string"
},
"owner_contact": {
"description": "Optional owner contact supplied for the listing; do not include secrets.",
"type": "string"
},
"owner_url": {
"description": "Optional public owner website.",
"format": "uri",
"type": "string"
},
"tags": {
"description": "Capability tags describing the agent.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"name",
"agent_card_url"
],
"type": "object"
},
"name": "ontario_validate-agent"
},
{
"description": "Check an existing paid provider profile's refresh eligibility for free, including cooldown. Never refreshes, signs or spends.",
"inputSchema": {
"properties": {
"listing_id": {
"description": "Existing paid provider profile id.",
"pattern": "^lst_[A-Za-z0-9_-]+$",
"type": "string"
},
"paid_refresh_tx": {
"description": "One-use retry reference for a settled refresh that could not complete.",
"type": "string"
}
},
"required": [
"listing_id"
],
"type": "object"
},
"name": "ontario_validate-refresh"
},
{
"description": "Free provider listing preflight. Validate public service metadata before buying the 0.50 USDC Ontario launch passport. Returns field errors or a normalized request and publication decision. Set verify_now only to create a public readiness report. Never publishes a listing, signs or spends; a valid payload alone does not establish readiness or Bazaar placement.",
"inputSchema": {
"properties": {
"asset": {
"description": "Payment token contract accepted by the provider on the declared network.",
"type": "string"
},
"buyer_query": {
"description": "Public task phrase used for the point-in-time Bazaar retrieval audit. It may appear in the public profile.",
"maxLength": 160,
"minLength": 3,
"type": "string"
},
"category": {
"description": "Public capability category for the service, not a claim of certification.",
"type": "string"
},
"description": {
"description": "Public buyer task, expected result, and important service limitations; do not include confidential text.",
"minLength": 1,
"type": "string"
},
"endpoint": {
"description": "Provider-owned public HTTPS x402 endpoint to list. Never include secrets or sensitive query parameters.",
"format": "uri",
"type": "string"
},
"mcp_remote_url": {
"description": "Optional public MCP remote for read-only initialize and tools/list checks.",
"format": "uri",
"maxLength": 500,
"type": "string"
},
"mcp_server_json_url": {
"description": "Optional public MCP Registry record or exact-search JSON URL.",
"format": "uri",
"maxLength": 500,
"type": "string"
},
"mcp_server_name": {
"description": "Optional exact MCP Registry server name.",
"maxLength": 180,
"type": "string"
},
"method": {
"default": "POST",
"description": "HTTP method used to call the provider's endpoint.",
"type": "string"
},
"name": {
"description": "Public service name displayed on the provider profile.",
"minLength": 1,
"type": "string"
},
"network": {
"default": "base",
"description": "Provider payment network, for example base or eip155:8453. Ontario publication itself uses Base USDC.",
"type": "string"
},
"owner_contact": {
"description": "Optional provider contact retained for operations and omitted from public profiles. Omit when unnecessary; never send wallet credentials.",
"type": "string"
},
"owner_url": {
"description": "Public website identifying the provider; publication does not verify legal identity.",
"format": "uri",
"type": "string"
},
"price_atomic": {
"description": "Optional provider price in six-decimal USDC units: 10000 equals 0.01 USDC. Must match price_usdc when supplied.",
"minimum": 0,
"type": "integer"
},
"price_usdc": {
"description": "Provider endpoint price in decimal USDC, at most six decimal places. This is separate from Ontario's 0.50 USDC publication fee.",
"type": "string"
},
"source": {
"default": "direct_or_unknown",
"description": "Privacy-safe aggregate acquisition bucket; never a URL or query.",
"enum": [
"coinbase_bazaar",
"direct_or_unknown",
"github",
"google_search",
"internal_navigation",
"mcp_registry",
"other_search"
],
"type": "string"
},
"tags": {
"description": "Public capability tags for discovery, up to ten relevant labels.",
"items": {
"type": "string"
},
"type": "array"
},
"verify_now": {
"default": false,
"description": "Optionally run live readiness checks and save a public signed report. No listing is published and no payment is made.",
"type": "boolean"
}
},
"required": [
"name",
"description",
"endpoint",
"price_usdc"
],
"type": "object"
},
"name": "ontario_validate-service"
},
{
"description": "Generate a validated listing payload, x402 resource draft, MCP descriptor, GitHub readiness workflow, README snippet, and registry copy for one paid endpoint.",
"inputSchema": {
"properties": {
"asset": {
"description": "USDC token contract on the declared payment network; omit to use the Base USDC default.",
"type": "string"
},
"description": {
"description": "Public description of the task the service performs and the result it returns.",
"type": "string"
},
"endpoint": {
"description": "Provider-owned public HTTPS x402 endpoint to prepare for listing.",
"format": "uri",
"type": "string"
},
"method": {
"default": "POST",
"description": "HTTP method accepted by the provider endpoint, for example POST.",
"type": "string"
},
"name": {
"description": "Public name of the provider's service.",
"type": "string"
},
"network": {
"default": "base",
"description": "Payment network accepted by the provider, for example base or eip155:8453.",
"type": "string"
},
"owner_contact": {
"description": "Optional public business contact for generated drafts. Omit private addresses; never supply credentials.",
"type": "string"
},
"owner_url": {
"description": "Public website identifying the service provider.",
"format": "uri",
"type": "string"
},
"price_usdc": {
"description": "The provider's per-call price in decimal USDC, not Ontario's publication fee. Kit generation is free.",
"type": "string"
},
"tags": {
"description": "Comma-separated public capability tags, for example x402,paid-api,agent-tool.",
"type": "string"
}
},
"required": [
"name",
"description",
"endpoint",
"price_usdc"
],
"type": "object"
},
"name": "x402_launch_kit"
},
{
"description": "Free check for whether a paid endpoint is ready for agent discovery and x402 payment. Returns a readiness grade, a free end-to-end buyer-path diagnostic handoff and a grade-aware provider handoff that states whether the endpoint is ready-grade for the optional 0.50 USDC publication and links the free listing validator.",
"inputSchema": {
"properties": {
"target_url": {
"description": "Public service or x402 endpoint URL to inspect without payment. Do not submit credentials, private hosts, or sensitive query parameters.",
"type": "string"
}
},
"required": [
"target_url"
],
"type": "object"
},
"name": "x402_readiness_verify"
},
{
"description": "Public ledger of recent x402 readiness reports.",
"inputSchema": {
"properties": {
"limit": {
"default": 25,
"description": "Maximum recent public readiness reports to request.",
"type": "integer"
}
},
"type": "object"
},
"name": "x402_verification_reports"
}
]
}What the leaf hashes
{"body":"7f16a0ac209394165ca7327a75d6cb43ad8fac1caee92a05f0755b8d86b8ca04","id":542647,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793131015409367,"prev":null,"subject":"7473a24b-c6e9-4dcd-96c3-2cb68704badc","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).
- 0xa28a58c1769a9ed196240d0be3fadf3feeae2937fbd20d3700eab1725c86e44b
- 0xdf9eea509910076e6b1ee5c97b45d5d82462a4e7ae99d184bd4f1b0deced713c
- 0x17b51f8f02a827eefb0f0950d1c0ba8149e6d534e1a7385270db8b4e6cec15e2
- 0xa36555ab2e26501e891f0a1960c99abb96187b3c4bc2c1095dc9e1149fc70daf
- 0x24721e6a2e79bc069d88f3d71b2d6305d6ce87d993fd8e7c56b5c6e4b1ba3e19
- 0xba538c6e687fe4c00976e2397bd6672babf6867726b748dde7dfe2c3520d4bb7
- 0x45da07447b3c078b6a8d540a226550161aa81ac17d93b708281ab4c8930f43c8
- 0xffb7077dea7b829c7242b1196a304606630da9ed8616f1890e53749feb11789a
- 0xd75d04bdad2151ce8456fc2da19bcc9e826f9249c7f4f0938e6c318946cad1f6
- 0x991fb7892352e30668773a0c026465a5cffca80b4b334755bbf12c3ce7bcbbb5
- 0x60256611194f4b2e6a37447763b0aac23cbea6f8ca40ee0b8fbe44b2119b441f
- 0x0c9efc71bd73a056aab018d34b600797c2287eaa0df0398c8404046e9420d684
- 0x87816aee66e8f6e0f1e55ea83733bb58cf9612d36c45fd5b7fc5d6f4484b78fd
- 0x0644f7e2a4b5bf9b66f185cc3fbb766d456ad94490183852f4c6db5855114cc5
- 0xa3fff4662cd48659f5bafd0612931759a90e53a7b4209ed8f26f6594a07bb547
- 0x64c405a28e8819716221eb2529fe4ce277ab08025e17e685cbd5ece75ceb75c7
- 0xf30fddbf4811226c58e8f0daf36fddd79fc5f1356b592bb1d99a8061ddbabe66
- 0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197
- 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
- Day root
- 0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
- Chained
- 0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
- Published
- On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4