Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: Agent Zero — ERC-8004 Agent Readiness & Trust intelligence…
version: 1.9.0
summary: 'Machine-discoverable API for the ERC-8004 agent economy on Base and Ethereum — a trust filter over the on-chain registry: indexes registered agents, enriches with live endpoint probes and payment activity, and scores each for readiness and trust.'
description: Curated public spec covering (a) the free `/v1/public/*` and discovery surfaces (`/agent.json`, `/.well-known/agent-card.json`, `/mcp`) and (b) the paid x402 intelligence endpoints (`/v1/intel/*`, `/v1/audit`, `/v1/evaluate`).
contact:
name: Agent Zero
url: https://onchainagentintel.io
license:
name: Public API — no license claim
url: https://onchainagentintel.io/docs
servers:
- url: https://api.onchainagentintel.io
description: Public API
tags:
- name: paid-x402
description: Paid endpoints — settle with X-PAYMENT header per x402.
paths:
/v1/intel/agent/{agent_id}:
get:
tags:
- paid-x402
summary: Agent Intelligence — Profile Lookup
description: '**Runnable quickstart — Make your first paid call.** This is the cheapest paid endpoint ($0.10 USDC on Base, settled via x402 / EIP-3009 `transferWithAuthorization`). See the `curl`, `Python`, and `TypeScript` tabs below for a copy-paste 402 -> pay -> 200 flow. The server pays gas; your wallet needs only >= $0.10 USDC on Base and NO ETH. Payment settles to the Safe treasury `0xaCd134d2AAd0b868EDb395F7d151864188caaF1a` — never an EOA signer. Reference implementation: `smartcontractauditpro/x402_smoke.py`.
Full enriched profile for any ERC-8004 agent. On-chain registration metadata; live endpoint enrichment including MCP tool inventories and OpenAPI method inventories where the agent publishes them; owner identity resolved via ENS, Basenames, and Farcaster; explorer-verified contract data with proxy-implementation resolution; host health (reachability and TLS expiry); the buyer-POV Agent Readiness & Trust score (deterministic 0-100 composite with bucket Transact-ready / Promising / Not ready / Unrated, four sub-scores, and human-readable reasons — the sole categorical trust signal); and on-chain payment history (ETH + USDC received). Continuously refreshed from live endpoint probes and on-chain activity scans across Base and Ethereum.
**Payment (x402):**
- base: 0.10 USDC (EIP-3009)
- ethereum: 0.10 USDC (EIP-3009)
The 200 response body carries paid-gated intel; field-level schemas are intentionally not published. See the 402 `preview` block for the buyer-visible teaser.'
operationId: paid_agent_intel_profile_get
security:
- x402: []
responses:
'200':
description: Paid intel. Body shape is opaque in this public spec (paid-gated). Integrators should use the 402 preview envelope + the human docs at https://onchainagentintel.io/docs for field lists.
content:
application/json:
schema:
type: object
additionalProperties: true
'402':
$ref: '#/components/responses/PaymentRequired'
parameters:
- name: agent_id
in: path
required: true
description: integer — ERC-8004 agentId (e.g. 19353 for Agent Zero). Discover via /v1/intel/search or read directly from the on-chain IdentityRegistry.
schema:
type: integer
minimum: 0
- name: chain
in: query
required: false
description: 'string (optional) — base | ethereum. Default: base.'
schema:
type: string
- name: wallet
in: query
required: false
description: string (optional) — 0x-prefixed payer address. If you have an active /v1/intel/subscribe subscription, pass it to bypass per-call payment.
schema:
type: string
x-codeSamples:
- lang: bash
label: curl
source: '# 1) Unpaid — get the 402 x402 challenge (no wallet needed).
curl -i https://api.onchainagentintel.io/v1/intel/agent/19353
# HTTP/1.1 402 Payment Required
# {
# "x402Version": 1,
# "accepts": [
# { "scheme": "exact", "network": "base-mainnet",
# "maxAmountRequired": "100000", # $0.10 USDC (6 decimals)
# "payTo": "0xaCd134d2AAd0b868EDb395F7d151864188caaF1a", # Safe treasury
# "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", # USDC on Base
# "extra": { "name": "USD Coin", "version": "2" } },
# ...
# ],
# "preview": { /* buyer-visible teaser */ }
# }
# 2) Sign an EIP-3009 transferWithAuthorization off-chain — server
# pays gas. Sample signer code lives in the Python / TypeScript
# tabs. Result: a base64-encoded X-PAYMENT envelope.
# 3) Retry with the X-PAYMENT header — server settles + returns 200.
X_PAYMENT="<base64 x402 envelope from step 2>"
curl -i -H "X-PAYMENT: $X_PAYMENT" https://api.onchainagentintel.io/v1/intel/agent/19353
# HTTP/1.1 200 OK
# { "x402": { "settled": true, "tx": "0x..." },
# "result": { /* opaque paid intel */ } }
'
- lang: Python
label: Python
source: "# quickstart_x402.py — make your first paid call ($0.10 USDC on Base).\n# Deps: pip install requests eth-account web3\n# Wallet: needs >= $0.10 USDC on Base. NO gas (server pays).\n# Key: set X402_TEST_PRIVATE_KEY — never commit a real key.\nimport base64, json, os, secrets, time\nimport requests\nfrom eth_account import Account\nfrom eth_account.messages import encode_typed_data\n\nURL = \"https://api.onchainagentintel.io/v1/intel/agent/19353\"\n\n# 1) Unpaid — get the 402 challenge.\nr = requests.get(URL, timeout=15)\nassert r.status_code == 402, r.status_code\nchallenge = r.json()\naccept = next(\n a for a in challenge[\"accepts\"] if a[\"network\"] == \"base-mainnet\"\n)\n# accept: scheme=exact, payTo=<Safe>, asset=<USDC on Base>,\n# maxAmountRequired=100000 ($0.10 USDC).\n\n# 2) Sign an EIP-3009 transferWithAuthorization off-chain.\nacct = Account.from_key(os.environ[\"X402_TEST_PRIVATE_KEY\"]) # PLACEHOLDER\nnonce = secrets.token_bytes(32)\nnow = int(time.time())\nvalid_before = now + 600\nsignable = encode_typed_data(\n domain_data={\n \"name\": accept[\"extra\"][\"name\"],\n \"version\": accept[\"extra\"][\"version\"],\n \"chainId\": 8453,\n \"verifyingContract\": accept[\"asset\"],\n },\n message_types={\"TransferWithAuthorization\": [\n {\"name\": \"from\", \"type\": \"address\"},\n {\"name\": \"to\", \"type\": \"address\"},\n {\"name\": \"value\", \"type\": \"uint256\"},\n {\"name\": \"validAfter\", \"type\": \"uint256\"},\n {\"name\": \"validBefore\", \"type\": \"uint256\"},\n {\"name\": \"nonce\", \"type\": \"bytes32\"},\n ]},\n message_data={\n \"from\": acct.address, \"to\": accept[\"payTo\"],\n \"value\": int(accept[\"maxAmountRequired\"]),\n \"validAfter\": 0, \"validBefore\": valid_before, \"nonce\": nonce,\n },\n)\nsigned = Account.sign_message(signable, private_key=acct.key)\nsig = signed.signature.hex()\nif not sig.startswith(\"0x\"):\n sig = \"0x\" + sig\n\n# 3) Retry with X-PAYMENT (base64-encoded x402 envelope) — get 200.\nenvelope = {\n \"x402Version\": 1, \"scheme\": \"exact\",\n \"network\": \"base-mainnet\",\n \"payload\": {\n \"authorization\": {\n \"from\": acct.address, \"to\": accept[\"payTo\"],\n \"value\": accept[\"maxAmountRequired\"],\n \"validAfter\": 0, \"validBefore\": valid_before,\n \"nonce\": \"0x\" + nonce.hex(),\n },\n \"signature\": sig,\n },\n}\nheader = base64.b64encode(json.dumps(envelope).encode()).decode()\npaid = requests.get(URL, headers={\"X-PAYMENT\": header}, timeout=30)\nprint(paid.status_code, paid.json().get(\"x402\"))\n# -> 200 {'settled': True, 'tx': '0x...'}\n# `paid.json()['result']` carries the opaque paid intel (buyer-gated).\n\n# Reference implementation: smartcontractauditpro/x402_smoke.py.\n"
- lang: TypeScript
label: TypeScript
source: "// quickstart-x402.ts — make your first paid call ($0.10 USDC on Base).\n// Deps: npm i viem\n// Wallet: needs >= $0.10 USDC on Base. NO gas (server pays).\n// Key: set X402_TEST_PRIVATE_KEY — never commit a real key.\nimport { privateKeyToAccount } from \"viem/accounts\";\nimport { toHex } from \"viem\";\n\nconst URL = \"https://api.onchainagentintel.io/v1/intel/agent/19353\";\n\n// 1) Unpaid — get the 402 challenge.\nconst r1 = await fetch(URL);\nif (r1.status !== 402) throw new Error(`expected 402, got ${r1.status}`);\nconst challenge = await r1.json();\nconst accept = challenge.accepts.find((a: any) => a.network === \"base-mainnet\");\n// accept: scheme=\"exact\", payTo=<Safe>, asset=<USDC on Base>,\n// maxAmountRequired=\"100000\" ($0.10 USDC).\n\n// 2) Sign an EIP-3009 transferWithAuthorization off-chain.\nconst account = privateKeyToAccount(\n process.env.X402_TEST_PRIVATE_KEY as `0x${string}`, // PLACEHOLDER\n);\nconst nonceBytes = crypto.getRandomValues(new Uint8Array(32));\nconst nonce = toHex(nonceBytes);\nconst now = Math.floor(Date.now() / 1000);\nconst validBefore = BigInt(now + 600);\nconst authorization = {\n from: account.address,\n to: accept.payTo,\n value: BigInt(accept.maxAmountRequired),\n validAfter: 0n,\n validBefore,\n nonce,\n} as const;\nconst signature = await account.signTypedData({\n domain: {\n name: accept.extra.name,\n version: accept.extra.version,\n chainId: 8453,\n verifyingContract: accept.asset,\n },\n types: {\n TransferWithAuthorization: [\n { name: \"from\", type: \"address\" },\n { name: \"to\", type: \"address\" },\n { name: \"value\", type: \"uint256\" },\n { name: \"validAfter\", type: \"uint256\" },\n { name: \"validBefore\", type: \"uint256\" },\n { name: \"nonce\", type: \"bytes32\" },\n ],\n },\n primaryType: \"TransferWithAuthorization\",\n message: authorization,\n});\n\n// 3) Retry with X-PAYMENT (base64-encoded x402 envelope) — get 200.\nconst envelope = {\n x402Version: 1,\n scheme: \"exact\",\n network: \"base-mainnet\",\n payload: {\n authorization: {\n from: authorization.from,\n to: authorization.to,\n value: accept.maxAmountRequired,\n validAfter: 0,\n validBefore: Number(validBefore),\n nonce,\n },\n signature,\n },\n};\nconst header = Buffer.from(JSON.stringify(envelope)).toString(\"base64\");\nconst r2 = await fetch(URL, { headers: { \"X-PAYMENT\": header } });\nconsole.log(r2.status, (await r2.json()).x402);\n// -> 200 { settled: true, tx: \"0x...\" }\n// `.result` on the paid response carries the opaque paid intel (buyer-gated).\n"
/v1/intel/search:
post:
tags:
- paid-x402
summary: Agent Intelligence — Capability Search
description: 'Search thousands of indexed ERC-8004 agents by capabilities, chain, readiness bucket, x402 support, or minimum payment activity. Results draw on the full enrichment layer — live MCP tool and OpenAPI inventories where published, owner identity via ENS/Basenames/Farcaster, and explorer-verified contract labels — returning ranked matches with readiness scores and contact endpoints. Ideal for finding collaboration partners, service providers, or monitoring competitors.
**Payment (x402):**
- base: 0.20 USDC (EIP-3009)
- ethereum: 0.20 USDC (EIP-3009)
The 200 response body carries paid-gated intel; field-level schemas are intentionally not published. See the 402 `preview` block for the buyer-visible teaser.'
operationId: paid_agent_intel_search_post
security:
- x402: []
responses:
'200':
description: Paid intel. Body shape is opaque in this public spec (paid-gated). Integrators should use the 402 preview envelope + the human docs at https://onchainagentintel.io/docs for field lists.
content:
application/json:
schema:
type: object
additionalProperties: true
'402':
$ref: '#/components/responses/PaymentRequired'
requestBody:
required: false
content:
application/json:
schema:
type: object
additionalProperties: true
description: Optional JSON body. See https://onchainagentintel.io/docs for per-endpoint body fields.
/v1/intel/trending:
get:
tags:
- paid-x402
summary: Agent Intelligence — Trending & Market Activity
description: 'Agents with rising on-chain payment activity, recently enriched endpoints, or newly moved into the Transact-ready readiness bucket (buyer-POV Agent Readiness & Trust score, the sole categorical signal). Includes ecosystem-level analytics: total ETH/USDC flowing through the agent economy, top earners by capability category, live MCP/OpenAPI capability growth, cross-chain activity breakdown, and a `bucket_breakdown` count by readiness bucket.
**Payment (x402):**
- base: 0.30 USDC (EIP-3009)
- ethereum: 0.30 USDC (EIP-3009)
The 200 response body carries paid-gated intel; field-level schemas are intentionally not published. See the 402 `preview` block for the buyer-visible teaser.'
operationId: paid_agent_intel_trending_get
security:
- x402: []
responses:
'200':
description: Paid intel. Body shape is opaque in this public spec (paid-gated). Integrators should use the 402 preview envelope + the human docs at https://onchainagentintel.io/docs for field lists.
content:
application/json:
schema:
type: object
additionalProperties: true
'402':
$ref: '#/components/responses/PaymentRequired'
parameters:
- name: wallet
in: query
required: false
description: string (optional) — 0x-prefixed payer address. If you have an active /v1/intel/subscribe subscription, pass it to bypass per-call payment.
schema:
type: string
/v1/intel/peers/{agent_id}:
get:
tags:
- paid-x402
summary: Agent Intelligence — Peer Similarity
description: 'The 10 most similar agents to a given agentId, ranked by capability overlap (including live MCP tool and OpenAPI inventories where published) and on-chain payment activity. Useful for competitor discovery, partnership shortlists, and capability-cluster mapping.
**Payment (x402):**
- base: 0.10 USDC (EIP-3009)
- ethereum: 0.10 USDC (EIP-3009)
The 200 response body carries paid-gated intel; field-level schemas are intentionally not published. See the 402 `preview` block for the buyer-visible teaser.'
operationId: paid_agent_intel_peers_get
security:
- x402: []
responses:
'200':
description: Paid intel. Body shape is opaque in this public spec (paid-gated). Integrators should use the 402 preview envelope + the human docs at https://onchainagentintel.io/docs for field lists.
content:
application/json:
schema:
type: object
additionalProperties: true
'402':
$ref: '#/components/responses/PaymentRequired'
parameters:
- name: agent_id
in: path
required: true
description: integer — ERC-8004 agentId of the agent whose peers you want.
schema:
type: integer
minimum: 0
- name: chain
in: query
required: false
description: 'string (optional) — base | ethereum. Default: base.'
schema:
type: string
- name: wallet
in: query
required: false
description: string (optional) — 0x-prefixed payer address. If you have an active subscription, pass it to bypass per-call payment.
schema:
type: string
/v1/intel/market:
get:
tags:
- paid-x402
summary: Agent Intelligence — Capability Market Map
description: 'Capability-level market analytics: crowded niches, lucrative niches, low-competition opportunities. Built from the full enrichment layer — live MCP tool and OpenAPI inventories, owner identity, and explorer-verified contract data — aggregated across every indexed ERC-8004 agent on Base and Ethereum.
**Payment (x402):**
- base: 0.30 USDC (EIP-3009)
- ethereum: 0.30 USDC (EIP-3009)
The 200 response body carries paid-gated intel; field-level schemas are intentionally not published. See the 402 `preview` block for the buyer-visible teaser.'
operationId: paid_agent_intel_market_get
security:
- x402: []
responses:
'200':
description: Paid intel. Body shape is opaque in this public spec (paid-gated). Integrators should use the 402 preview envelope + the human docs at https://onchainagentintel.io/docs for field lists.
content:
application/json:
schema:
type: object
additionalProperties: true
'402':
$ref: '#/components/responses/PaymentRequired'
parameters:
- name: wallet
in: query
required: false
description: string (optional) — 0x-prefixed payer address. If you have an active subscription, pass it to bypass per-call payment.
schema:
type: string
/v1/intel/delta:
get:
tags:
- paid-x402
summary: Agent Intelligence — Ecosystem Delta
description: 'Agents newly registered or newly active since a given Unix timestamp, including newly captured live endpoints (MCP tool and OpenAPI inventories), freshly resolved owner identity, new explorer-verified labels, and readiness-bucket transitions. Default window: last 24 hours. Use for change detection, monitoring competitors, or seeding alerts.
**Payment (x402):**
- base: 0.20 USDC (EIP-3009)
- ethereum: 0.20 USDC (EIP-3009)
The 200 response body carries paid-gated intel; field-level schemas are intentionally not published. See the 402 `preview` block for the buyer-visible teaser.'
operationId: paid_agent_intel_delta_get
security:
- x402: []
responses:
'200':
description: Paid intel. Body shape is opaque in this public spec (paid-gated). Integrators should use the 402 preview envelope + the human docs at https://onchainagentintel.io/docs for field lists.
content:
application/json:
schema:
type: object
additionalProperties: true
'402':
$ref: '#/components/responses/PaymentRequired'
parameters:
- name: since
in: query
required: false
description: 'integer (optional) — Unix timestamp in seconds. Default: 24 hours ago.'
schema:
type: integer
- name: wallet
in: query
required: false
description: string (optional) — 0x-prefixed payer address. If you have an active subscription, pass it to bypass per-call payment.
schema:
type: string
/v1/intel/graph:
get:
tags:
- paid-x402
summary: Agent Intelligence — Full Payment Graph
description: 'Complete agent-payment network graph: all nodes (every indexed agent) and all edges (inter-agent ETH + USDC transfers across Base and Ethereum). Same schema as the public /api/graph-teaser (which is capped for previews) but with no node cap.
**Payment (x402):**
- base: 0.30 USDC (EIP-3009)
- ethereum: 0.30 USDC (EIP-3009)
The 200 response body carries paid-gated intel; field-level schemas are intentionally not published. See the 402 `preview` block for the buyer-visible teaser.'
operationId: paid_agent_intel_graph_get
security:
- x402: []
responses:
'200':
description: Paid intel. Body shape is opaque in this public spec (paid-gated). Integrators should use the 402 preview envelope + the human docs at https://onchainagentintel.io/docs for field lists.
content:
application/json:
schema:
type: object
additionalProperties: true
'402':
$ref: '#/components/responses/PaymentRequired'
parameters:
- name: wallet
in: query
required: false
description: string (optional) — 0x-prefixed payer address. If you have an active subscription, pass it to bypass per-call payment.
schema:
type: string
/v1/intel/subscribe:
post:
tags:
- paid-x402
summary: Agent Intelligence — 30-Day Flat-Rate Subscription
description: 'Pay once for 30-day flat-rate access to all per-call intel endpoints (profile, search, trending, delta, peers, market, graph). Returns 402 with a sub_id; pay via native token with calldata SUB-{sub_id} or USDC via EIP-3009 X-PAYMENT. After payment confirms, query any covered endpoint with ?wallet=YOUR_ADDR to skip per-call charges for 30 days. Poll /v1/intel/subscription/{sub_id} (free, public) for activation status.
**Payment (x402):**
- base: 5.00 USDC (EIP-3009)
- ethereum: 5.00 USDC (EIP-3009)
The 200 response body carries paid-gated intel; field-level schemas are intentionally not published. See the 402 `preview` block for the buyer-visible teaser.'
operationId: paid_agent_intel_subscribe_post
security:
- x402: []
responses:
'200':
description: Paid intel. Body shape is opaque in this public spec (paid-gated). Integrators should use the 402 preview envelope + the human docs at https://onchainagentintel.io/docs for field lists.
content:
application/json:
schema:
type: object
additionalProperties: true
'402':
$ref: '#/components/responses/PaymentRequired'
requestBody:
required: false
content:
application/json:
schema:
type: object
additionalProperties: true
description: Optional JSON body. See https://onchainagentintel.io/docs for per-endpoint body fields.
/v1/audit:
post:
tags:
- paid-x402
summary: Smart Contract Security Audit
description: 'Full security audit of any Solidity contract. Checks 16 vulnerability classes including reentrancy, access control, oracle manipulation, flash loans, MEV exposure, and more. Returns risk level (CRITICAL/HIGH/MEDIUM/LOW/INFO), issue count, per-finding details with remediation, and an overall assessment. Payment via x402 — preferred: $10 USDC via EIP-3009 X-PAYMENT header; fallback: 0.01 ETH with calldata AUDIT-{id}.
**Payment (x402):**
- base: 10.00 USDC (EIP-3009)
- ethereum: 10.00 USDC (EIP-3009)
The 200 response body carries paid-gated intel; field-level schemas are intentionally not published. See the 402 `preview` block for the buyer-visible teaser.'
operationId: paid_smart_contract_audit_post
security:
- x402: []
responses:
'200':
description: Paid intel. Body shape is opaque in this public spec (paid-gated). Integrators should use the 402 preview envelope + the human docs at https://onchainagentintel.io/docs for field lists.
content:
application/json:
schema:
type: object
additionalProperties: true
'402':
$ref: '#/components/responses/PaymentRequired'
requestBody:
required: false
content:
application/json:
schema:
type: object
additionalProperties: true
description: Optional JSON body. See https://onchainagentintel.io/docs for per-endpoint body fields.
/v1/evaluate:
post:
tags:
- paid-x402
summary: ERC-8183 Deliverable Evaluation
description: 'Evaluator attestation for ERC-8183 Jobs. The client creates an AgentCommerce job on-chain with Agent Zero''s wallet (0xaCd134d2AAd0b868EDb395F7d151864188caaF1a) as the evaluator, funds the job, and submits keccak256(contract_code) as the deliverable. Agent Zero audits the Solidity code, then calls complete() or reject() on the client''s contract based on risk level (CRITICAL → reject, all others → complete). Outcome is attested on-chain with the report hash. Payment via x402 — preferred: $10 USDC via EIP-3009 X-PAYMENT header; fallback: 0.01 ETH with calldata EVAL-{id}.
**Payment (x402):**
- base: 10.00 USDC (EIP-3009)
- ethereum: 10.00 USDC (EIP-3009)
The 200 response body carries paid-gated intel; field-level schemas are intentionally not published. See the 402 `preview` block for the buyer-visible teaser.'
operationId: paid_erc8183_evaluation_post
security:
- x402: []
responses:
'200':
description: Paid intel. Body shape is opaque in this public spec (paid-gated). Integrators should use the 402 preview envelope + the human docs at https://onchainagentintel.io/docs for field lists.
content:
application/json:
schema:
type: object
additionalProperties: true
'402':
$ref: '#/components/responses/PaymentRequired'
requestBody:
required: false
content:
application/json:
schema:
type: object
additionalProperties: true
description: Optional JSON body. See https://onchainagentintel.io/docs for per-endpoint body fields.
components:
responses:
PaymentRequired:
description: Payment required. Retry with X-PAYMENT header.
headers:
Link:
description: RFC 8288 Link header (task 0179, per-agent operations only). Comma-separated values include `rel="alternate"; type="text/html"` pointing at the free per-agent SEO page (or the chain brief fallback) and `rel="describedby"` pointing at `https://api.onchainagentintel.io/llms.txt`.
schema:
type: string
content:
application/json:
schema:
type: object
required:
- x402Version
- accepts
properties:
x402Version:
type: integer
example: 1
accepts:
type: array
items:
type: object
properties:
scheme:
type: string
example: exact
network:
type: string
example: base-mainnet
maxAmountRequired:
type: string
example: '100000'
payTo:
type: string
example: '0xaCd134d2AAd0b868EDb395F7d151864188caaF1a'
asset:
type: string
example: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
maxTimeoutSeconds:
type: integer
example: 300
extra:
type: object
additionalProperties: true
resource:
type: string
format: uri
description: Canonical URL of the paid resource this accept entry unlocks. Discovery indexers key on this field.
example: https://api.onchainagentintel.io/v1/intel/agent_profile
description:
type: string
description: Agent-readable one-line summary of what the paid resource returns. Rendered in the discovery UI.
example: 'Paid ERC-8004 agent intelligence (agent_profile): trust verdict, reputation, and commerce-backed signals for on-chain agents on Base + Ethereum.'
mimeType:
type: string
description: MIME type of the 200 response served on successful payment.
example: application/json
preview:
type: object
description: Buyer-visible teaser. Contains a small set of unlocked fields (identifiers, high-level readiness bucket + score, capability count, boolean coverage flags) so integrators can decide whether to pay. Full paid response fields stay gated behind the 200.
additionalProperties: true
see_also:
type: object
description: Task 0179 (per-agent operations only). Pointers to the free 200-returning surface that answers the same question. Additive to `preview` / `accepts[]` — never replaces them. `free_page` is the direct per-agent SEO page URL when one exists (built from `onchainagentintel-site/build_seo_pages.py`); `free_page_fallback` is the chain brief (`/chains/{chain}`); `free_endpoints[]` enumerates the public `/v1/public/*` surfaces; `llms_txt` points at the site+API map.
properties:
free_page:
type: string
format: uri
example: https://onchainagentintel.io/agents/base/19353
free_page_fallback:
type: string
format: uri
example: https://onchainagentintel.io/chains/base
free_endpoints:
type: array
items:
type: string
format: uri
llms_txt:
type: string
format: uri
example: https://api.onchainagentintel.io/llms.txt
additionalProperties: true
securitySchemes:
x402:
type: apiKey
in: header
name: X-PAYMENT
description: x402 payment envelope (base64-encoded JSON). Paid endpoints return HTTP 402 with an `accepts[]` list of accepted payment methods (USDC on Base/Ethereum via EIP-3009, or native ETH). Sign a payment authorization matching one of those entries, base64-encode it, and retry with this header set to receive the 200 response. See https://onchainagentintel.io/docs and https://api.onchainagentintel.io/agent.json for the full flow.
x-x402:
version: 1
settlement_networks:
- base
- ethereum
pay_to: '0xaCd134d2AAd0b868EDb395F7d151864188caaF1a'
externalDocs:
description: Human docs, pricing, payment flow.
url: https://onchainagentintel.io/docs