Install
openclaw skills install @daveabear/rwa-data-apiBuy live stablecoin, RWA, DeFi, and AI-agent-economy market data for AI agents. Pay-per-call in USDC on Solana via x402 — no accounts, no API keys. Use when you need crypto market metrics, stablecoin peg checks, price snapshots, claim verification, market briefs, or on-demand custom research briefs.
openclaw skills install @daveabear/rwa-data-apiLive, sourced market data for AI agents: stablecoin metrics, RWA tokenization figures, DeFi TVL/yields, L2 stats, prediction-market volumes, stablecoin peg monitoring, price snapshots, factual claim verification, structured market briefs, and on-demand custom research briefs.
Base URL: https://rwa-data-api.dave-a-bear.workers.dev
Payment: x402 v2. Every paid endpoint returns HTTP 402 with a
PAYMENT-REQUIRED header (base64 JSON: price, network, USDC mint, receiving
wallet). You pay the exact USDC amount on Solana mainnet, then retry the
same request with a PAYMENT-SIGNATURE header (base64 JSON containing your
Solana transaction signature). No facilitator, no accounts, no API keys —
settlement is direct on-chain.
EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v1K85sMGPzSLbkSuEWb6p7tW7nmX1Sc6kGw7njeCLSHLMCP alternative: the same products are exposed as MCP tools (no raw HTTP
needed) at POST https://rwa-data-mcp.dave-a-bear.workers.dev/mcp
(Streamable HTTP). Tools: get_metric, get_peg, get_monitor_pegs,
get_price, verify_claim, get_brief, request_brief, check_brief_status.
First call returns a structured payment challenge as tool content; retry with
payment_signature. Listed in the official MCP registry as
io.github.daveabear/rwa-data-mcp.
| Endpoint | Price | Notes |
|---|---|---|
GET /metric/{name} | 0.05 | e.g. stablecoin_market_cap, rwa_total_value, tvl_total, top_yield_opportunities, agent_x402_volume_usd, x402_ecosystem_index, stablecoin_health_score. Unknown name → 404 before payment (typos are free). |
GET /metric/peg/{symbol} | 0.05 | usdt, usdc, usde, dai — live price + deviation in bps from $1.00 |
GET /monitor/pegs | 0.05 | All four pegs in one call |
GET /price/{id} | 0.05 | bitcoin, ethereum, solana, dogecoin, cardano, chainlink, uniswap, aave, avalanche-2 |
POST /verify/claim | 0.10 | Body {"claim": "..."} → verdict + evidence + dated sources |
GET /brief/{topic} | 0.25 | rwa, stablecoins, agent_economy, defi |
POST /task/brief | 1.50 | Custom research brief (async). Body {"topic": "..."} (10–200 chars, in-scope only — out-of-scope → 400 before payment). Returns {task_id, status: "queued", eta_minutes: 60} |
GET /task/{id} | free | Poll a custom-brief task. Unknown id → 404 |
GET /openapi.json | free | OpenAPI 3.1.0 discovery doc with x-payment-info on paid ops |
GET /discovery/agent-card.json, /discovery/llms.txt, /.well-known/agent.json | free | Agent-readable service cards |
Every response carries as_of, dated sources, and FACT/INFERENCE labels.
# 1. Request without payment → 402 challenge
curl -s -D - https://rwa-data-api.dave-a-bear.workers.dev/metric/stablecoin_market_cap -o /tmp/challenge.json
# Response: HTTP 402, PAYMENT-REQUIRED header (base64 JSON with amount, asset mint, pay_to)
# 2. Decode the challenge, send the EXACT USDC amount on Solana mainnet to pay_to
# (use your own Solana wallet / signing stack)
# 3. Retry with the payment signature
curl -s https://rwa-data-api.dave-a-bear.workers.dev/metric/stablecoin_market_cap \
-H "PAYMENT-SIGNATURE: <base64 JSON: {x402Version: 2, accepted: {...}, payload: {transaction: \"<solana-tx-signature>\"}}>"
# Response: HTTP 200 with the data + PAYMENT-RESPONSE receipt header
Failure handling:
payment_pending — tx not yet visible on-chain. Wait 10s, retry with the
same signature. Do not pay twice.verification_unavailable — their Solana RPC is unreachable. Retryable,
wait 30s./openapi.json first; never pay for a typo.# Submit (paid $1.50)
curl -s -X POST https://rwa-data-api.dave-a-bear.workers.dev/task/brief \
-H "Content-Type: application/json" \
-H "PAYMENT-SIGNATURE: <base64 payment payload>" \
-d '{"topic": "How are stablecoins being used for agent-to-agent payments?"}'
# → {"task_id": "task_...", "status": "queued", "eta_minutes": 60}
# Poll (free, as often as you like)
curl -s https://rwa-data-api.dave-a-bear.workers.dev/task/task_<id>
# → {"status": "working"} … then {"status": "done", "brief": "...", "sources": [...]}
as_of, source, fallback state)./stats route shows approximate traffic
counters, and /health is a free liveness check.