Find live x402 APIs for any task (0.005 USDC, no match no charge); Base balance, tx and gas reads.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Free pre-payment policy decision. Agents ask whether an x402 endpoint should be paid under strict, standard, or permissive policy. The free result is sufficient by default; set require_audit_receipt only when a settlement-backed receipt is required.
Public x402 endpoint to evaluate before payment; never include credentials or private query parameters.
Caller-approved per-call spending ceiling in decimal USDC, for example 0.01. This check never spends funds.
Readiness policy to apply. Use strict unless the operator explicitly permits a different policy.
Explicitly request the optional paid receipt handoff after an allow decision. This does not submit payment.
Tool list last changed Oct 25, 2026.
Free pre-payment policy decision. Agents ask whether an x402 endpoint should be paid under strict, standard, or permissive policy. The free result is sufficient by default; set require_audit_receipt only when a settlement-backed receipt is required.
| Argument | Type | Description |
|---|---|---|
| endpoint* | string | Public x402 endpoint to evaluate before payment; never include credentials or private query parameters. |
| max_usdc | string | Caller-approved per-call spending ceiling in decimal USDC, for example 0.01. This check never spends funds. |
| agent_policy | string | Readiness policy to apply. Use strict unless the operator explicitly permits a different policy. |
| require_audit_receipt | boolean | Explicitly request the optional paid receipt handoff after an allow decision. This does not submit payment. |
{
"type": "object",
"required": [
"endpoint"
],
"properties": {
"endpoint": {
"type": "string",
"description": "Public x402 endpoint to evaluate before payment; never include credentials or private query parameters."
},
"max_usdc": {
"type": "string",
"description": "Caller-approved per-call spending ceiling in decimal USDC, for example 0.01. This check never spends funds."
},
"agent_policy": {
"enum": [
"strict",
"standard",
"permissive"
],
"type": "string",
"description": "Readiness policy to apply. Use strict unless the operator explicitly permits a different policy."
},
"require_audit_receipt": {
"type": "boolean",
"default": false,
"description": "Explicitly request the optional paid receipt handoff after an allow decision. This does not submit payment."
}
}
}Free live, rate-limited agent trust preview for one public endpoint. Returns safe signals and issues without the paid evidence bundle or attestation; use the paid trust scan only when the preview is insufficient.
| Argument | Type | Description |
|---|---|---|
| agent_id | string | Optional stable public agent identifier to associate with the preview. |
| target_url* | string | Public HTTPS agent card or endpoint to preview without payment; never include private hosts or credentials. |
{
"type": "object",
"required": [
"target_url"
],
"properties": {
"agent_id": {
"type": "string",
"maxLength": 120,
"description": "Optional stable public agent identifier to associate with the preview."
},
"target_url": {
"type": "string",
"format": "uri",
"description": "Public HTTPS agent card or endpoint to preview without payment; never include private hosts or credentials."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| target_url* | string | Public x402 paid endpoint whose buyer visibility should be measured. |
| buyer_query* | string | Public task phrase a funded agent could use in CDP Bazaar search; never include credentials or private customer text. |
| buyer_queries | array | Optional explicit portfolio of up to five public buyer phrases. When omitted, Ontario generates four deterministic variants from buyer_query. |
{
"type": "object",
"required": [
"target_url",
"buyer_query"
],
"properties": {
"target_url": {
"type": "string",
"format": "uri",
"description": "Public x402 paid endpoint whose buyer visibility should be measured."
},
"buyer_query": {
"type": "string",
"maxLength": 160,
"minLength": 3,
"description": "Public task phrase a funded agent could use in CDP Bazaar search; never include credentials or private customer text."
},
"buyer_queries": {
"type": "array",
"items": {
"type": "string",
"maxLength": 160,
"minLength": 3
},
"maxItems": 5,
"minItems": 1,
"description": "Optional explicit portfolio of up to five public buyer phrases. When omitted, Ontario generates four deterministic variants from buyer_query."
}
}
}Free buyer-side search across Ontario's fresh strict-ready paid profiles, Agentic Market, and Coinbase CDP Bazaar. Rank public, credential-free endpoint candidates by task relevance plus bounded source-reported recent activity, with optional Base/USDC budget filtering. Paid Ontario publication adds no ranking score. This is discovery, not a safety certification; run readiness and can-pay before spending. When the query is provider-side publication intent, skip buyer marketplace search and return the free listing validator followed by the gated 0.50 USDC publication workflow.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum number of task-matched candidates to return, from 1 to 10. |
| query* | string | Public task text only; never include credentials or private customer data. |
| network | string | Optional network filter, for example eip155:8453 or base. |
| max_usdc | string | Optional hard USDC price ceiling for returned candidates. |
| active_only | boolean | When true, require recent source-reported activity or fresh strict-ready Ontario profile evidence. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 1,
"description": "Maximum number of task-matched candidates to return, from 1 to 10."
},
"query": {
"type": "string",
"maxLength": 160,
"minLength": 3,
"description": "Public task text only; never include credentials or private customer data."
},
"network": {
"type": "string",
"description": "Optional network filter, for example eip155:8453 or base."
},
"max_usdc": {
"type": "string",
"description": "Optional hard USDC price ceiling for returned candidates."
},
"active_only": {
"type": "boolean",
"default": true,
"description": "When true, require recent source-reported activity or fresh strict-ready Ontario profile evidence."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| repository_url* | string | Public https://github.com/owner/repo URL. |
{
"type": "object",
"required": [
"repository_url"
],
"properties": {
"repository_url": {
"type": "string",
"format": "uri",
"description": "Public https://github.com/owner/repo URL."
}
}
}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.]
| Argument | Type | Description |
|---|---|---|
| tokens | string | Optional comma-separated ERC-20 contract addresses to read as well, max 20. |
| address* | string | Base wallet or contract address to read. |
| _x402_payment | string | base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first. |
{
"type": "object",
"required": [
"address"
],
"properties": {
"tokens": {
"type": "string",
"description": "Optional comma-separated ERC-20 contract addresses to read as well, max 20."
},
"address": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Base wallet or contract address to read."
},
"_x402_payment": {
"type": "string",
"description": "base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first."
}
},
"additionalProperties": false
}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.]
| Argument | Type | Description |
|---|---|---|
| blocks | integer | Optional number of recent blocks the fee percentiles cover, 5 to 50. Default 20. |
| _x402_payment | string | base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first. |
{
"type": "object",
"properties": {
"blocks": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 5,
"description": "Optional number of recent blocks the fee percentiles cover, 5 to 50. Default 20."
},
"_x402_payment": {
"type": "string",
"description": "base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first."
}
},
"additionalProperties": false
}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.]
| Argument | Type | Description |
|---|---|---|
| hash* | string | Base mainnet transaction hash. |
| expected_to | string | Optional payTo address the USDC transfer should reach. |
| _x402_payment | string | base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first. |
| expected_amount | string | Optional USDC amount in atomic units, for example 500000 for 0.5 USDC. |
{
"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."
},
"_x402_payment": {
"type": "string",
"description": "base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first."
},
"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
}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.]
| Argument | Type | Description |
|---|---|---|
| task* | string | Public task text, e.g. 'web search for an AI agent'. Never include credentials or private data. |
| limit | integer | Number of live-verified APIs to return, 1 to 5. |
| max_usdc | string | Optional per-call price ceiling in USDC for returned APIs, e.g. '0.01'. |
| _x402_payment | string | base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first. |
{
"type": "object",
"required": [
"task"
],
"properties": {
"task": {
"type": "string",
"maxLength": 160,
"minLength": 3,
"description": "Public task text, e.g. 'web search for an AI agent'. Never include credentials or private data."
},
"limit": {
"type": "integer",
"default": 3,
"maximum": 5,
"minimum": 1,
"description": "Number of live-verified APIs to return, 1 to 5."
},
"max_usdc": {
"type": "string",
"description": "Optional per-call price ceiling in USDC for returned APIs, e.g. '0.01'."
},
"_x402_payment": {
"type": "string",
"description": "base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first."
}
}
}Use only when the caller owns the agent and wants to submit a public directory listing. 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.]
| Argument | Type | Description |
|---|---|---|
| name* | string | Public name of the agent being listed. |
| tags | array | Capability tags describing the agent. |
| owner_url | string | Optional public owner website. |
| description | string | Public description of the agent's capabilities. |
| _x402_payment | string | base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first. |
| owner_contact | string | Optional owner contact supplied for the listing; do not include secrets. |
| agent_card_url* | string | Public HTTPS agent card URL for the listing. |
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.]
| Argument | Type | Description |
|---|---|---|
| name* | string | Public service name displayed on the provider profile. |
| tags | array | Public capability tags for discovery, up to ten relevant labels. |
| asset | string | Payment token contract accepted by the provider on the declared network. |
| method | string | HTTP method used to call the provider's endpoint. |
| source | string | Privacy-safe aggregate acquisition bucket; never a URL or query. |
| network | string | Provider payment network, for example base or eip155:8453. Ontario publication itself uses Base USDC. |
Free deterministic pre-purchase routing across Ontario tools. Use this before any paid Ontario tool to decide whether the task is free-only, needs free preflight, or is eligible for a paid result after wallet, Base network, and explicit budget gates. Natural endpoint-verification tasks route to the free readiness verifier and disclose the optional 0.002 USDC settlement-backed receipt only when extra audit evidence is needed. Provider jobs such as publishing, registering, or making an x402 endpoint discoverable can route to the self-serve 0.50 USDC publication product after preflight. 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 can route to the 0.10 USDC evidence refresh only after the free refresh validator. Empty calls return safe free discovery guidance instead of guessing a purchase. This tool never invokes another tool, signs a payload, or spends funds.
| Argument | Type | Description |
|---|---|---|
| task* | string | Public task description only; never include credentials or private customer data. |
| network | string | Wallet policy network; Ontario paid tools currently require Base mainnet. |
| max_usdc | any | 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. |
| wallet_enabled |
Use only for an existing paid Ontario provider profile when the caller wants a fresh live readiness observation attached to its 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.]
| Argument | Type | Description |
|---|---|---|
| listing_id* | string | Existing paid provider profile id. |
| _x402_payment | string | base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first. |
| paid_refresh_tx | string | One-use retry reference only when a settled refresh could not complete. |
{
"type": "object",
"required": [
"listing_id"
],
"properties": {
"listing_id": {
"type": "string",
"pattern": "^lst_[A-Za-z0-9_-]+$",
"description": "Existing paid provider profile id."
},
"_x402_payment": {
"type": "string",
"description": "base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first."
},
"paid_refresh_tx": {
"type": "string",
"description": "One-use retry reference only when a settled refresh could not complete."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| task* | string | A public capability request, never private task content. |
| network | string | Network permitted by the caller's wallet policy; Ontario paid tools require Base mainnet (eip155:8453). |
| max_usdc | string | Explicit owner-approved USDC ceiling; never inferred. |
| allow_typesafe | boolean | 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. |
| wallet_enabled | boolean | True only when the caller can locally sign an x402 payment; this flag does not authorize spending. |
| free_preflight_complete |
Validate an agent listing payload for free before publication. Never publishes, signs or spends.
| Argument | Type | Description |
|---|---|---|
| name* | string | Public name of the agent being listed. |
| tags | array | Capability tags describing the agent. |
| owner_url | string | Optional public owner website. |
| description | string | Public description of the agent's capabilities. |
| owner_contact | string | Optional owner contact supplied for the listing; do not include secrets. |
| agent_card_url* | string | Public HTTPS agent card URL for the listing. |
{
"type": "object",
"required": [
"name",
"agent_card_url"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Public name of the agent being listed."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Capability tags describing the agent."
},
"owner_url": {
"type": "string",
"format": "uri",
"description": "Optional public owner website."
},
"description": {
"type": "string",
"description": "Public description of the agent's capabilities."
},
"owner_contact": {
"type": "string",
"description": "Optional owner contact supplied for the listing; do not include secrets."
},
"agent_card_url": {
"type": "string",
"format": "uri",
"description": "Public HTTPS agent card URL for the listing."
}
}
}Check an existing paid provider profile's refresh eligibility for free, including cooldown. Never refreshes, signs or spends.
| Argument | Type | Description |
|---|---|---|
| listing_id* | string | Existing paid provider profile id. |
| paid_refresh_tx | string | One-use retry reference only when a settled refresh could not complete. |
{
"type": "object",
"required": [
"listing_id"
],
"properties": {
"listing_id": {
"type": "string",
"pattern": "^lst_[A-Za-z0-9_-]+$",
"description": "Existing paid provider profile id."
},
"paid_refresh_tx": {
"type": "string",
"description": "One-use retry reference only when a settled refresh could not complete."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| name* | string | Public service name displayed on the provider profile. |
| tags | array | Public capability tags for discovery, up to ten relevant labels. |
| asset | string | Payment token contract accepted by the provider on the declared network. |
| method | string | HTTP method used to call the provider's endpoint. |
| source | string | Privacy-safe aggregate acquisition bucket; never a URL or query. |
| network | string | Provider payment network, for example base or eip155:8453. Ontario publication itself uses Base USDC. |
| category | string | Public capability category for the service, not a claim of certification. |
| endpoint* | string | Provider-owned public HTTPS x402 endpoint to list. Never include secrets or sensitive query parameters. |
Generate a validated listing payload, x402 resource draft, MCP descriptor, GitHub readiness workflow, README snippet, and registry copy for one paid endpoint.
| Argument | Type | Description |
|---|---|---|
| name* | string | Public name of the provider's service. |
| tags | string | Comma-separated public capability tags, for example x402,paid-api,agent-tool. |
| asset | string | USDC token contract on the declared payment network; omit to use the Base USDC default. |
| method | string | HTTP method accepted by the provider endpoint, for example POST. |
| network | string | Payment network accepted by the provider, for example base or eip155:8453. |
| endpoint* | string | Provider-owned public HTTPS x402 endpoint to prepare for listing. |
| owner_url | string | Public website identifying the service provider. |
| price_usdc* | string | The provider's per-call price in decimal USDC, not Ontario's publication fee. Kit generation is free. |
Free check for whether a paid endpoint is ready for agent discovery and x402 payment. Returns a free end-to-end buyer-path diagnostic handoff plus a grade-aware provider handoff: validate listing metadata free before any optional 0.50 USDC publication, and do not pay for publication while the endpoint is not ready-grade.
| Argument | Type | Description |
|---|---|---|
| target_url* | string | Public service or x402 endpoint URL to inspect without payment. Do not submit credentials, private hosts, or sensitive query parameters. |
{
"type": "object",
"required": [
"target_url"
],
"properties": {
"target_url": {
"type": "string",
"description": "Public service or x402 endpoint URL to inspect without payment. Do not submit credentials, private hosts, or sensitive query parameters."
}
}
}Public ledger of recent x402 readiness reports.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum recent public readiness reports to request. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 25,
"description": "Maximum recent public readiness reports to request."
}
}
}{
"type": "object",
"required": [
"name",
"agent_card_url"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Public name of the agent being listed."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Capability tags describing the agent."
},
"owner_url": {
"type": "string",
"format": "uri",
"description": "Optional public owner website."
},
"description": {
"type": "string",
"description": "Public description of the agent's capabilities."
},
"_x402_payment": {
"type": "string",
"description": "base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first."
},
"owner_contact": {
"type": "string",
"description": "Optional owner contact supplied for the listing; do not include secrets."
},
"agent_card_url": {
"type": "string",
"format": "uri",
"description": "Public HTTPS agent card URL for the listing."
}
}
}| category |
| string |
| Public capability category for the service, not a claim of certification. |
| endpoint* | string | Provider-owned public HTTPS x402 endpoint to list. Never include secrets or sensitive query parameters. |
| owner_url | string | Public website identifying the provider; publication does not verify legal identity. |
| price_usdc* | string | Provider endpoint price in decimal USDC, at most six decimal places. This is separate from Ontario's 0.50 USDC publication fee. |
| buyer_query | string | Public task phrase used for the point-in-time Bazaar retrieval audit. It may appear in the public profile. |
| description* | string | Public buyer task, expected result, and important service limitations; do not include confidential text. |
| price_atomic | integer | Optional provider price in six-decimal USDC units: 10000 equals 0.01 USDC. Must match price_usdc when supplied. |
| _x402_payment | string | base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first. |
| owner_contact | string | Optional provider contact retained for operations and omitted from public profiles. Omit when unnecessary; never send wallet credentials. |
| mcp_remote_url | string | Optional public MCP remote for read-only initialize and tools/list checks. |
| mcp_server_name | string | Optional exact MCP Registry server name. |
| mcp_server_json_url | string | Optional public MCP Registry record or exact-search JSON URL. |
{
"type": "object",
"required": [
"name",
"description",
"endpoint",
"price_usdc"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Public service name displayed on the provider profile."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Public capability tags for discovery, up to ten relevant labels."
},
"asset": {
"type": "string",
"description": "Payment token contract accepted by the provider on the declared network."
},
"method": {
"type": "string",
"default": "POST",
"description": "HTTP method used to call the provider's endpoint."
},
"source": {
"enum": [
"coinbase_bazaar",
"direct_or_unknown",
"github",
"google_search",
"internal_navigation",
"mcp_registry",
"other_search"
],
"type": "string",
"default": "direct_or_unknown",
"description": "Privacy-safe aggregate acquisition bucket; never a URL or query."
},
"network": {
"type": "string",
"default": "base",
"description": "Provider payment network, for example base or eip155:8453. Ontario publication itself uses Base USDC."
},
"category": {
"type": "string",
"description": "Public capability category for the service, not a claim of certification."
},
"endpoint": {
"type": "string",
"format": "uri",
"description": "Provider-owned public HTTPS x402 endpoint to list. Never include secrets or sensitive query parameters."
},
"owner_url": {
"type": "string",
"format": "uri",
"description": "Public website identifying the provider; publication does not verify legal identity."
},
"price_usdc": {
"type": "string",
"description": "Provider endpoint price in decimal USDC, at most six decimal places. This is separate from Ontario's 0.50 USDC publication fee."
},
"buyer_query": {
"type": "string",
"maxLength": 160,
"minLength": 3,
"description": "Public task phrase used for the point-in-time Bazaar retrieval audit. It may appear in the public profile."
},
"description": {
"type": "string",
"minLength": 1,
"description": "Public buyer task, expected result, and important service limitations; do not include confidential text."
},
"price_atomic": {
"type": "integer",
"minimum": 0,
"description": "Optional provider price in six-decimal USDC units: 10000 equals 0.01 USDC. Must match price_usdc when supplied."
},
"_x402_payment": {
"type": "string",
"description": "base64 x402 PaymentPayload (USDC on Base); obtain the requirements by calling this tool without it first."
},
"owner_contact": {
"type": "string",
"description": "Optional provider contact retained for operations and omitted from public profiles. Omit when unnecessary; never send wallet credentials."
},
"mcp_remote_url": {
"type": "string",
"format": "uri",
"maxLength": 500,
"description": "Optional public MCP remote for read-only initialize and tools/list checks."
},
"mcp_server_name": {
"type": "string",
"maxLength": 180,
"description": "Optional exact MCP Registry server name."
},
"mcp_server_json_url": {
"type": "string",
"format": "uri",
"maxLength": 500,
"description": "Optional public MCP Registry record or exact-search JSON URL."
}
}
}| boolean |
| True only when the caller can locally sign an x402 PaymentPayload. |
| free_preflight_complete | boolean | True only after the recommended free check has completed for this task. |
{
"type": "object",
"required": [
"task"
],
"properties": {
"task": {
"type": "string",
"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,
"description": "Public task description only; never include credentials or private customer data."
},
"network": {
"type": "string",
"default": "eip155:8453",
"description": "Wallet policy network; Ontario paid tools currently require Base mainnet."
},
"max_usdc": {
"anyOf": [
{
"type": "string",
"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": "number",
"maximum": 1000,
"minimum": 0
}
],
"examples": [
"0",
"0.002",
"0.10",
"0.50",
0.5,
"0.50 USDC"
],
"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."
},
"wallet_enabled": {
"type": "boolean",
"default": false,
"description": "True only when the caller can locally sign an x402 PaymentPayload."
},
"free_preflight_complete": {
"type": "boolean",
"default": false,
"description": "True only after the recommended free check has completed for this task."
}
}
}| boolean |
| True only after the recommended free check has completed for this task. |
{
"type": "object",
"required": [
"task"
],
"properties": {
"task": {
"type": "string",
"maxLength": 500,
"minLength": 3,
"description": "A public capability request, never private task content."
},
"network": {
"type": "string",
"default": "eip155:8453",
"description": "Network permitted by the caller's wallet policy; Ontario paid tools require Base mainnet (eip155:8453)."
},
"max_usdc": {
"type": "string",
"description": "Explicit owner-approved USDC ceiling; never inferred."
},
"allow_typesafe": {
"type": "boolean",
"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."
},
"wallet_enabled": {
"type": "boolean",
"default": false,
"description": "True only when the caller can locally sign an x402 payment; this flag does not authorize spending."
},
"free_preflight_complete": {
"type": "boolean",
"default": false,
"description": "True only after the recommended free check has completed for this task."
}
},
"additionalProperties": false
}| owner_url | string | Public website identifying the provider; publication does not verify legal identity. |
| price_usdc* | string | Provider endpoint price in decimal USDC, at most six decimal places. This is separate from Ontario's 0.50 USDC publication fee. |
| verify_now | boolean | Optionally run live readiness checks and save a public signed report. No listing is published and no payment is made. |
| buyer_query | string | Public task phrase used for the point-in-time Bazaar retrieval audit. It may appear in the public profile. |
| description* | string | Public buyer task, expected result, and important service limitations; do not include confidential text. |
| price_atomic | integer | Optional provider price in six-decimal USDC units: 10000 equals 0.01 USDC. Must match price_usdc when supplied. |
| owner_contact | string | Optional provider contact retained for operations and omitted from public profiles. Omit when unnecessary; never send wallet credentials. |
| mcp_remote_url | string | Optional public MCP remote for read-only initialize and tools/list checks. |
| mcp_server_name | string | Optional exact MCP Registry server name. |
| mcp_server_json_url | string | Optional public MCP Registry record or exact-search JSON URL. |
{
"type": "object",
"required": [
"name",
"description",
"endpoint",
"price_usdc"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Public service name displayed on the provider profile."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Public capability tags for discovery, up to ten relevant labels."
},
"asset": {
"type": "string",
"description": "Payment token contract accepted by the provider on the declared network."
},
"method": {
"type": "string",
"default": "POST",
"description": "HTTP method used to call the provider's endpoint."
},
"source": {
"enum": [
"coinbase_bazaar",
"direct_or_unknown",
"github",
"google_search",
"internal_navigation",
"mcp_registry",
"other_search"
],
"type": "string",
"default": "direct_or_unknown",
"description": "Privacy-safe aggregate acquisition bucket; never a URL or query."
},
"network": {
"type": "string",
"default": "base",
"description": "Provider payment network, for example base or eip155:8453. Ontario publication itself uses Base USDC."
},
"category": {
"type": "string",
"description": "Public capability category for the service, not a claim of certification."
},
"endpoint": {
"type": "string",
"format": "uri",
"description": "Provider-owned public HTTPS x402 endpoint to list. Never include secrets or sensitive query parameters."
},
"owner_url": {
"type": "string",
"format": "uri",
"description": "Public website identifying the provider; publication does not verify legal identity."
},
"price_usdc": {
"type": "string",
"description": "Provider endpoint price in decimal USDC, at most six decimal places. This is separate from Ontario's 0.50 USDC publication fee."
},
"verify_now": {
"type": "boolean",
"default": false,
"description": "Optionally run live readiness checks and save a public signed report. No listing is published and no payment is made."
},
"buyer_query": {
"type": "string",
"maxLength": 160,
"minLength": 3,
"description": "Public task phrase used for the point-in-time Bazaar retrieval audit. It may appear in the public profile."
},
"description": {
"type": "string",
"minLength": 1,
"description": "Public buyer task, expected result, and important service limitations; do not include confidential text."
},
"price_atomic": {
"type": "integer",
"minimum": 0,
"description": "Optional provider price in six-decimal USDC units: 10000 equals 0.01 USDC. Must match price_usdc when supplied."
},
"owner_contact": {
"type": "string",
"description": "Optional provider contact retained for operations and omitted from public profiles. Omit when unnecessary; never send wallet credentials."
},
"mcp_remote_url": {
"type": "string",
"format": "uri",
"maxLength": 500,
"description": "Optional public MCP remote for read-only initialize and tools/list checks."
},
"mcp_server_name": {
"type": "string",
"maxLength": 180,
"description": "Optional exact MCP Registry server name."
},
"mcp_server_json_url": {
"type": "string",
"format": "uri",
"maxLength": 500,
"description": "Optional public MCP Registry record or exact-search JSON URL."
}
}
}| description* | string | Public description of the task the service performs and the result it returns. |
| owner_contact | string | Optional public business contact for generated drafts. Omit private addresses; never supply credentials. |
{
"type": "object",
"required": [
"name",
"description",
"endpoint",
"price_usdc"
],
"properties": {
"name": {
"type": "string",
"description": "Public name of the provider's service."
},
"tags": {
"type": "string",
"description": "Comma-separated public capability tags, for example x402,paid-api,agent-tool."
},
"asset": {
"type": "string",
"description": "USDC token contract on the declared payment network; omit to use the Base USDC default."
},
"method": {
"type": "string",
"default": "POST",
"description": "HTTP method accepted by the provider endpoint, for example POST."
},
"network": {
"type": "string",
"default": "base",
"description": "Payment network accepted by the provider, for example base or eip155:8453."
},
"endpoint": {
"type": "string",
"format": "uri",
"description": "Provider-owned public HTTPS x402 endpoint to prepare for listing."
},
"owner_url": {
"type": "string",
"format": "uri",
"description": "Public website identifying the service provider."
},
"price_usdc": {
"type": "string",
"description": "The provider's per-call price in decimal USDC, not Ontario's publication fee. Kit generation is free."
},
"description": {
"type": "string",
"description": "Public description of the task the service performs and the result it returns."
},
"owner_contact": {
"type": "string",
"description": "Optional public business contact for generated drafts. Omit private addresses; never supply credentials."
}
}
}