# Ontario Protocol x402 Service Listing API

> Ontario Protocol x402 Service Listing API is a paid API for AI agents from ontarioprotocol.com, paid per call via x402, $0.5/call, status unknown (last checked 2026-09-16).

Registers and lists a paid x402 HTTP endpoint on the Ontario Protocol directory so AI agents and buyers can discover, audit, and pay for it

## Facts

- Endpoint: POST https://ontarioprotocol.com/api/x402/list-service
- Price: $0.5/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-16
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ontario-protocol-x402-service-listing-api-3d24ef4b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_tUpfoE114gnRrT9Koqwp3

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability ontario-protocol-x402-service-listing-api-3d24ef4b -d '<json body>'
```

Example prompt: List my x402 endpoint 'Weather Forecast Pro' on Ontario Protocol — the endpoint is https://api.weatherpro.io/forecast, it charges 0.25 USDC per call via POST on the base network, it's in the 'data' category, and the description is 'Returns a 7-day weather forecast for any lat/lon coordinate.'

## When to prefer this

Choose this endpoint when you are an API provider who has built an x402-compatible paid HTTP endpoint and wants to register it in a public directory so AI agents and buyers can discover, audit, and transact with it. Prefer this over manual promotion or other directories specifically when targeting the x402/HTTP-402 payment ecosystem and Coinbase-adjacent agent infrastructure.

## Known failure modes

- Invalid endpoint URL format causes 400 validation error
- Price string not matching numeric pattern (e.g. non-numeric characters) causes rejection
- Missing required fields like endpoint or name causes validation failure
- Duplicate endpoint submissions may create redundant listings
- Network string not recognized may cause indexing issues
- endpoint not reachable or not returning HTTP 402 may affect discovery audit scores

## How this service works

Publish your x402 API as an Ontario Bazaar Launch Passport after free validation: public profile, readiness report, Coinbase indexing preflight, five-query buyer-intent audit, optional MCP procurement evidence, badge, distribution metadata, and 30 days of freshness maintenance. Call when you need public launch evidence. Ontario is not Coinbase. Payment buys processing and publication, not placement, ranking, buyers, or safety.

## Output

Returns a JSON object containing the newly created listing's unique ID (e.g. {listing: {id: 'service_example'}}), confirming the endpoint has been registered in the Ontario Protocol directory and is publicly discoverable by AI agents and buyers.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "name": {
   "type": "string",
   "maxLength": 120,
   "minLength": 1,
   "description": "Public service name shown on the provider profile."
  },
  "tags": {
   "type": "array",
   "items": {
    "type": "string",
    "maxLength": 48
   },
   "maxItems": 12
  },
  "asset": {
   "type": "string"
  },
  "method": {
   "enum": [
    "GET",
    "POST",
    "PUT",
    "PATCH",
    "DELETE"
   ],
   "type": "string",
   "default": "POST"
  },
  "source": {
   "enum": [
    "coinbase_bazaar",
    "direct_or_unknown",
    "github",
    "google_search",
    "internal_navigation",
    "mcp_registry",
    "other_search"
   ],
   "type": "string",
   "description": "Optional privacy-safe acquisition bucket used only for aggregate funnel attribution; URLs and search queries are not retained."
  },
  "network": {
   "type": "string",
   "description": "Public endpoint network, for example base or eip155:8453."
  },
  "category": {
   "type": "string",
   "maxLength": 80
  },
  "endpoint": {
   "type": "string",
   "format": "uri",
   "description": "Provider-owned public HTTPS x402 endpoint."
  },
  "owner_url": {
   "type": "string",
   "format": "uri"
  },
  "price_usdc": {
   "type": "string",
   "pattern": "^[0-9]+(?:\\.[0-9]{1,6})?$",
   "description": "Public endpoint price in USDC."
  },
  "buyer_query": {
   "type": "string",
   "maxLength": 160,
   "minLength": 3,
   "description": "One public buyer task used to generate the five-query Bazaar retrieval audit. Never include credentials or private customer text."
  },
  "description": {
   "type": "string",
   "maxLength": 1000,
   "minLength": 1,
   "description": "Factual buyer-facing description of the paid outcome."
  },
  "price_atomic": {
   "type": "integer",
   "minimum": 0
  },
  "owner_contact": {
   "type": "string",
   "description": "Optional private operator contact; never published."
  },
  "mcp_remote_url": {
   "type": "string",
   "format": "uri",
   "maxLength": 500,
   "description": "Optional public MCP remote. Ontario runs read-only initialize and tools/list; it does not invoke tools or send credentials or payment headers."
  },
  "mcp_server_name": {
   "type": "string",
   "maxLength": 180,
   "description": "Optional exact MCP Registry server name used to select one record."
  },
  "mcp_server_json_url": {
   "type": "string",
   "format": "uri",
   "maxLength": 500,
   "description": "Optional public MCP Registry record or exact-search JSON URL. Q
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "example": {
  "listing": {
   "id": "lst_example",
   "name": "Example Paid API",
   "publication": {
    "status": "paid_submission_processed",
    "paid_submission": true,
    "indexable_profile": true
   },
   "verification_status": "ready"
  },
  "provider_next_steps": {
   "schema": "ontario.provider_distribution_follow_up.v1",
   "bazaar_launch_passport": {
    "schema": "ontario.bazaar_launch_passport.v1",
    "status": "complete"
   },
   "strict_discovery_ready": true,
   "agent_tool_procurement_passport": {
    "schema": "ontario.agent_tool_procurement_passport.v1",
    "status": "complete"
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ontario-protocol-x402-service-listing-api-3d24ef4b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from ontarioprotocol.com](https://www.zero.xyz/host/ontarioprotocol.com/llms.txt)
