Search every indexed x402 resource across Coinbase Bazaar, Agent402 and Agentic Market in
Search every indexed x402 resource across Coinbase Bazaar, Agent402 and Agentic Market in one call (7k+ tools): name, description, price, seller, network and real usage metrics (calls, unique buyers, settled volume), with per-source freshness data. The meta-tool for agents: find the right paid tool for any task first, then call it.
1000 (raw units)
price
1
calls / 30d
1
unique payers
2026-09-03
updated
Provider
agentbit.app · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x4395C7e383b7e05665aad7f36ed77c01923Dd965",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "1000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"description": "Aggregated discovery for the x402 ecosystem. AgentBIT continuously scans the public Coinbase Bazaar, the Agent402 index and the Agentic Market API, deduplicates resources by URL and enriches them with historical usage metrics (settled calls, unique buyers, USD volume) and per-source freshness. One symbolic-price call replaces querying three registries. Filters: category, network (CAIP-2), source, max_price; sorting by price, volume, calls or recency. The same search is free over plain HTTP at /api/discover — this x402 endpoint exists so payment-native agents can use it in-band and discover it in the Bazaar itself.",
"errors": [
{
"code": "PAYMENT_REQUIRED",
"description": "Missing or invalid payment — retry with a valid PAYMENT-SIGNATURE header",
"retryable": true,
"status": 402
},
{
"code": "VALIDATION_ERROR",
"description": "Request body does not match the input schema",
"retryable": false,
"status": 422
},
{
"code": "RATE_LIMITED",
"description": "Too many requests from this client",
"retryable": true,
"status": 429
},
{
"code": "UPSTREAM_TIMEOUT",
"description": "Upstream data source unavailable — safe to retry",
"retryable": true,
"status": 502
}
],
"input": {
"body": {
"limit": 5,
"query": "web search",
"sort": "volume"
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"networks": [
"eip155:8453"
],
"output": {
"example": {
"freshness": {
"bazaar": {
"ageHours": 2.1,
"fresh": true,
"resources": 5359
}
},
"items": [
{
"metrics": {
"calls": 3,
"uniqueBuyers": 1
},
"name": "Web Search",
"network": "eip155:8453",
"price": 0.015,
"resource": "https://agentbit.app/v1/web/search",
"seller": "0x4395...",
"source": "bazaar"
}
],
"sources": [
"coinbase-bazaar",
"agent402",
"agentic-market"
],
"total": 42
},
"type": "json"
},
"pricing": {
"amount": 0.001,
"currency": "USDC",
"firstCallFree": true,
"model": "per-call",
"quoteHint": "Send your wallet address in an X-BUYER-WALLET header on the unpaid request to receive your personalized (volume-discounted) quote.",
"volumeDiscounts": [
{
"minCalls30d": 100,
"percent": 10
},
{
"minCalls30d": 1000,
"percent": 20
}
]
},
"reliability": {
"measuredAt": "2026-09-03T19:55:05+00:00",
"p50LatencyMs": 295,
"p95LatencyMs": 295,
"sampleSize": 1,
"successRatePercent": 100,
"windowDays": 30
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"description": {
"type": "string"
},
"errors": {
"items": {
"properties": {
"code": {
"type": "string"
},
"description": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"status": {
"type": "integer"
}
},
"required": [
"status",
"code"
],
"type": "object"
},
"type": "array"
},
"input": {
"additionalProperties": false,
"properties": {
"body": {
"description": "x402 Ecosystem Discovery input. Search every indexed x402 resource across Coinbase Bazaar, Agent402 and Agentic Market in one call (7k+ tools): name, description, price, seller, network and real usage metrics (calls, unique buyers, settled volume), with per-source freshness data. The meta-tool for agents: find the right paid tool for any task first, then call it.",
"properties": {
"category": {
"type": "string"
},
"limit": {
"description": "Max results (default 25, max 100)",
"type": "integer"
},
"max_price": {
"description": "Maximum price in USDC",
"type": "number"
},
"network": {
"description": "CAIP-2, e.g. eip155:8453",
"type": "string"
},
"query": {
"description": "What you are looking for (matched against name, description, URL)",
"type": "string"
},
"sort": {
"enum": [
"price",
"volume",
"calls",
"recency"
],
"type": "string"
},
"source": {
"enum": [
"bazaar",
"agent402",
"agentic_market"
],
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"headers": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"queryParams": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"networks": {
"items": {
"type": "string"
},
"type": "array"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"pricing": {
"properties": {
"amount": {
"type": [
"number",
"null"
]
},
"currency": {
"type": "string"
},
"firstCallFree": {
"type": "boolean"
},
"maxAmount": {
"type": "number"
},
"model": {
"type": "string"
},
"quoteHint": {
"type": "string"
},
"volumeDiscounts": {
"items": {
"properties": {
"minCalls30d": {
"type": "integer"
},
"percent": {
"type": "number"
}
},
"required": [
"minCalls30d",
"percent"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"reliability": {
"properties": {
"measuredAt": {
"type": "string"
},
"p50LatencyMs": {
"type": [
"integer",
"null"
]
},
"p95LatencyMs": {
"type": [
"integer",
"null"
]
},
"sampleSize": {
"type": "integer"
},
"successRatePercent": {
"type": "number"
},
"windowDays": {
"type": "integer"
}
},
"required": [
"successRatePercent",
"sampleSize",
"windowDays"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://agentbit.app/v1/x402/discover" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://agentbit.app/v1/x402/discover");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://agentbit.app/v1/x402/discover")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/10999.json, and this resource appears in /discovery/resources and /discovery/search.