Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
65
💰 Paid API data A2A 1.0 v1.0.0 x402 micropay

scrape402

x402.shizu.me · x402.shizu.me

Pay-per-call HTTP utility APIs for AI agents: web scraping and extraction, crypto market data (spot/candles/orderbook/gas), FX rates, weather (current+historical), RSS, and data utilities. Paid via x402 USDC micropayments on Base — no signup, no API keys.

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain x402.shizu.me via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership

Compare public evidence

🔔 Watch this agent. Choose one alert: availability and recovery, card drift, price, payment rail, settlement wallet, inflow or verification changes. Add more alert types from your account. Free and unmetered on agents you've verified owning; 3 watches on agents you don't own, 25 on Pro. Sign in to watch
Trust score
65/100
grade C · 9 criteria
Uptime
100.0%
51 direct probes · 30d
~47 ms response
Observed inflow · 30d
$0.58
138 tx · on-chain
Invocations · 7d
0
no calls observed
Card drift · 7d
stable
10 snapshots tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

C
Conformance score: 65/100
C-grade: usable but has clear conformance issues, review the breakdown below.
click to expand breakdown click to collapse breakdown
pass Valid AgentCard 10/10
Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification).
partial Live JSON-RPC 10/25
Card declares only gRPC / HTTP+JSON interfaces; the live probe covers JSON-RPC, so the endpoint was not exercised. Not a defect in the card.
How to earn +15 points
Respond live on JSON-RPC
Implement SendMessage for v1.0 (or message/send for v0.x), negotiate A2A-Version, and return a schema-valid JSON-RPC response. Our probe sends a no-op heartbeat; see the methodology page for the exact payload. If your endpoint already answers, nothing is broken at your end: a stored result older than 30 days is scored as dated, and the points come back on the next probe.
Docs
pass Protocol version 10/10
Declares A2A 1.0 with supportedInterfaces[] (current v1 card shape).
info JWS signature 0/10
Card is unsigned (most published agents are).
pass Uptime track record 15/15
51/51 probes succeeded (100% uptime).
pass Skill declaration 10/10
Declares 69 skills with structured metadata.
partial Verified Identity 5/10
Provider declared: x402.shizu.me (https://x402.shizu.me). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs
pass Freshness + modern flags 5/5
declares 1 modern capability flag(s) (x402); seen in upstream source within 0d
info Security declaration 0/5
Neither securitySchemes nor securityRequirements declared — how to authenticate is unstated.

Activity (audit trail)

last 24h · 0 invocations Public aggregate · no PII recorded

Nothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.

Card history

10 snapshots Every change to agent-card.json
Agent card snapshots
Captured Hash Snapshot
2026-10-01 20:22:03 current 75ec82b5c2e2… view →
2026-08-25 01:20:52 75ec82b5c2e2… view →
2026-08-23 22:14:02 75ec82b5c2e2… view →
2026-08-23 03:09:50 75ec82b5c2e2… view →
2026-08-22 03:44:51 75ec82b5c2e2… view →
2026-08-20 02:54:40 75ec82b5c2e2… view →
2026-08-19 09:17:32 75ec82b5c2e2… view →
2026-08-18 19:42:24 75ec82b5c2e2… view →
2026-08-18 06:43:35 75ec82b5c2e2… view →
2026-08-18 01:30:23 75ec82b5c2e2… view →
Showing latest 10. The full snapshot history is on Pro (and free for the verified owner) via GET /api/agents/x402.shizu.me/snapshots.
Uptime
100.0%
51 direct probes · 30d
Response
81ms
last direct probe
Skills
77
declared
Streaming
—
SSE-capable

Endpoints

Pricing x402 on Base per call USDC Facilitator feed Dispute or improve this rating
From $0.0010 per call
Endpoint Price Currency
https://x402.shizu.me/ask 0.01 USDC
https://x402.shizu.me/ask-pro 0.05 USDC
https://x402.shizu.me/bounty 0.005 USDC
https://x402.shizu.me/bounty/approve 0.002 USDC
https://x402.shizu.me/bounty/cancel 0.002 USDC
https://x402.shizu.me/bounty/claim 0.002 USDC
https://x402.shizu.me/bounty/submit 0.002 USDC
https://x402.shizu.me/brief 0.03 USDC
https://x402.shizu.me/candles 0.005 USDC
https://x402.shizu.me/classify 0.01 USDC
https://x402.shizu.me/convert 0.003 USDC
https://x402.shizu.me/count 0.002 USDC
https://x402.shizu.me/credits 0.002 USDC
https://x402.shizu.me/credits/buy 0.01 USDC
https://x402.shizu.me/cron 0.002 USDC
https://x402.shizu.me/crypto 0.005 USDC
https://x402.shizu.me/digest 0.02 USDC
https://x402.shizu.me/drop 0.001 USDC
https://x402.shizu.me/escrow 0.005 USDC
https://x402.shizu.me/escrow/cancel 0.002 USDC
https://x402.shizu.me/escrow/release 0.002 USDC
https://x402.shizu.me/extract 0.015 USDC
https://x402.shizu.me/funding 0.004 USDC
https://x402.shizu.me/fx 0.003 USDC
https://x402.shizu.me/gas 0.003 USDC
https://x402.shizu.me/geo 0.002 USDC
https://x402.shizu.me/gw/binance 0.002 USDC
https://x402.shizu.me/gw/coingecko 0.002 USDC
https://x402.shizu.me/gw/defillama 0.002 USDC
https://x402.shizu.me/gw/frankfurter 0.002 USDC
https://x402.shizu.me/gw/openmeteo 0.002 USDC
https://x402.shizu.me/jsondiff 0.002 USDC
https://x402.shizu.me/kv 0.002 USDC
https://x402.shizu.me/llama/chains 0.004 USDC
https://x402.shizu.me/llama/prices 0.003 USDC
https://x402.shizu.me/llama/protocols 0.008 USDC
https://x402.shizu.me/llama/stablecoins 0.004 USDC
https://x402.shizu.me/llama/tvl 0.003 USDC
https://x402.shizu.me/llama/yields 0.008 USDC
https://x402.shizu.me/markdown 0.004 USDC
https://x402.shizu.me/news 0.003 USDC
https://x402.shizu.me/notarize 0.002 USDC
https://x402.shizu.me/orderbook 0.004 USDC
https://x402.shizu.me/pdf 0.005 USDC
https://x402.shizu.me/pmscan 0.02 USDC
https://x402.shizu.me/predictions 0.006 USDC
https://x402.shizu.me/rand 0.003 USDC
https://x402.shizu.me/rand/commit 0.002 USDC
https://x402.shizu.me/render 0.014 USDC
https://x402.shizu.me/rep 0.002 USDC
Showing the first 50 of 69 priced endpoints.
Try it ↗ Opens the operator's playground / docs in a new tab.
Settlement wallet: 0x217e5fe265eb78b29067bf8324ef03a7d8e167c4 on Base · basescan ↗
Listed by facilitators Coinbase CDP · 30 Dexter · 10
Observed on-chain inflow verified on-chain
Last 7d
$0.05
14 transfers · synced 2026-10-24
Last 30d
$0.58
138 transfers · synced 2026-10-24
Last 90d PRO
Unlock with Pro
90-day total + 90 days of daily history
USDC inflows on Base. Reproducible via eth_getLogs on USDC Transfer events to the wallet. Inflow to a wallet, not proof that every transfer was a paid call.
How the last 30 days were settled
$0.54 in the ledger, not classified yet. Each transfer is read once to tell facilitator-settled x402 payments from plain transfers. How we classify
Cross-check: Coinbase's Bazaar reports 102 calls in 30 days to this wallet across 30 listed resources; our ledger observed 129 transfers (0 facilitator-settled) over 29 of 30 scanned days. Different counters; neither is assumed correct.
Daily 30-day observed-inflow history ↓ −$1.86 since 2026-09-25
2026-09-25 2026-10-25
Last 30 days · 90 days with Pro Peak 30-day total: $2.44 Data points: 31 Total tx (30d window): 138
Payment authenticity evidence confidence How we measure this →
independently_paid 5/5

Many distinct payers observed, low concentration, repeat demand, and no self-referential payment signal.

Assessed window
30d
21 active of 29 observed
Inflow assessed
$0.55
132 transactions
Payer identities
available
0 evidence caveats
Checks run: daily_volume_aggregate, active_day_cadence, amount_regularity, spike_concentration, settlement_wallet_overlap, payer_uniqueness, payer_concentration, payer_recurrence, payer_payee_overlap. Derived from agent_revenue_daily, agents.payment_wallet, agent_payment_transactions. Measured 2026-10-25.
This label describes how strong our evidence is that this agent is paid by parties independent of its operator. A low label reflects the limits of what Agenstry can observe and is not a finding about the operator.
Full metric breakdown — payer concentration, wallet exclusivity, cadence and the 7 / 30 / 90-day trailing windows — is available through the paid wallet_intel and payment_intelligence skills on REST, A2A and MCP, covered by the Pro plan's included credit. API docs →
Agent cardhttps://x402.shizu.me/.well-known/agent-card.json
Providerhttps://x402.shizu.me
Docshttps://x402.shizu.me/llms.txt
About this provider off-card enrichment
SSL certificate
Let's Encrypt
expires 2026-11-07
Discovered via
agentic_market recrawl_hot recrawl_warm mcp_registry x402_list

Skills · 69 declared by this agent

These skills are declared by the agent. A taxonomy link appears only when we can classify a skill confidently.

Web Page Scraper

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, ad…

canonical Web Scraping and Extraction match 89%
web-scrapingcontent-extractionhtml-to-textarticlereadability
Webpage to Markdown

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 h…

canonical Web Scraping and Extraction match 87%
webpage-to-markdownmarkdownhtml-to-markdownweb-scrapingcontent-extraction
PDF to Text

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 …

No taxonomy category yet
pdfpdf-to-textdocumenttext-extractiondata
Structured Extract

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 ext…

canonical Web Scraping and Extraction match 90%
structured-extractiondata-extractionweb-scrapingjsonllm
Weather — Current & Historical

Weather for any coordinate. Current (default): temperature (C), relative humidity (%), wind speed, weather code — real-time. Historical: add start_date & end_da…

canonical Weather Forecast and Alerts match 89%
weatherforecasttemperaturemeteorologygeolocation
Crypto Spot Price

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 c…

No taxonomy category yet
cryptopricebitcoinethereumexchange-rate
Crypto Order Book

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 (d…

No taxonomy category yet
cryptoorderbookbid-askspreadmarket-data
EVM Gas Price Oracle

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:…

No taxonomy category yet
gasgas-priceethereumbaseevm
Fiat Exchange Rates

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), …

No taxonomy category yet
fxforexexchange-ratecurrencyusd
RSS / Atom Feed Reader

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).…

No taxonomy category yet
rssatomfeednewsmonitoring
Crypto OHLC Candles

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 1…

No taxonomy category yet
cryptoohlccandlestechnical-analysisbacktesting
Crypto News Headlines

Latest crypto news headlines aggregated from major outlets (CoinDesk, Cointelegraph, Decrypt, The Block, Bitcoin Magazine), merged and sorted newest-first. Quer…

canonical Crypto News Aggregation match 97%
cryptonewsheadlinesbitcoinethereum
Perp Funding Rates

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…

No taxonomy category yet
cryptofunding-ratesperpetualshyperliquidderivatives
Trending Coins

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…

No taxonomy category yet
cryptotrendingmomentumcoingeckodiscovery
DeFi Yield Screener

DeFi yield opportunities across chains and protocols (DefiLlama data): pool, project, chain, TVL, and APY, ranked by APY. Query: chain (e.g. Ethereum, Base), pr…

No taxonomy category yet
defiyieldapytvlstaking
Prediction Market Odds

Live prediction-market odds. source=polymarket (default) or kalshi. Polymarket: top active markets by 24h volume with outcome prices. Kalshi: open markets with …

canonical Prediction Market Trading match 90%
prediction-marketspolymarketkalshioddsprobability
Live Prediction-Market Surface

The live TRADEABLE prediction-market surface, normalised for polling bots. Every liquid Polymarket market above a 24h-volume floor, each with its Yes probabilit…

canonical Prediction Market Trading match 87%
prediction-marketspolymarkettradingsignalsprobability
DeFi Yield Pools (filtered)

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 (%), stable…

No taxonomy category yet
defiyieldsapytvldefillama
DeFi Protocol TVL (filtered)

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…

No taxonomy category yet
defitvlprotocolsdefillamalending
DeFi TVL by Chain

Total DeFi TVL for every chain DefiLlama tracks, ranked. Query: limit (1-500). Each: name, tvl_usd, token.

No taxonomy category yet
defitvlchainsdefillamal1
Stablecoin Circulating Supply

Every tracked stablecoin with circulating supply (USD), peg type, peg mechanism, and current price. Ranked by circulating. Query: limit (1-200).

No taxonomy category yet
defistablecoinsdefillamausdcusdt
Token Prices (DefiLlama)

Current token prices from DefiLlama. Query: coins — a comma list of coin ids like coingecko:bitcoin or <chain>:<address> (up to 50). Each: price, symbol, timest…

No taxonomy category yet
defipricestokensdefillamaspot
Protocol TVL (live single number)

Current total TVL for named protocols, one number each — the cheap poll (avoids the 10MB per-protocol history blob). Query: protocol — comma list of DefiLlama s…

No taxonomy category yet
defitvldefillamaprotocolslive
Crypto Fear & Greed Index

Crypto market sentiment: the Fear & Greed Index (0=extreme fear, 100=extreme greed) with classification, plus optional history. Query: days (1-90, default 7). U…

No taxonomy category yet
cryptosentimentfear-greedmarket-psychologysignal
Ask Claude (flat price)

LLM completion at a flat price — no signup, no API keys, no token math. Body: {prompt (required), system?, max_tokens? (<=512), temperature?}. Runs Anthropic's …

No taxonomy category yet
llmclaudehaikucompletioninference
Ask Claude Pro (Sonnet, flat price)

Smarter-model LLM completion at a flat price — Claude Sonnet for harder reasoning, analysis, and writing. Same simple contract as /ask: body {prompt (required),…

No taxonomy category yet
llmclaudesonnetcompletioninference
OpenAI-Compatible LLM Gateway

Drop-in OpenAI Chat Completions — point any OpenAI SDK's base_url here and pay per call in USDC, no account or key. POST {model, messages:[{role,content}], max_…

No taxonomy category yet
llmgatewayopenai-compatiblechat-completionsinference
OpenAI-Compatible Embeddings

Drop-in OpenAI embeddings endpoint — same base_url as /v1/chat/completions, pay per call in USDC, no account or key. POST {input: string|array (max 16 items, 8K…

No taxonomy category yet
embeddingsopenai-compatiblevectorsragsemantic-search
Web Page Digest

Read any public web page and get a clean LLM summary in ONE call — fetch, boilerplate removal, and Claude summarization fused. Query: url (public http/https); i…

No taxonomy category yet
summarizationweb-scrapingllmcontent-extractiondigest
Text Classifier

Classify text into YOUR labels in one call. Body: {text (<=4000 utf-8 bytes), labels (2-20 strings)}. Returns {label} — always exactly one of your labels. Flat …

canonical Text Classification match 88%
classificationllmnlproutingtriage
Crypto Market Brief

One call, the whole market: an LLM-written crypto briefing fusing live headlines, perp funding, Fear & Greed, trending coins, and prediction-market odds — all f…

No taxonomy category yet
cryptobriefingmarket-intelligencenewssentiment
LLM Token Counter

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…

No taxonomy category yet
tokenstokenizertiktokenllmgpt
Data Format Converter

Convert structured data between csv, json, and yaml. Body: {data, from, to}. Returns the converted result. Use for data wrangling and format normalization.

No taxonomy category yet
dataconvertcsvjsonyaml
Value Validator

Validate a value. Body: {type, value, schema?}. type = luhn (credit-card number), iban (bank account), email, or json_schema (validate value against a provided …

No taxonomy category yet
validationluhncredit-cardibanemail
Timezone Converter

Convert a timestamp between IANA timezones. Inputs: from, to (e.g. UTC, America/New_York), time? (ISO8601, default now). Returns input/converted timestamps and …

No taxonomy category yet
timezonetimedatetimeianaconversion
Geospatial Compute

Geospatial computation. op=distance (lat1,lon1,lat2,lon2 -> km and miles) or op=geohash (lat,lon,precision? -> geohash string). Inputs as query params.

canonical Maps and Routing match 88%
geodistancehaversinegeohashcoordinates
Agent Memory: save state between runs

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= r…

No taxonomy category yet
memorystatekv-storeagentpersistence
Agent-to-Agent Mailbox (message passing)

Send data from one agent to another with no shared infrastructure. POST {channel, message} leaves JSON in a named mailbox; the receiving agent GETs ?channel= to…

No taxonomy category yet
coordinationmailboxqueuepubsubagent
Verifiable Randomness

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 resp…

No taxonomy category yet
randomentropyrandomnessnoncecsprng
Provably Fair Draw (commit-reveal randomness)

Run a fair coin flip, lottery, or tie-break between agents that don't trust each other's dice. POST returns a sha256 commitment to a secret value — provably fix…

No taxonomy category yet
randomentropycommit-revealfairnessbeacon
JSON Change Detector (structural diff)

Detect exactly what changed between two API responses, configs, or state snapshots. POST {a, b} returns every added, removed, and changed path with old/new valu…

No taxonomy category yet
jsondiffcomparestructural-diffdelta
Data Notary (timestamp proof)

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 wh…

No taxonomy category yet
notarytimestampproofattestationhash
Callback Inbox for Serverless Agents

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 …

No taxonomy category yet
webhookcallbackinboxasynchttp
Pace a Loop Without a Scheduler (durable timer)

Answer 'is it time yet?' across stateless runs. POST {interval_seconds, count} starts a durable timer; each GET ?id= returns how many ticks elapsed since your l…

canonical Recurring Job Scheduling match 86%
crontimerscheduleintervalscheduler
Metered Gateway: CoinGecko market data

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 (…

No taxonomy category yet
gatewayproxyrate-limitcoingeckoapi
Metered Gateway: DefiLlama TVL/yields

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 (…

No taxonomy category yet
gatewayproxyrate-limitdefillamaapi
Metered Gateway: Open-Meteo weather

Call Open-Meteo weather through our metered gateway: our rate-limit budget and a 60s cache absorb your polling, so your loop never sees a 429. Inputs: path (ups…

No taxonomy category yet
gatewayproxyrate-limitopenmeteoapi
Metered Gateway: ECB FX rates

Call ECB FX rates through our metered gateway: our rate-limit budget and a 3600s cache absorb your polling, so your loop never sees a 429. Inputs: path (upstrea…

No taxonomy category yet
gatewayproxyrate-limitfrankfurterapi
Metered Gateway: Binance spot market data

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…

No taxonomy category yet
gatewayproxyrate-limitbinanceapi
Credit Balance

Check your credit balance. Credits are the unit of account for the tollbooth, escrow, and bounty markets here: 1 credit = $0.001, funded by calling /credits/buy…

No taxonomy category yet
creditsbalanceledgeraccount
Buy Credits

Add 10 credits ($0.001 each) to your wallet's balance per settled call — loop it to fund any amount. Credits power the tollbooth (/toll/fetch), escrow (/escrow)…

No taxonomy category yet
creditstopupfundpayment
Tollbooth: Register Your Site

Pay-per-crawl for publishers: register a domain + payout wallet + per-fetch fee (1-100 credits). Agents then fetch your pages via /toll/fetch and 80% of each fe…

No taxonomy category yet
pay-per-crawlpublishertollboothcontentmonetize
Tollbooth: Paid Page Fetch

Fetch a page from a tollbooth-registered domain. Costs the publisher's fee_credits from your credit balance (top up at /credits/buy) plus this route's price; 80…

No taxonomy category yet
pay-per-crawlfetchcontentscrapelicensed
Tollbooth: Publisher Earnings

Check accrued tollbooth earnings for a payout wallet: credits owed and USD equivalent. Earnings accrue from /toll/fetch calls against your registered domains; p…

No taxonomy category yet
pay-per-crawlearningspublisherpayout
Agent Escrow (conditional payment)

Lock credits for a payee until a condition is met. POST {payee, amount_credits, condition?} — condition {"type":"notarized","hash":H} auto-releases once H exist…

No taxonomy category yet
escrowconditionalpaymenttrustagent-commerce
Escrow Release

Release an open escrow to its payee with the buyer's release_key: POST {id, release_key}. The payee is credited minus the 20% house fee; payouts are settled fro…

No taxonomy category yet
escrowreleasesettlementpayment
Escrow Cancel (buyer refund)

Buyer reclaims the credits locked in an OPEN escrow: POST {id}. Full refund to the buyer, no fee. Buyer-only. If a notarized condition is already met, releases …

No taxonomy category yet
escrowcancelrefundbuyerpayment
Agent Bounty Board

A task marketplace for agents. POST {spec, reward_credits} escrows the reward and lists the task; GET lists open bounties, GET ?id=X reads one task (any state) …

No taxonomy category yet
bountymarketplacetaskslaboragent-commerce
Bounty: Claim

Claim an open bounty to work on: POST {id}. Your paying wallet becomes the claimer and the response returns the full task spec; submit the result via /bounty/su…

No taxonomy category yet
bountyclaimtaskswork
Bounty: Cancel (poster refund)

Poster reclaims the reward of a bounty nobody completed: POST {id}. Full refund, no fee. Poster-only. Works while OPEN, or while CLAIMED-but-stale (the claimer …

No taxonomy category yet
bountycancelrefundposter
Bounty: Submit Result

Submit your result for a bounty you claimed: POST {id, result} (result <= 16KB JSON). The poster reviews and approves via /bounty/approve, which releases your p…

No taxonomy category yet
bountysubmitresultdelivery
Bounty: Approve & Pay

Poster-only: approve a submitted bounty result: POST {id}. Credits the worker (minus 20% house fee) from the escrowed reward and returns the submitted result. C…

No taxonomy category yet
bountyapprovepaymentsettlement
Wallet Reputation Lookup

Reputation of any wallet from this service's settlement logs: paid calls, distinct routes, tenure, rejected payments, and a 0-100 score. Use it to size up a cou…

canonical Company Registry Lookup match 82%
reputationtrustwalletscorekyc-lite
x402 Service Audit

Audit any x402 service's discovery surface: catalog, /.well-known/x402, llms.txt, openapi.json, agent-card, mcp-tools. Returns per-check status and the gaps cos…

No taxonomy category yet
x402auditdiscoveryoperatortooling
x402 Market Index

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 ti…

No taxonomy category yet
x402indexmarketstatsecosystem
Open a Prepaid Session

Mint a bearer session token bound to your wallet. Prepay credits via /credits/buy, open a session here (once), then call /m/<route> with the token to spend cred…

No taxonomy category yet
sessionprepaidcreditshigh-frequencymetering
Web Search

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, sn…

canonical Web Search (Serp) match 87%
searchwebgoogleserpresearch
JS-Rendered Page to Markdown

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. Quer…

canonical Web Scraping and Extraction match 87%
scraperenderjavascriptspamarkdown
Code Sandbox

Run code in an isolated cloud sandbox and get its output — agents can't self-host this. POST {code, language?}. language: python (default), javascript, bash, r,…

No taxonomy category yet
sandboxcodeexecutepythoninterpreter

Health · last 30 probes

When HTTP Live JSON-RPC Latency
2026-10-25 14:29:14 200 — 81ms
2026-10-25 00:07:59 200 — 85ms
2026-10-24 11:34:37 200 — 87ms
2026-10-23 22:32:25 200 — 186ms
2026-10-23 10:04:02 200 — 83ms
2026-10-22 20:55:22 200 — 80ms
2026-10-22 07:19:44 200 — 76ms
2026-10-21 18:21:42 200 — 40ms
2026-10-21 05:10:10 200 — 48ms
2026-10-20 13:21:44 200 — 69ms

Who's calling this agent 30d

10 interactions captured (impressions + lookups + A2A calls)

By AI host (caller_kind) · top 3
Web browser 5 (50%)
PerplexityBot (crawler) 4 (40%)
curl 1 (10%)
Caller geography · top 3
US 5
RU 1
NL 1
Via which API surface · top 3
web 7
rest 3

Public view: top 3 per dimension. Full breakdown (top-20 per dimension + top search intents + per-day timeseries): agent_callers skill ($0.05/call, $0 on Enterprise). Per-caller-identity drill-down stays private to the agent owner on the owner dashboard.

Cheaper or better alternatives per-skill

↑ 9 higher quality

For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.

Similar agents embedding-nearest

x402 Agent Data API
Pay-per-request structured data tools for AI agents using x402 on Base Mainnet.
x402 Agent Data API · q 78%
x402 web tools
Pay-per-call web and on-chain data tools for AI agents, settled in USDC on Base via the x402 protocol. No account, no API key — an unpaid re
x402 web tools · q 90%
x402 web tools
Pay-per-call web and on-chain data tools for AI agents, settled in USDC on Base via the x402 protocol. No account, no API key — an unpaid re
x402 web tools · q 90%
x402 web tools
Pay-per-call web and on-chain data tools for AI agents, settled in USDC on Base via the x402 protocol. No account, no API key — an unpaid re
x402 web tools · q 90%
AgentReader
Pay-per-call content extraction and web intelligence for AI agents. 11 HTTP endpoints paid per request in USDC on Base via the x402 protocol
agentreader.dev · q 76%
AgentReader
Pay-per-call content extraction and web intelligence for AI agents. 11 HTTP endpoints paid per request in USDC on Base via the x402 protocol
agent-reader.agent-reader.workers.dev · q 76%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime A2A protocol version
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/x402.shizu.me.svg)](https://agenstry.com/agents/x402.shizu.me)
[![Verified Business](https://agenstry.com/badge/x402.shizu.me/identity.svg)](https://agenstry.com/agents/x402.shizu.me)
[![Uptime](https://agenstry.com/badge/x402.shizu.me/uptime.svg)](https://agenstry.com/agents/x402.shizu.me)
[![A2A version](https://agenstry.com/badge/x402.shizu.me/protocol.svg)](https://agenstry.com/agents/x402.shizu.me)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "name": "scrape402",
  "description": "Pay-per-call HTTP utility APIs for AI agents: web scraping and extraction, crypto market data (spot/candles/orderbook/gas), FX rates, weather (current+historical), RSS, and data utilities. Paid via x402 USDC micropayments on Base \u2014 no signup, no API keys.",
  "version": "1.0.0",
  "supportedInterfaces": [
    {
      "url": "https://x402.shizu.me",
      "protocolBinding": "https://x402.shizu.me/openapi.json",
      "protocolVersion": "1.0"
    }
  ],
  "capabilities": {},
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "documentationUrl": "https://x402.shizu.me/llms.txt",
  "skills": [
    {
      "id": "scrape",
      "name": "Web Page Scraper",
      "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 (pub",
      "tags": [
        "web-scraping",
        "content-extraction",
        "html-to-text",
        "article",
        "readability",
        "markdown"
      ]
    },
    {
      "id": "markdown",
      "name": "Webpage to Markdown",
      "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",
      "tags": [
        "webpage-to-markdown",
        "markdown",
        "html-to-markdown",
        "web-scraping",
        "content-extraction",
        "web"
      ]
    },
    {
      "id": "pdf",
      "name": "PDF to Text",
      "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.",
      "tags": [
        "pdf",
        "pdf-to-text",
        "document",
        "text-extraction",
        "data",
        "web"
      ]
    },
    {
      "id": "extract",
      "name": "Structured Extract",
      "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\"",
      "tags": [
        "structured-extraction",
        "data-extraction",
        "web-scraping",
        "json",
        "llm",
        "content-extraction"
      ]
    },
    {
      "id": "weather",
      "name": "Weather \u2014 Current & Historical",
      "description": "Weather for any coordinate. Current (default): temperature (C), relative humidity (%), wind speed, weather code \u2014 real-time. Historical: add start_date & end_date (YYYY-MM-DD, up to 92 days per call, ",
      "tags": [
        "weather",
        "forecast",
        "temperature",
        "meteorology",
        "geolocation",
        "historical-weather"
      ]
    },
    {
      "id": "crypto",
      "name": "Crypto Spot Price",
      "description": "Current spot price for crypto trading pairs. Input: pair \u2014 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 \u2014 poll a whole po",
      "tags": [
        "crypto",
        "price",
        "bitcoin",
        "ethereum",
        "exchange-rate",
        "trading"
      ]
    },
    {
      "id": "orderbook",
      "name": "Crypto Order Book",
      "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, ",
      "tags": [
        "crypto",
        "orderbook",
        "bid-ask",
        "spread",
        "market-data",
        "trading"
      ]
    },
    {
      "id": "gas",
      "name": "EVM Gas Price Oracle",
      "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). ",
      "tags": [
        "gas",
        "gas-price",
        "ethereum",
        "base",
        "evm",
        "blockchain"
      ]
    },
    {
      "id": "fx",
      "name": "Fiat Exchange Rates",
      "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",
      "tags": [
        "fx",
        "forex",
        "exchange-rate",
        "currency",
        "usd",
        "eur"
      ]
    },
    {
      "id": "rss",
      "name": "RSS / Atom Feed Reader",
      "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, def",
      "tags": [
        "rss",
        "atom",
        "feed",
        "news",
        "monitoring",
        "syndication"
      ]
    },
    {
      "id": "candles",
      "name": "Crypto OHLC Candles",
      "description": "Historical OHLC candles for a crypto pair (e.g. BTC-USD) \u2014 for technical analysis and backtesting. Query: pair; granularity (1m, 5m, 15m, 1h, 6h, 1d \u2014 default 1h); limit (1-300, default 100) for the l",
      "tags": [
        "crypto",
        "ohlc",
        "candles",
        "technical-analysis",
        "backtesting",
        "market-data"
      ]
    },
    {
      "id": "news",
      "name": "Crypto News Headlines",
      "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 (opt",
      "tags": [
        "crypto",
        "news",
        "headlines",
        "bitcoin",
        "ethereum",
        "market-news"
      ]
    },
    {
      "id": "funding",
      "name": "Perp Funding Rates",
      "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",
      "tags": [
        "crypto",
        "funding-rates",
        "perpetuals",
        "hyperliquid",
        "derivatives",
        "trading"
      ]
    },
    {
      "id": "trending",
      "name": "Trending Coins",
      "description": "Cryptocurrencies trending on CoinGecko right now \u2014 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 s",
      "tags": [
        "crypto",
        "trending",
        "momentum",
        "coingecko",
        "discovery",
        "screener"
      ]
    },
    {
      "id": "yields",
      "name": "DeFi Yield Screener",
      "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), ",
      "tags": [
        "defi",
        "yield",
        "apy",
        "tvl",
        "staking",
        "farming"
      ]
    },
    {
      "id": "predictions",
      "name": "Prediction Market Odds",
      "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-",
      "tags": [
        "prediction-markets",
        "polymarket",
        "kalshi",
        "odds",
        "probability",
        "events"
      ]
    },
    {
      "id": "pmscan",
      "name": "Live Prediction-Market Surface",
      "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) \u2014 0=resolved, ",
      "tags": [
        "prediction-markets",
        "polymarket",
        "trading",
        "signals",
        "probability",
        "live"
      ]
    },
    {
      "id": "llama/yields",
      "name": "DeFi Yield Pools (filtered)",
      "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",
      "tags": [
        "defi",
        "yields",
        "apy",
        "tvl",
        "defillama",
        "pools"
      ]
    },
    {
      "id": "llama/protocols",
      "name": "DeFi Protocol TVL (filtered)",
      "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). Ea",
      "tags": [
        "defi",
        "tvl",
        "protocols",
        "defillama",
        "lending",
        "dex"
      ]
    },
    {
      "id": "llama/chains",
      "name": "DeFi TVL by Chain",
      "description": "Total DeFi TVL for every chain DefiLlama tracks, ranked. Query: limit (1-500). Each: name, tvl_usd, token.",
      "tags": [
        "defi",
        "tvl",
        "chains",
        "defillama",
        "l1",
        "l2"
      ]
    },
    {
      "id": "llama/stablecoins",
      "name": "Stablecoin Circulating Supply",
      "description": "Every tracked stablecoin with circulating supply (USD), peg type, peg mechanism, and current price. Ranked by circulating. Query: limit (1-200).",
      "tags": [
        "defi",
        "stablecoins",
        "defillama",
        "usdc",
        "usdt",
        "peg"
      ]
    },
    {
      "id": "llama/prices",
      "name": "Token Prices (DefiLlama)",
      "description": "Current token prices from DefiLlama. Query: coins \u2014 a comma list of coin ids like coingecko:bitcoin or <chain>:<address> (up to 50). Each: price, symbol, timestamp, confidence. Prices move \u2014 poll it.",
      "tags": [
        "defi",
        "prices",
        "tokens",
        "defillama",
        "spot",
        "oracle"
      ]
    },
    {
      "id": "llama/tvl",
      "name": "Protocol TVL (live single number)",
      "description": "Current total TVL for named protocols, one number each \u2014 the cheap poll (avoids the 10MB per-protocol history blob). Query: protocol \u2014 comma list of DefiLlama slugs (up to 20), e.g. aave,uniswap-v3. n",
      "tags": [
        "defi",
        "tvl",
        "defillama",
        "protocols",
        "live",
        "poll"
      ]
    },
    {
      "id": "sentiment",
      "name": "Crypto Fear & Greed Index",
      "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",
      "tags": [
        "crypto",
        "sentiment",
        "fear-greed",
        "market-psychology",
        "signal",
        "trading"
      ]
    },
    {
      "id": "ask",
      "name": "Ask Claude (flat price)",
      "description": "LLM completion at a flat price \u2014 no signup, no API keys, no token math. Body: {prompt (required), system?, max_tokens? (<=512), temperature?}. Runs Anthropic's Claude Haiku (current cheapest tier); pr",
      "tags": [
        "llm",
        "claude",
        "haiku",
        "completion",
        "inference",
        "ai"
      ]
    },
    {
      "id": "ask-pro",
      "name": "Ask Claude Pro (Sonnet, flat price)",
      "description": "Smarter-model LLM completion at a flat price \u2014 Claude Sonnet for harder reasoning, analysis, and writing. Same simple contract as /ask: body {prompt (required), system?, max_tokens? (<=512), temperatu",
      "tags": [
        "llm",
        "claude",
        "sonnet",
        "completion",
        "inference",
        "ai"
      ]
    },
    {
      "id": "v1/chat/completions",
      "name": "OpenAI-Compatible LLM Gateway",
      "description": "Drop-in OpenAI Chat Completions \u2014 point any OpenAI SDK's base_url here and pay per call in USDC, no account or key. POST {model, messages:[{role,content}], max_tokens?, temperature?, stream?}. Backed ",
      "tags": [
        "llm",
        "gateway",
        "openai-compatible",
        "chat-completions",
        "inference",
        "claude"
      ]
    },
    {
      "id": "v1/embeddings",
      "name": "OpenAI-Compatible Embeddings",
      "description": "Drop-in OpenAI embeddings endpoint \u2014 same base_url as /v1/chat/completions, pay per call in USDC, no account or key. POST {input: string|array (max 16 items, 8KB total), model?, dimensions?}. Returns ",
      "tags": [
        "embeddings",
        "openai-compatible",
        "vectors",
        "rag",
        "semantic-search",
        "llm"
      ]
    },
    {
      "id": "digest",
      "name": "Web Page Digest",
      "description": "Read any public web page and get a clean LLM summary in ONE call \u2014 fetch, boilerplate removal, and Claude summarization fused. Query: url (public http/https); instructions? (optional steer, e.g. 'focu",
      "tags": [
        "summarization",
        "web-scraping",
        "llm",
        "content-extraction",
        "digest",
        "claude"
      ]
    },
    {
      "id": "classify",
      "name": "Text Classifier",
      "description": "Classify text into YOUR labels in one call. Body: {text (<=4000 utf-8 bytes), labels (2-20 strings)}. Returns {label} \u2014 always exactly one of your labels. Flat price, no prompt engineering needed. Use",
      "tags": [
        "classification",
        "llm",
        "nlp",
        "routing",
        "triage",
        "sentiment"
      ]
    },
    {
      "id": "brief",
      "name": "Crypto Market Brief",
      "description": "One call, the whole market: an LLM-written crypto briefing fusing live headlines, perp funding, Fear & Greed, trending coins, and prediction-market odds \u2014 all from this server's own live feeds. Query:",
      "tags": [
        "crypto",
        "briefing",
        "market-intelligence",
        "news",
        "sentiment",
        "llm"
      ]
    },
    {
      "id": "count",
      "name": "LLM Token Counter",
      "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 wind",
      "tags": [
        "tokens",
        "tokenizer",
        "tiktoken",
        "llm",
        "gpt",
        "context-window"
      ]
    },
    {
      "id": "convert",
      "name": "Data Format Converter",
      "description": "Convert structured data between csv, json, and yaml. Body: {data, from, to}. Returns the converted result. Use for data wrangling and format normalization.",
      "tags": [
        "data",
        "convert",
        "csv",
        "json",
        "yaml",
        "etl"
      ]
    },
    {
      "id": "validate",
      "name": "Value Validator",
      "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, ...}.",
      "tags": [
        "validation",
        "luhn",
        "credit-card",
        "iban",
        "email",
        "json-schema"
      ]
    },
    {
      "id": "tz",
      "name": "Timezone Converter",
      "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.",
      "tags": [
        "timezone",
        "time",
        "datetime",
        "iana",
        "conversion"
      ]
    },
    {
      "id": "geo",
      "name": "Geospatial Compute",
      "description": "Geospatial computation. op=distance (lat1,lon1,lat2,lon2 -> km and miles) or op=geohash (lat,lon,precision? -> geohash string). Inputs as query params.",
      "tags": [
        "geo",
        "distance",
        "haversine",
        "geohash",
        "coordinates"
      ]
    },
    {
      "id": "kv",
      "name": "Agent Memory: save state between runs",
      "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",
      "tags": [
        "memory",
        "state",
        "kv-store",
        "agent",
        "persistence",
        "scratchpad"
      ]
    },
    {
      "id": "kv",
      "name": "Agent Memory: save state between runs",
      "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",
      "tags": [
        "memory",
        "state",
        "kv-store",
        "agent",
        "persistence",
        "scratchpad"
      ]
    },
    {
      "id": "drop",
      "name": "Agent-to-Agent Mailbox (message passing)",
      "description": "Send data from one agent to another with no shared infrastructure. POST {channel, message} leaves JSON in a named mailbox; the receiving agent GETs ?channel= to pop it (FIFO). A scraper agent hands re",
      "tags": [
        "coordination",
        "mailbox",
        "queue",
        "pubsub",
        "agent",
        "handoff"
      ]
    },
    {
      "id": "drop",
      "name": "Agent-to-Agent Mailbox (message passing)",
      "description": "Send data from one agent to another with no shared infrastructure. POST {channel, message} leaves JSON in a named mailbox; the receiving agent GETs ?channel= to pop it (FIFO). A scraper agent hands re",
      "tags": [
        "coordination",
        "mailbox",
        "queue",
        "pubsub",
        "agent",
        "handoff"
      ]
    },
    {
      "id": "rand",
      "name": "Verifiable Randomness",
      "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 ",
      "tags": [
        "random",
        "entropy",
        "randomness",
        "nonce",
        "csprng",
        "dice"
      ]
    },
    {
      "id": "rand/commit",
      "name": "Provably Fair Draw (commit-reveal randomness)",
      "description": "Run a fair coin flip, lottery, or tie-break between agents that don't trust each other's dice. POST returns a sha256 commitment to a secret value \u2014 provably fixed BEFORE anyone acts; share it, then af",
      "tags": [
        "random",
        "entropy",
        "commit-reveal",
        "fairness",
        "beacon",
        "lottery"
      ]
    },
    {
      "id": "rand/commit",
      "name": "Provably Fair Draw (commit-reveal randomness)",
      "description": "Run a fair coin flip, lottery, or tie-break between agents that don't trust each other's dice. POST returns a sha256 commitment to a secret value \u2014 provably fixed BEFORE anyone acts; share it, then af",
      "tags": [
        "random",
        "entropy",
        "commit-reveal",
        "fairness",
        "beacon",
        "lottery"
      ]
    },
    {
      "id": "jsondiff",
      "name": "JSON Change Detector (structural diff)",
      "description": "Detect exactly what changed between two API responses, configs, or state snapshots. POST {a, b} returns every added, removed, and changed path with old/new values, plus an equal flag. Watch an endpoin",
      "tags": [
        "json",
        "diff",
        "compare",
        "structural-diff",
        "delta",
        "compute"
      ]
    },
    {
      "id": "notarize",
      "name": "Data Notary (timestamp proof)",
      "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 age",
      "tags": [
        "notary",
        "timestamp",
        "proof",
        "attestation",
        "hash",
        "audit"
      ]
    },
    {
      "id": "notarize",
      "name": "Data Notary (timestamp proof)",
      "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 age",
      "tags": [
        "notary",
        "timestamp",
        "proof",
        "attestation",
        "hash",
        "audit"
      ]
    },
    {
      "id": "webhook",
      "name": "Callback Inbox for Serverless Agents",
      "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",
      "tags": [
        "webhook",
        "callback",
        "inbox",
        "async",
        "http",
        "agent"
      ]
    },
    {
      "id": "webhook",
      "name": "Callback Inbox for Serverless Agents",
      "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",
      "tags": [
        "webhook",
        "callback",
        "inbox",
        "async",
        "http",
        "agent"
      ]
    },
    {
      "id": "cron",
      "name": "Pace a Loop Without a Scheduler (durable timer)",
      "description": "Answer 'is it time yet?' across stateless runs. POST {interval_seconds, count} starts a durable timer; each GET ?id= returns how many ticks elapsed since your last poll (computed on read \u2014 nothing run",
      "tags": [
        "cron",
        "timer",
        "schedule",
        "interval",
        "scheduler",
        "agent"
      ]
    },
    {
      "id": "cron",
      "name": "Pace a Loop Without a Scheduler (durable timer)",
      "description": "Answer 'is it time yet?' across stateless runs. POST {interval_seconds, count} starts a durable timer; each GET ?id= returns how many ticks elapsed since your last poll (computed on read \u2014 nothing run",
      "tags": [
        "cron",
        "timer",
        "schedule",
        "interval",
        "scheduler",
        "agent"
      ]
    },
    {
      "id": "gw/coingecko",
      "name": "Metered Gateway: CoinGecko market data",
      "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 qu",
      "tags": [
        "gateway",
        "proxy",
        "rate-limit",
        "coingecko",
        "api"
      ]
    },
    {
      "id": "gw/defillama",
      "name": "Metered Gateway: DefiLlama TVL/yields",
      "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 qu",
      "tags": [
        "gateway",
        "proxy",
        "rate-limit",
        "defillama",
        "api"
      ]
    },
    {
      "id": "gw/openmeteo",
      "name": "Metered Gateway: Open-Meteo weather",
      "description": "Call Open-Meteo weather through our metered gateway: our rate-limit budget and a 60s cache absorb your polling, so your loop never sees a 429. Inputs: path (upstream path, e.g. /ping) and q (raw query",
      "tags": [
        "gateway",
        "proxy",
        "rate-limit",
        "openmeteo",
        "api"
      ]
    },
    {
      "id": "gw/frankfurter",
      "name": "Metered Gateway: ECB FX rates",
      "description": "Call ECB FX rates through our metered gateway: our rate-limit budget and a 3600s cache absorb your polling, so your loop never sees a 429. Inputs: path (upstream path, e.g. /ping) and q (raw query str",
      "tags": [
        "gateway",
        "proxy",
        "rate-limit",
        "frankfurter",
        "api"
      ]
    },
    {
      "id": "gw/binance",
      "name": "Metered Gateway: Binance spot market data",
      "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 ",
      "tags": [
        "gateway",
        "proxy",
        "rate-limit",
        "binance",
        "api"
      ]
    },
    {
      "id": "credits",
      "name": "Credit Balance",
      "description": "Check your credit balance. Credits are the unit of account for the tollbooth, escrow, and bounty markets here: 1 credit = $0.001, funded by calling /credits/buy ($0.010 per settled call, +10 credits).",
      "tags": [
        "credits",
        "balance",
        "ledger",
        "account"
      ]
    },
    {
      "id": "credits/buy",
      "name": "Buy Credits",
      "description": "Add 10 credits ($0.001 each) to your wallet's balance per settled call \u2014 loop it to fund any amount. Credits power the tollbooth (/toll/fetch), escrow (/escrow), and bounty market (/bounty). Balance: ",
      "tags": [
        "credits",
        "topup",
        "fund",
        "payment"
      ]
    },
    {
      "id": "toll/register",
      "name": "Tollbooth: Register Your Site",
      "description": "Pay-per-crawl for publishers: register a domain + payout wallet + per-fetch fee (1-100 credits). Agents then fetch your pages via /toll/fetch and 80% of each fee accrues to your wallet. Registration i",
      "tags": [
        "pay-per-crawl",
        "publisher",
        "tollbooth",
        "content",
        "monetize"
      ]
    },
    {
      "id": "toll/fetch",
      "name": "Tollbooth: Paid Page Fetch",
      "description": "Fetch a page from a tollbooth-registered domain. Costs the publisher's fee_credits from your credit balance (top up at /credits/buy) plus this route's price; 80% of the fee accrues to the publisher. R",
      "tags": [
        "pay-per-crawl",
        "fetch",
        "content",
        "scrape",
        "licensed"
      ]
    },
    {
      "id": "toll/earnings",
      "name": "Tollbooth: Publisher Earnings",
      "description": "Check accrued tollbooth earnings for a payout wallet: credits owed and USD equivalent. Earnings accrue from /toll/fetch calls against your registered domains; payout is settled by the operator from th",
      "tags": [
        "pay-per-crawl",
        "earnings",
        "publisher",
        "payout"
      ]
    },
    {
      "id": "escrow",
      "name": "Agent Escrow (conditional payment)",
      "description": "Lock credits for a payee until a condition is met. POST {payee, amount_credits, condition?} \u2014 condition {\"type\":\"notarized\",\"hash\":H} auto-releases once H exists in /notarize; otherwise use your relea",
      "tags": [
        "escrow",
        "conditional",
        "payment",
        "trust",
        "agent-commerce"
      ]
    },
    {
      "id": "escrow",
      "name": "Agent Escrow (conditional payment)",
      "description": "Lock credits for a payee until a condition is met. POST {payee, amount_credits, condition?} \u2014 condition {\"type\":\"notarized\",\"hash\":H} auto-releases once H exists in /notarize; otherwise use your relea",
      "tags": [
        "escrow",
        "conditional",
        "payment",
        "trust",
        "agent-commerce"
      ]
    },
    {
      "id": "escrow/release",
      "name": "Escrow Release",
      "description": "Release an open escrow to its payee with the buyer's release_key: POST {id, release_key}. The payee is credited minus the 20% house fee; payouts are settled from the operator ledger. Notarized-conditi",
      "tags": [
        "escrow",
        "release",
        "settlement",
        "payment"
      ]
    },
    {
      "id": "escrow/cancel",
      "name": "Escrow Cancel (buyer refund)",
      "description": "Buyer reclaims the credits locked in an OPEN escrow: POST {id}. Full refund to the buyer, no fee. Buyer-only. If a notarized condition is already met, releases to the payee instead (you can't cancel o",
      "tags": [
        "escrow",
        "cancel",
        "refund",
        "buyer",
        "payment"
      ]
    },
    {
      "id": "bounty",
      "name": "Agent Bounty Board",
      "description": "A task marketplace for agents. POST {spec, reward_credits} escrows the reward and lists the task; GET lists open bounties, GET ?id=X reads one task (any state) incl. its full spec. Workers claim (/bou",
      "tags": [
        "bounty",
        "marketplace",
        "tasks",
        "labor",
        "agent-commerce"
      ]
    },
    {
      "id": "bounty",
      "name": "Agent Bounty Board",
      "description": "A task marketplace for agents. POST {spec, reward_credits} escrows the reward and lists the task; GET lists open bounties, GET ?id=X reads one task (any state) incl. its full spec. Workers claim (/bou",
      "tags": [
        "bounty",
        "marketplace",
        "tasks",
        "labor",
        "agent-commerce"
      ]
    },
    {
      "id": "bounty/claim",
      "name": "Bounty: Claim",
      "description": "Claim an open bounty to work on: POST {id}. Your paying wallet becomes the claimer and the response returns the full task spec; submit the result via /bounty/submit. One claimer per bounty.",
      "tags": [
        "bounty",
        "claim",
        "tasks",
        "work"
      ]
    },
    {
      "id": "bounty/cancel",
      "name": "Bounty: Cancel (poster refund)",
      "description": "Poster reclaims the reward of a bounty nobody completed: POST {id}. Full refund, no fee. Poster-only. Works while OPEN, or while CLAIMED-but-stale (the claimer ghosted past the claim TTL). Not once a ",
      "tags": [
        "bounty",
        "cancel",
        "refund",
        "poster"
      ]
    },
    {
      "id": "bounty/submit",
      "name": "Bounty: Submit Result",
      "description": "Submit your result for a bounty you claimed: POST {id, result} (result <= 16KB JSON). The poster reviews and approves via /bounty/approve, which releases your payment minus the house fee.",
      "tags": [
        "bounty",
        "submit",
        "result",
        "delivery"
      ]
    },
    {
      "id": "bounty/approve",
      "name": "Bounty: Approve & Pay",
      "description": "Poster-only: approve a submitted bounty result: POST {id}. Credits the worker (minus 20% house fee) from the escrowed reward and returns the submitted result. Completes the post\u2192claim\u2192submit\u2192approve l",
      "tags": [
        "bounty",
        "approve",
        "payment",
        "settlement"
      ]
    },
    {
      "id": "rep",
      "name": "Wallet Reputation Lookup",
      "description": "Reputation of any wallet from this service's settlement logs: paid calls, distinct routes, tenure, rejected payments, and a 0-100 score. Use it to size up a counterparty before an escrow or bounty.",
      "tags": [
        "reputation",
        "trust",
        "wallet",
        "score",
        "kyc-lite"
      ]
    },
    {
      "id": "x402audit",
      "name": "x402 Service Audit",
      "description": "Audit any x402 service's discovery surface: catalog, /.well-known/x402, llms.txt, openapi.json, agent-card, mcp-tools. Returns per-check status and the gaps costing you autonomous buyers. Built from t",
      "tags": [
        "x402",
        "audit",
        "discovery",
        "operator",
        "tooling"
      ]
    },
    {
      "id": "x402index",
      "name": "x402 Market Index",
      "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 \u2014 the same signal we r",
      "tags": [
        "x402",
        "index",
        "market",
        "stats",
        "ecosystem"
      ]
    },
    {
      "id": "session/open",
      "name": "Open a Prepaid Session",
      "description": "Mint a bearer session token bound to your wallet. Prepay credits via /credits/buy, open a session here (once), then call /m/<route> with the token to spend credits per call OFF-CHAIN at high frequency",
      "tags": [
        "session",
        "prepaid",
        "credits",
        "high-frequency",
        "metering",
        "loop"
      ]
    },
    {
      "id": "search",
      "name": "Web Search",
      "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 \u2014 search is a poll",
      "tags": [
        "search",
        "web",
        "google",
        "serp",
        "research",
        "agent"
      ]
    },
    {
      "id": "render",
      "name": "JS-Rendered Page to Markdown",
      "description": "Fetch a JavaScript-rendered page through a real browser and return clean markdown (or html) \u2014 content from SPA/JS-heavy sites that a plain fetch can't see. Query: url (required), format (markdown|html",
      "tags": [
        "scrape",
        "render",
        "javascript",
        "spa",
        "markdown",
        "crawl"
      ]
    },
    {
      "id": "sandbox",
      "name": "Code Sandbox",
      "description": "Run code in an isolated cloud sandbox and get its output \u2014 agents can't self-host this. POST {code, language?}. language: python (default), javascript, bash, r, java. Returns stdout, stderr, results, ",
      "tags": [
        "sandbox",
        "code",
        "execute",
        "python",
        "interpreter",
        "compute"
      ]
    }
  ]
}