payment-ready until 2026-08-20
66 pay-per-call HTTP APIs for AI agents over x402 (USDC on Base, no signup, no API keys): web scraping and JS-rendered page-to-markdown, web search, isolated code sandbox, LLM ask/classify/summarize, crypto and DeFi market data (spot, candles, order books, funding rates, yields, TVL, stablecoins), prediction-market odds, news and sentiment, plus agent utilities (KV memory, verifiable randomness, webhooks, notary, metered upstream gateways).
Pay from $0.002 to $0.02 per request in USDC on Base, settled onchain via the x402 protocol, no signup, no API key needed.
first settlement 2026-06-11 · $8.55 all-time · settled via coinbase
ASSESSMENT
updated 4h agoEvidence-backed signals, not a single score. Click any chip for the proof. Measured values stay read-only; unknown is honest.
reliability 99.9%
- uptime 24h
- 100%
- uptime 7d
- 100%
- uptime 30d
- 99.9%
- uptime 90d
- 99.9%
- response p95
- 233ms
- avg response
- 119ms
- total checks
- 2,736
Measured on the unpaid 402 handshake, not the paid call. A service can 402 correctly and still fail after payment.
compliance A (13/13)
13 of 13 x402 conformance checks pass. Full checklist below.
price $0.002 to $0.02 (p21 in Data)
- price (min)
- $0.002
- price (max)
- $0.02
- category percentile (min)
- p21 in Data
- category percentile (max)
- p40 in Data
- endpoints / prices
- 37 / 10
- model
- tiered
- stability
- 0%
risk clean
No deterministic risk flag. Risk fires only on an exact blocklist match, or a reserved-brand name with a mismatched verified payTo. Never from low uptime, a high price, or a model guess.
- domain age
- -
- registrar
- -
- hosting
- custom
- domain created
- ---
Identity facts, not a risk score.
traction $5.586 30d · 94 buyers
- volume 30d
- $5.586
- buyers 30d
- 94
- settlements 30d
- 1,181
- first settlement
- 2026-06-11
- last settlement
- 2026-08-13
- top buyer share
- 67% of 30d volume
- trend 7d vs 30d
- 0.42x the 30d daily rate
- networks
- eip155:8453
- volume all-time
- $8.55
- settlements all-time
- 1,931
- median settlement 30d
- $0.003
- max settlement 30d
- $0.05
- settled via
- coinbase ($5.59, 1,181 tx)
Conservative undercount: only USDC settlements via facilitators we measure are counted. A measured floor, not an estimate.
Top buyer share is a concentration signal, not part of the ranking score.
CHANGES
3 events, detecting since 2026-07-24Payout, price, and schema changes detected on this service's x402 wire. A payout rotation at an unchanged price shows up here even when nothing else moves. Full feed at /changes.
changes price changed 4h ago (3 since 2026-07-24)
price changed · 4h ago
GET /news · eip155:8453 · USDC: 2000 → 3000
price changed · 3d ago
GET /crypto · eip155:8453 · USDC: 3000 → 4000
GET /funding · eip155:8453 · USDC: 4000 → 5000
GET /rand · eip155:8453 · USDC: 3000 → 4000
GET /weather · eip155:8453 · USDC: 4000 → 5000
price changed · 9d ago
GET /crypto · eip155:8453 · USDC: 2000 → 3000
GET /funding · eip155:8453 · USDC: 3000 → 4000
GET /orderbook · eip155:8453 · USDC: 4000 → 5000
GET /rand · eip155:8453 · USDC: 2000 → 3000
GET /weather · eip155:8453 · USDC: 3000 → 4000
Amounts are on-wire atomic units in the named asset.
WHAT IT DOES
ai-derivedNo AI synthesis has been produced for this service yet.
ENDPOINTS
| METHOD | PATH | DESCRIPTION | PRICE | NETWORK | ASSET | 402 CHANNEL |
|---|---|---|---|---|---|---|
| GET | /ask | --- | USDC | - | ||
| GET | /candles | $0.005 | Base | USDC | header | |
| GET | /classify | --- | USDC | - | ||
| POST | /convert | $0.003 | Base | USDC | header | |
| POST | /count | $0.002 | Base | USDC | header | |
| GET | /crypto | $0.004 | Base | USDC | header | |
| POST | /extract | $0.015 | Base | USDC | header | |
| GET | /funding | $0.005 | Base | USDC | header | |
| GET | /fx | $0.003 | Base | USDC | header | |
| GET | /gas | $0.003 | Base | USDC | header | |
| GET | /geo | $0.002 | Base | USDC | header | |
| GET | /gw/binance | $0.002 | Base | USDC | header | |
| GET | /gw/coingecko | $0.002 | Base | USDC | header | |
| GET | /gw/defillama | $0.002 | Base | USDC | header | |
| GET | /kv | $0.002 | Base | USDC | header | |
| GET | /llama/chains | $0.004 | Base | USDC | header | |
| GET | /llama/protocols | $0.008 | Base | USDC | header | |
| GET | /llama/stablecoins | $0.004 | Base | USDC | header | |
| GET | /llama/yields | $0.008 | Base | USDC | header | |
| GET | /markdown | $0.004 | Base | USDC | header | |
| GET | /news | $0.003 | Base | USDC | header | |
| GET | /notarize | $0.002 | Base | USDC | header | |
| GET | /orderbook | $0.005 | Base | USDC | header | |
| GET | $0.005 | Base | USDC | header | ||
| GET | /pmscan | $0.02 | Base | USDC | header | |
| GET | /predictions | $0.005 | Base | USDC | header | |
| GET | /rand | $0.004 | Base | USDC | header | |
| GET | /render | $0.014 | Base | USDC | header | |
| GET | /rss | $0.004 | Base | USDC | header | |
| GET | /sandbox | --- | USDC | - | ||
| GET | /scrape | $0.006 | Base | USDC | header | |
| GET | /search | $0.012 | Base | USDC | header | |
| GET | /sentiment | $0.002 | Base | USDC | header | |
| GET | /trending | $0.002 | Base | USDC | header | |
| GET | /tz | $0.002 | Base | USDC | header | |
| POST | /validate | $0.002 | Base | USDC | header | |
| GET | /weather | $0.005 | Base | USDC | header | |
| GET | /webhook | $0.003 | Base | USDC | header | |
| GET | /x402index | $0.005 | Base | USDC | header | |
| GET | /yields | $0.005 | Base | USDC | header |
REQUEST / RESPONSE EXAMPLE
An unpaid request to GET /ask returns HTTP 402 with the payment terms. Settle onchain via your facilitator, then retry with the X-Payment header.
curl -i 'https://x402.shizu.me/ask'
// 402 response (captured by monitor) · 37 payloads · click to expand
[
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "2000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/kv",
"tags": [
"memory",
"state",
"kv-store",
"agent",
"persistence",
"scratchpad",
"checkpoint",
"resume",
"memory-between-runs"
],
"mimeType": "application/json",
"description": "Your agent forgets everything when it exits. Checkpoint here and resume next run: POST {key, value, ttl?} stores JSON private to your paying wallet; GET ?key= restores it later. Resume long jobs where they stopped, skip work already done, remember what you told the user yesterday. Value up to 8KB, ttl up to 30d — durable memory as one call, no database.",
"serviceName": "Agent Memory: save state between runs"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"key": "run-42-cursor"
}
},
"output": {
"type": "json",
"example": {
"key": "run-42-cursor",
"found": true,
"value": {
"page": 7
}
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"key"
],
"properties": {
"key": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "2000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/gw/defillama",
"tags": [
"gateway",
"proxy",
"rate-limit",
"defillama",
"api"
],
"mimeType": "application/json",
"description": "Call DefiLlama TVL/yields through our metered gateway: our rate-limit budget and a 300s cache absorb your polling, so your loop never sees a 429. Inputs: path (upstream path, e.g. /ping) and q (raw query string). Returns the upstream JSON under 'data'.",
"serviceName": "Metered Gateway: DefiLlama TVL/yields"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"q": "",
"path": "/ping"
}
},
"output": {
"type": "json",
"example": {
"data": {},
"path": "/ping",
"upstream": "defillama"
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"path",
"q"
],
"properties": {
"q": {
"type": "string"
},
"path": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "2000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/trending",
"tags": [
"crypto",
"trending",
"momentum",
"coingecko",
"discovery",
"screener",
"altcoins"
],
"mimeType": "application/json",
"description": "Cryptocurrencies trending on CoinGecko right now — the coins agents and humans are searching for most. Returns id, symbol, name, market-cap rank, and price data per coin. No inputs. Use for momentum scanning, narrative detection, and screener loops.",
"serviceName": "Trending Coins"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {}
},
"output": {
"type": "json",
"example": {
"coins": [
{
"id": "bitcoin",
"name": "Bitcoin",
"rank": 1,
"symbol": "BTC",
"price_usd": 62542
}
],
"count": 1
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [],
"properties": {}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "5000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/candles",
"tags": [
"crypto",
"ohlc",
"candles",
"technical-analysis",
"backtesting",
"market-data",
"trading",
"bitcoin"
],
"mimeType": "application/json",
"description": "Historical OHLC candles for a crypto pair (e.g. BTC-USD) — for technical analysis and backtesting. Query: pair; granularity (1m, 5m, 15m, 1h, 6h, 1d — default 1h); limit (1-300, default 100) for the latest window, OR start & end (ISO8601 or unix secs) for a backtest range paginated server-side up to 3000 candles — months of history in one call. Returns candles oldest->newest, each {t, o, h, l, c, v}. Real-time from Coinbase.",
"serviceName": "Crypto OHLC Candles"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"end": "2026-02-01T00:00:00Z",
"pair": "BTC-USD",
"start": "2026-01-01T00:00:00Z",
"granularity": "1h"
}
},
"output": {
"type": "json",
"example": {
"pair": "BTC-USD",
"count": 744,
"candles": [
{
"c": 62542,
"h": 62600,
"l": 62310.5,
"o": 62410.1,
"t": 1719763200,
"v": 118.3
}
],
"granularity": "1h"
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"pair",
"granularity",
"start",
"end"
],
"properties": {
"end": {
"type": "string"
},
"pair": {
"type": "string"
},
"start": {
"type": "string"
},
"granularity": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "8000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/llama/yields",
"tags": [
"defi",
"yields",
"apy",
"tvl",
"defillama",
"pools",
"farming",
"staking",
"lending",
"quant"
],
"mimeType": "application/json",
"description": "Every DefiLlama yield pool, filtered and sorted server-side so you don't fetch the 11MB index. Query: chain, project, symbol, min_tvl (USD), min_apy (%), stablecoin (true/false), sort (tvl|apy), limit (1-100). Each pool: project, chain, symbol, tvl_usd, apy, apy_base, apy_reward, stablecoin, il_risk, exposure. APYs move — poll it.",
"serviceName": "DeFi Yield Pools (filtered)"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"sort": "apy",
"chain": "Base",
"limit": "20",
"min_tvl": "1000000"
}
},
"output": {
"type": "json",
"example": {
"count": 20,
"pools": [
{
"apy": 18.4,
"pool": "abc",
"chain": "Base",
"symbol": "USDC-ETH",
"il_risk": "yes",
"project": "aerodrome",
"tvl_usd": 4200000,
"apy_base": 12.1,
"exposure": "multi",
"apy_reward": 6.3,
"stablecoin": false
}
],
"source": "defillama",
"total_pools": 15981
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"chain",
"min_tvl",
"sort",
"limit"
],
"properties": {
"sort": {
"type": "string"
},
"chain": {
"type": "string"
},
"limit": {
"type": "string"
},
"min_tvl": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "4000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/markdown",
"tags": [
"webpage-to-markdown",
"markdown",
"html-to-markdown",
"web-scraping",
"content-extraction",
"web",
"llm"
],
"mimeType": "application/json",
"description": "Fetch any public web page and return its main content as clean Markdown, ready to feed to an LLM. Boilerplate (nav, ads, footers) stripped. Input: url (public http/https). Returns {url, markdown, word_count}.",
"serviceName": "Webpage to Markdown"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"url": "https://example.com"
}
},
"output": {
"type": "json",
"example": {
"url": "https://example.com",
"markdown": "# Example Domain\n\nThis domain is for use in illustrative examples...",
"word_count": 28
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "3000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/gas",
"tags": [
"gas",
"gas-price",
"ethereum",
"base",
"evm",
"blockchain",
"transaction-fees",
"eip1559",
"onchain",
"web3"
],
"mimeType": "application/json",
"description": "Current gas prices for Base or Ethereum mainnet: legacy gas price, EIP-1559 base fee and suggested priority fee (all gwei), plus the latest block number. Query: chain (base | ethereum, default base). Real-time from public RPC. Use to time on-chain transactions, estimate costs, and monitor fee spikes.",
"serviceName": "EVM Gas Price Oracle"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"chain": "base"
}
},
"output": {
"type": "json",
"example": {
"block": 27100000,
"chain": "base",
"base_fee_gwei": 0.008,
"gas_price_gwei": 0.012,
"priority_fee_gwei": 0.001
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"chain"
],
"properties": {
"chain": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "2000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/gw/coingecko",
"tags": [
"gateway",
"proxy",
"rate-limit",
"coingecko",
"api"
],
"mimeType": "application/json",
"description": "Call CoinGecko market data through our metered gateway: our rate-limit budget and a 30s cache absorb your polling, so your loop never sees a 429. Inputs: path (upstream path, e.g. /ping) and q (raw query string). Returns the upstream JSON under 'data'.",
"serviceName": "Metered Gateway: CoinGecko market data"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"q": "",
"path": "/ping"
}
},
"output": {
"type": "json",
"example": {
"data": {},
"path": "/ping",
"upstream": "coingecko"
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"path",
"q"
],
"properties": {
"q": {
"type": "string"
},
"path": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "2000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/tz",
"tags": [
"timezone",
"time",
"datetime",
"iana",
"conversion"
],
"mimeType": "application/json",
"description": "Convert a timestamp between IANA timezones. Inputs: from, to (e.g. UTC, America/New_York), time? (ISO8601, default now). Returns input/converted timestamps and UTC offset.",
"serviceName": "Timezone Converter"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"to": "America/New_York",
"from": "UTC"
}
},
"output": {
"type": "json",
"example": {
"to": "America/New_York",
"from": "UTC",
"input": "2026-06-11T15:45:58+00:00",
"converted": "2026-06-11T11:45:58-04:00",
"utc_offset": "-0400"
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string"
},
"from": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "2000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/sentiment",
"tags": [
"crypto",
"sentiment",
"fear-greed",
"market-psychology",
"signal",
"trading",
"risk",
"indicator"
],
"mimeType": "application/json",
"description": "Crypto market sentiment: the Fear & Greed Index (0=extreme fear, 100=extreme greed) with classification, plus optional history. Query: days (1-90, default 7). Use as a contrarian signal, regime filter, or risk gauge in trading loops.",
"serviceName": "Crypto Fear & Greed Index"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"days": "7"
}
},
"output": {
"type": "json",
"example": {
"now": {
"value": 28,
"classification": "Fear"
},
"history": [
{
"date": "2026-07-12",
"value": 26,
"classification": "Fear"
}
]
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"days"
],
"properties": {
"days": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "5000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/orderbook",
"tags": [
"crypto",
"orderbook",
"bid-ask",
"spread",
"market-data",
"trading",
"liquidity",
"market-microstructure",
"bitcoin"
],
"mimeType": "application/json",
"description": "Live order book for a crypto pair (e.g. BTC-USD). Default level=1: best bid/ask with sizes, mid price, spread, and spread_bps. level=2 adds top-of-book depth (depth param, 1-50 price levels per side, default 20). Real-time from Coinbase. Use for trading signals, spread monitoring, liquidity checks, and execution decisions.",
"serviceName": "Crypto Order Book"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"pair": "BTC-USD"
}
},
"output": {
"type": "json",
"example": {
"ask": [
62541.8,
0.3
],
"bid": [
62540.2,
0.5
],
"mid": 62541,
"pair": "BTC-USD",
"level": 1,
"spread": 1.6,
"spread_bps": 0.256
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"pair"
],
"properties": {
"pair": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "20000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/pmscan",
"tags": [
"prediction-markets",
"polymarket",
"trading",
"signals",
"probability",
"live",
"odds",
"quant",
"betting",
"loop"
],
"mimeType": "application/json",
"description": "The live TRADEABLE prediction-market surface, normalised for polling bots. Every liquid Polymarket market above a 24h-volume floor, each with its Yes probability, `edge` (min(yes,1-yes) — 0=resolved, 0.5=coin-flip), 24h volume, and liquidity. Query: min_volume (USD floor, default 1000), uncertain_only (true drops near-resolved), sort (volume|edge|liquidity), limit (1-100). Prices move — poll it; a cached copy is stale. Built for continuous trading loops, not one-shot lookups.",
"serviceName": "Live Prediction-Market Surface"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"sort": "volume",
"limit": "40",
"min_volume": "1000"
}
},
"output": {
"type": "json",
"example": {
"count": 40,
"venue": "polymarket",
"markets": [
{
"url": "https://polymarket.com/event/...",
"yes": 0.34,
"edge": 0.34,
"ends": "2026-12-31T00:00:00Z",
"question": "Will X happen by 2027?",
"liquidity": 455381,
"volume_24h": 254637
}
],
"scanned": 399
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"min_volume",
"sort",
"limit"
],
"properties": {
"sort": {
"type": "string"
},
"limit": {
"type": "string"
},
"min_volume": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "12000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/search",
"tags": [
"search",
"web",
"google",
"serp",
"research",
"agent",
"live",
"answers"
],
"mimeType": "application/json",
"description": "Live web search for agents that hold no search account. Query: q (required), count (1-20, default 10), country (2-letter, optional). Each result: title, url, snippet. Fresh per call — search is a poll, not a cache. One account rented per query.",
"serviceName": "Web Search"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"q": "x402 protocol",
"count": "10"
}
},
"output": {
"type": "json",
"example": {
"count": 10,
"query": "x402 protocol",
"results": [
{
"url": "https://…",
"title": "…",
"snippet": "…"
}
],
"provider": "brave"
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"q",
"count"
],
"properties": {
"q": {
"type": "string"
},
"count": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "4000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/rss",
"tags": [
"rss",
"atom",
"feed",
"news",
"monitoring",
"syndication",
"xml-to-json",
"content",
"headlines"
],
"mimeType": "application/json",
"description": "Fetch any public RSS or Atom feed and return clean JSON: feed title plus items with title, link, published date, and plain-text summary (no XML parsing needed). Query: url (feed URL), limit (1-50, default 20). Use to monitor news, blogs, releases, changelogs, or podcasts on a schedule.",
"serviceName": "RSS / Atom Feed Reader"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"url": "https://example.com/feed.xml"
}
},
"output": {
"type": "json",
"example": {
"url": "https://example.com/feed.xml",
"count": 2,
"items": [
{
"link": "https://example.com/post",
"title": "Post title",
"summary": "First lines...",
"published": "Mon, 07 Jul 2026 09:00:00 GMT"
}
],
"feed_title": "Example Blog"
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "8000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/llama/protocols",
"tags": [
"defi",
"tvl",
"protocols",
"defillama",
"lending",
"dex",
"rankings",
"quant"
],
"mimeType": "application/json",
"description": "Every DefiLlama protocol with current TVL, filtered server-side (the raw index is 8.5MB). Query: chain, category (Lending, Dexes, ...), min_tvl (USD), sort (tvl|change_1d|change_7d), limit (1-100). Each: name, slug, chain, category, tvl_usd, change_1d, change_7d, mcap. Use the slug with /llama/tvl for a live single-number poll.",
"serviceName": "DeFi Protocol TVL (filtered)"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"sort": "tvl",
"limit": "20",
"category": "Lending"
}
},
"output": {
"type": "json",
"example": {
"count": 20,
"source": "defillama",
"protocols": [
{
"mcap": null,
"name": "Aave V3",
"slug": "aave-v3",
"chain": "Multi-Chain",
"tvl_usd": 13900000000,
"category": "Lending",
"change_1d": 0.4,
"change_7d": -1.7
}
],
"total_protocols": 6883
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"category",
"sort",
"limit"
],
"properties": {
"sort": {
"type": "string"
},
"limit": {
"type": "string"
},
"category": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "4000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/crypto",
"tags": [
"crypto",
"price",
"bitcoin",
"ethereum",
"exchange-rate",
"trading",
"portfolio",
"batch"
],
"mimeType": "application/json",
"description": "Current spot price for crypto trading pairs. Input: pair — a single pair (BTC-USD) or up to 10 comma-separated pairs (BTC-USD,ETH-USD,SOL-USD) returned in ONE call for the same price — poll a whole portfolio per tick. Returns amount and currency per pair. Real-time from Coinbase.",
"serviceName": "Crypto Spot Price"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"pair": "BTC-USD"
}
},
"output": {
"type": "json",
"example": {
"pair": "BTC-USD",
"amount": "62542.005",
"currency": "USD"
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"pair"
],
"properties": {
"pair": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "15000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/extract",
"tags": [
"structured-extraction",
"data-extraction",
"web-scraping",
"json",
"llm",
"content-extraction",
"price-monitoring",
"lead-enrichment",
"web-data",
"product-data"
],
"mimeType": "application/json",
"description": "Scrape a public web page and pull caller-specified fields back as clean JSON. Body: {url, fields:[...], instructions?}. 'fields' is a list of field names to extract (e.g. [\"price\",\"availability\",\"sku\"]); any field not found comes back null. Optional 'instructions' refines how to read the page. Returns {url, fields:{...}}. Common uses: product price/stock monitoring, lead enrichment from company pages, scraping job/listing details. Built on the /scrape extractor plus an LLM extraction pass.",
"serviceName": "Structured Extract"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"url": "https://shop.example.com/widget-x",
"fields": [
"product_name",
"price",
"availability",
"sku"
]
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json",
"example": {
"url": "https://shop.example.com/widget-x",
"fields": {
"sku": "WX-001",
"price": "$24.99",
"availability": "In stock",
"product_name": "Widget X"
}
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"body": {
"type": "object",
"required": [
"url",
"fields"
],
"properties": {
"url": {},
"fields": {}
}
},
"method": {
"const": "POST"
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "4000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/llama/chains",
"tags": [
"defi",
"tvl",
"chains",
"defillama",
"l1",
"l2",
"rankings"
],
"mimeType": "application/json",
"description": "Total DeFi TVL for every chain DefiLlama tracks, ranked. Query: limit (1-500). Each: name, tvl_usd, token.",
"serviceName": "DeFi TVL by Chain"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"limit": "20"
}
},
"output": {
"type": "json",
"example": {
"count": 20,
"chains": [
{
"name": "Ethereum",
"token": "ETH",
"tvl_usd": 41465846538
}
],
"source": "defillama"
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"limit"
],
"properties": {
"limit": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "5000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/x402index",
"tags": [
"x402",
"index",
"market",
"stats",
"ecosystem"
],
"mimeType": "application/json",
"description": "The x402 ecosystem thermometer: how many services and resources are listed in the public bazaar right now (cached hourly). Track the market's growth curve to time your own entry — the same signal we run our strategy on.",
"serviceName": "x402 Market Index"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {}
},
"output": {
"type": "json",
"example": {
"bazaar_services": 41,
"bazaar_resources": 730
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [],
"properties": {}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "2000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/count",
"tags": [
"tokens",
"tokenizer",
"tiktoken",
"llm",
"gpt",
"context-window"
],
"mimeType": "application/json",
"description": "Exact token count for text using OpenAI tokenizers. Body: {text, encoding?} where encoding is cl100k_base or o200k_base (default). Returns tokens and char_count. Use to budget prompts and context windows.",
"serviceName": "LLM Token Counter"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"text": "hello world",
"encoding": "o200k_base"
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json",
"example": {
"tokens": 2,
"encoding": "o200k_base",
"char_count": 11
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"body": {
"type": "object",
"required": [
"text",
"encoding"
],
"properties": {
"text": {},
"encoding": {}
}
},
"method": {
"const": "POST"
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "4000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/rand",
"tags": [
"random",
"entropy",
"randomness",
"nonce",
"csprng",
"dice",
"verifiable",
"fairness"
],
"mimeType": "application/json",
"description": "Cryptographically-secure randomness with a receipt. GET ?bytes= returns hex (1-256 bytes); add ?min=&max= for a uniform integer in an inclusive range. Each response carries a request_id and timestamp — unbiased entropy an agent can cite to a counterparty, not a seeded PRNG. Need provable fairness over time? /rand/commit does commit-reveal (commitment now, value later).",
"serviceName": "Verifiable Randomness"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"bytes": "16"
}
},
"output": {
"type": "json",
"example": {
"ts": 1784300000,
"hex": "9f...c1",
"request_id": "a1b2c3d4e5f6a7b8"
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"bytes"
],
"properties": {
"bytes": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "5000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/yields",
"tags": [
"defi",
"yield",
"apy",
"tvl",
"staking",
"farming",
"defillama",
"screener"
],
"mimeType": "application/json",
"description": "DeFi yield opportunities across chains and protocols (DefiLlama data): pool, project, chain, TVL, and APY, ranked by APY. Query: chain (e.g. Ethereum, Base), project, min_tvl (USD, default 10000000), limit (1-100, default 20). Use to screen for yield, monitor rates, and route capital.",
"serviceName": "DeFi Yield Screener"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"chain": "Base",
"limit": "10",
"min_tvl": "10000000"
}
},
"output": {
"type": "json",
"example": {
"count": 1,
"pools": [
{
"apy": 2.185,
"pool": "STETH",
"chain": "Ethereum",
"project": "lido",
"tvl_usd": 16343025352
}
]
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"chain",
"min_tvl",
"limit"
],
"properties": {
"chain": {
"type": "string"
},
"limit": {
"type": "string"
},
"min_tvl": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "2000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/gw/binance",
"tags": [
"gateway",
"proxy",
"rate-limit",
"binance",
"api"
],
"mimeType": "application/json",
"description": "Call Binance spot market data through our metered gateway: our rate-limit budget and a 5s cache absorb your polling, so your loop never sees a 429. Inputs: path (upstream path, e.g. /ping) and q (raw query string). Returns the upstream JSON under 'data'.",
"serviceName": "Metered Gateway: Binance spot market data"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"q": "",
"path": "/ping"
}
},
"output": {
"type": "json",
"example": {
"data": {},
"path": "/ping",
"upstream": "binance"
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"path",
"q"
],
"properties": {
"q": {
"type": "string"
},
"path": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "2000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/notarize",
"tags": [
"notary",
"timestamp",
"proof",
"attestation",
"hash",
"audit"
],
"mimeType": "application/json",
"description": "Prove a piece of data existed at a point in time. POST {data} returns its sha256, a recorded timestamp, and an HMAC receipt; GET ?hash= tells you whether and when that hash was first notarized. An agent can hash data but cannot self-certify WHEN it existed to a third party — this is that proof.",
"serviceName": "Data Notary (timestamp proof)"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"hash": "9f2b…"
}
},
"output": {
"type": "json",
"example": {
"ts": 1784300000,
"hash": "9f2b…",
"receipt": "c1a…",
"notarized": true
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"hash"
],
"properties": {
"hash": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "6000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/scrape",
"tags": [
"web-scraping",
"content-extraction",
"html-to-text",
"article",
"readability",
"markdown"
],
"mimeType": "application/json",
"description": "Fetch any public web page and return clean main content as JSON: title, author, publish date, hostname, excerpt, full text, and word_count. Boilerplate (nav, ads, footers) is stripped. Input: url (public http/https). Use to read articles, docs, or pages and feed clean text to an LLM.",
"serviceName": "Web Page Scraper"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"url": "https://example.com"
}
},
"output": {
"type": "json",
"example": {
"url": "https://example.com",
"date": null,
"text": "Example Domain. This domain is for use in illustrative examples...",
"title": "Example Domain",
"author": null,
"hostname": "example.com",
"word_count": 19
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "3000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/webhook",
"tags": [
"webhook",
"callback",
"inbox",
"async",
"http",
"agent",
"serverless",
"callback-url",
"receive-webhooks"
],
"mimeType": "application/json",
"description": "Give an agent with no server a public URL that catches callbacks while it isn't running. POST {ttl?} mints a capture URL; any external service can POST JSON to it free; GET ?token= drains what arrived. Receive OAuth callbacks, payment notifications, job-completion pings, or another service's async results — without hosting, ngrok, or staying alive to listen.",
"serviceName": "Callback Inbox for Serverless Agents"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"token": "AbC123…"
}
},
"output": {
"type": "json",
"example": {
"count": 1,
"token": "AbC123…",
"captures": [
{
"body": {
"event": "done"
},
"received": 1784300000
}
]
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "3000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/news",
"tags": [
"crypto",
"news",
"headlines",
"bitcoin",
"ethereum",
"market-news",
"monitoring",
"media"
],
"mimeType": "application/json",
"description": "Latest crypto news headlines aggregated from major outlets (CoinDesk, Cointelegraph, Decrypt, The Block, Bitcoin Magazine), merged and sorted newest-first. Query: limit (1-50, default 20), source (optional outlet filter). Each item: title, link, source, published, summary. Use for market-news monitoring loops and sentiment pipelines.",
"serviceName": "Crypto News Headlines"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"limit": "10"
}
},
"output": {
"type": "json",
"example": {
"count": 1,
"items": [
{
"link": "https://www.coindesk.com/...",
"title": "Bitcoin rallies past...",
"source": "coindesk",
"summary": "...",
"published": "Mon, 13 Jul 2026 09:00:00 GMT"
}
]
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"limit"
],
"properties": {
"limit": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "2000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/geo",
"tags": [
"geo",
"distance",
"haversine",
"geohash",
"coordinates"
],
"mimeType": "application/json",
"description": "Geospatial computation. op=distance (lat1,lon1,lat2,lon2 -> km and miles) or op=geohash (lat,lon,precision? -> geohash string). Inputs as query params.",
"serviceName": "Geospatial Compute"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"op": "distance",
"lat1": "0",
"lat2": "1",
"lon1": "0",
"lon2": "1"
}
},
"output": {
"type": "json",
"example": {
"km": 157.2494,
"op": "distance",
"miles": 97.7102
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"op",
"lat1",
"lon1",
"lat2",
"lon2"
],
"properties": {
"op": {
"type": "string"
},
"lat1": {
"type": "string"
},
"lat2": {
"type": "string"
},
"lon1": {
"type": "string"
},
"lon2": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "3000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/convert",
"tags": [
"data",
"convert",
"csv",
"json",
"yaml",
"etl"
],
"mimeType": "application/json",
"description": "Convert structured data between csv, json, and yaml. Body: {data, from, to}. Returns the converted result. Use for data wrangling and format normalization.",
"serviceName": "Data Format Converter"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"to": "yaml",
"data": "[{\"a\":1,\"b\":2}]",
"from": "json"
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json",
"example": {
"to": "yaml",
"from": "json",
"result": "- a: 1\n b: 2\n"
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"body": {
"type": "object",
"required": [
"data",
"from",
"to"
],
"properties": {
"to": {},
"data": {},
"from": {}
}
},
"method": {
"const": "POST"
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "5000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/pdf",
"tags": [
"pdf",
"pdf-to-text",
"document",
"text-extraction",
"data",
"web"
],
"mimeType": "application/json",
"description": "Fetch a PDF by URL and extract its text as JSON. Input: url (public http/https pointing to a PDF). Returns {url, pages, word_count, text}. Bounded to the first 50 pages; 3 MB max.",
"serviceName": "PDF to Text"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"url": "https://example.com/file.pdf"
}
},
"output": {
"type": "json",
"example": {
"url": "https://example.com/file.pdf",
"text": "Extracted text content of the PDF...",
"pages": 3,
"word_count": 412
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "3000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/fx",
"tags": [
"fx",
"forex",
"exchange-rate",
"currency",
"usd",
"eur",
"finance",
"ecb",
"conversion"
],
"mimeType": "application/json",
"description": "Foreign-exchange rates for 30+ fiat currencies (ECB reference data). Query: base (3-letter code, default USD), symbols (optional comma list, e.g. EUR,GBP,JPY), date (optional YYYY-MM-DD for historical rates back to 1999). Returns {base, date, rates}. Use for currency conversion, international pricing, and FX monitoring.",
"serviceName": "Fiat Exchange Rates"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"base": "USD",
"symbols": "EUR,GBP,JPY"
}
},
"output": {
"type": "json",
"example": {
"base": "USD",
"date": "2026-07-07",
"rates": {
"EUR": 0.851,
"GBP": 0.734,
"JPY": 144.1
}
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"base",
"symbols"
],
"properties": {
"base": {
"type": "string"
},
"symbols": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "4000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/llama/stablecoins",
"tags": [
"defi",
"stablecoins",
"defillama",
"usdc",
"usdt",
"peg",
"circulating"
],
"mimeType": "application/json",
"description": "Every tracked stablecoin with circulating supply (USD), peg type, peg mechanism, and current price. Ranked by circulating. Query: limit (1-200).",
"serviceName": "Stablecoin Circulating Supply"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"limit": "20"
}
},
"output": {
"type": "json",
"example": {
"count": 20,
"source": "defillama",
"stablecoins": [
{
"name": "Tether",
"price": 1,
"symbol": "USDT",
"peg_type": "peggedUSD",
"peg_mechanism": "fiat-backed",
"circulating_usd": 120000000000
}
]
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"limit"
],
"properties": {
"limit": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "2000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/validate",
"tags": [
"validation",
"luhn",
"credit-card",
"iban",
"email",
"json-schema"
],
"mimeType": "application/json",
"description": "Validate a value. Body: {type, value, schema?}. type = luhn (credit-card number), iban (bank account), email, or json_schema (validate value against a provided JSON Schema). Returns {valid, ...}.",
"serviceName": "Value Validator"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"type": "email",
"value": "[email protected]"
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json",
"example": {
"type": "email",
"valid": true
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"body": {
"type": "object",
"required": [
"type",
"value"
],
"properties": {
"type": {},
"value": {}
}
},
"method": {
"const": "POST"
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "14000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/render",
"tags": [
"scrape",
"render",
"javascript",
"spa",
"markdown",
"crawl",
"browser",
"content",
"extract"
],
"mimeType": "application/json",
"description": "Fetch a JavaScript-rendered page through a real browser and return clean markdown (or html) — content from SPA/JS-heavy sites that a plain fetch can't see. Query: url (required), format (markdown|html, default markdown). Returns title, description, content.",
"serviceName": "JS-Rendered Page to Markdown"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"url": "https://example.com",
"format": "markdown"
}
},
"output": {
"type": "json",
"example": {
"url": "https://example.com",
"title": "…",
"format": "markdown",
"content": "# …"
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"url",
"format"
],
"properties": {
"url": {
"type": "string"
},
"format": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "5000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/funding",
"tags": [
"crypto",
"funding-rates",
"perpetuals",
"hyperliquid",
"derivatives",
"trading",
"basis",
"open-interest"
],
"mimeType": "application/json",
"description": "Live perpetual-futures funding rates from Hyperliquid: per-coin funding rate, mark price, and open interest. Query: coins (optional comma list, e.g. BTC,ETH,SOL), limit (default 20, ranked by absolute funding). Use to monitor funding, hunt basis trades, and time entries. Real-time, keyless.",
"serviceName": "Perp Funding Rates"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"coins": "BTC,ETH"
}
},
"output": {
"type": "json",
"example": {
"count": 2,
"rates": [
{
"coin": "BTC",
"mark": 62542,
"funding": 0.0000125,
"open_interest": 12345.6
}
]
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"coins"
],
"properties": {
"coins": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "5000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/weather",
"tags": [
"weather",
"forecast",
"temperature",
"meteorology",
"geolocation",
"historical-weather",
"backtesting",
"time-series"
],
"mimeType": "application/json",
"description": "Weather for any coordinate. Current (default): temperature (C), relative humidity (%), wind speed, weather code — real-time. Historical: add start_date & end_date (YYYY-MM-DD, up to 92 days per call, archive lags ~5 days) for hourly history — backtest weather-sensitive strategies (energy, agriculture, logistics). Inputs: lat, lon, start_date?, end_date?. Keyless (Open-Meteo).",
"serviceName": "Weather — Current & Historical"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"lat": "52.52",
"lon": "13.40"
}
},
"output": {
"type": "json",
"example": {
"lat": 52.52,
"lon": 13.4,
"current": {
"weather_code": 1,
"temperature_2m": 17.6,
"wind_speed_10m": 12.3,
"relative_humidity_2m": 48
}
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"lat",
"lon"
],
"properties": {
"lat": {
"type": "string"
},
"lon": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
"amount": "5000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://x402.shizu.me/predictions",
"tags": [
"prediction-markets",
"polymarket",
"kalshi",
"odds",
"probability",
"events",
"trading",
"arbitrage"
],
"mimeType": "application/json",
"description": "Live prediction-market odds. source=polymarket (default) or kalshi. Polymarket: top active markets by 24h volume with outcome prices. Kalshi: open markets with yes/no bid-ask. Query: source, limit (1-50, default 20). Use for event probabilities, news signals, and cross-market arbitrage scans.",
"serviceName": "Prediction Market Odds"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"limit": "10",
"source": "polymarket"
}
},
"output": {
"type": "json",
"example": {
"count": 1,
"source": "polymarket",
"markets": [
{
"end": "2026-12-31T00:00:00Z",
"prices": [
0.62,
0.38
],
"outcomes": [
"Yes",
"No"
],
"question": "Will X happen by 2027?",
"volume24h": 123456.7
}
]
}
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"required": [
"method"
],
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"type": "object",
"required": [
"source",
"limit"
],
"properties": {
"limit": {
"type": "string"
},
"source": {
"type": "string"
}
}
}
}
}
}
}
}
},
"x402Version": 2
}
] OVER TIME
All charts use the 7d selector; each series spans only the dates it has data for. Every series is also served as JSON at /api/v1/services/scrape402/price, /scores, /volume and /buyers. On-chain volume and distinct buyers are measured over the service's settlement address and are a conservative undercount (only settlements that reach a measured facilitator are counted). The on-chain series roll up hourly, so the latest day can be up to about an hour behind; distinct buyers are counted per payout address, so a service that settles to more than one address is an upper bound.
Median across 37 endpoints. Use the selector to isolate one.
checklist grew 11->14 on 2026-07-28; a step here is a metric change, not a regression
Measured site and economics pillars from the assessment history, so the latest value shown elsewhere on this page reads as a point on a trend rather than a permanent state.
COMPLIANCE
13/13 checks pass · grade Alast 402 captured 2026-08-13 · last up 2026-08-13
- 402 payload captured
- accepts[] array present
- payTo address recoverable
- payTo at accepts[0].payTo (conformant shape)
- payTo is a valid on-chain address
- atomic price declared
- atomic price in a sane range
- asset (token) address declared
- network resolves to CAIP-2
- payment scheme declared
- served over HTTPS
- declares the current x402 version (2)
- EIP-712 domain parameters present on every EVM entry
- x402 v2 envelope delivered in the payment-required header
SITE PILLARS
- homepage reachable
- openapi doc
- pricing page
- llms.txt
- robots.txt
- terms page
recent checks (18) live · click to expand
EMBED THIS BADGE
<a href="https://x402-list.com/services/scrape402?utm_source=badge&utm_medium=referral&utm_campaign=embed"> <img src="https://x402-list.com/badge/scrape402.svg" alt="scrape402 listed on x402-list" height="28"> </a>
[](https://x402-list.com/services/scrape402?utm_source=badge&utm_medium=referral&utm_campaign=embed)
<a href="https://x402-list.com/services/scrape402?utm_source=badge&utm_medium=referral&utm_campaign=embed"> <img src="https://x402-list.com/badge/scrape402.svg?data=uptime" alt="scrape402 uptime on x402-list" height="28"> </a>