Real-time data for Claude — markets, research, X/Twitter, crypto. No API keys. Pay per call.
claude mcp add blockrun -s user -- npx -y @blockrun/mcp@latestWallet auto-created. Fund with $5 USDC. Ask Claude anything.
Before BlockRun, Claude can't answer:
- "What's the current Polymarket probability that Bitcoin hits $100k this year?"
- "Find me the top 5 papers on RAG published in the last 30 days"
- "What are people saying about @sama on X right now?"
- "What's the 24h volume on the PEPE/ETH pair on Uniswap?"
After BlockRun, it can. Each query costs fractions of a cent, billed from a local USDC wallet. No subscriptions. No API dashboards. No key rotation.
User: What's Polymarket saying about the Fed rate decision next month?
Claude: According to Polymarket, the market currently puts a 73% probability on the Fed holding rates steady at the May meeting, with 24% on a 25bp cut and 3% on a hike. Volume over the last 24h: $2.1M. The "Hold" contract last traded at $0.73.
(via
blockrun_markets· cost: $0.001)
User: Find recent papers on speculative decoding and summarize the key approaches
Claude: I found 8 papers from the last 60 days via neural search. The dominant approaches are: (1) draft model selection — smaller models predicting N tokens ahead for the larger model to verify in parallel...
(via
blockrun_exa· cost: $0.01)
Posters generated through blockrun_image with openai/gpt-image-2. Each is a single API call routed through BlockRun, paid in USDC on Base.
![]() |
![]() |
![]() |
| Cornell Blockchain Conference 2026 — packed booth recap | Cornell Blockchain Conference 2026 — quiet variant | 100 Trillion Tokens — milestone synthwave poster |
Prompts and a worked example for these are in skills/image-prompting/SKILL.md.
- Node.js ≥ 18 (
node -v) - ~$5 USDC on Base or Solana (the server auto-creates a wallet on first run; see Fund your wallet)
- An MCP client: Claude Code, Claude Desktop, Cursor, Windsurf, or ChatGPT Desktop
Claude Code (recommended)
claude mcp add blockrun -s user -- npx -y @blockrun/mcp@latestThe -s user flag installs globally (available in every project). The -- separator
ensures -y is passed to npx, not parsed by claude mcp add.
Claude Desktop — add to claude_desktop_config.json:
{
"mcpServers": {
"blockrun": {
"command": "npx",
"args": ["-y", "@blockrun/mcp"]
}
}
}Hosted (no install, always latest)
claude mcp add blockrun -s user --transport http https://mcp.blockrun.ai/mcpCursor — add to ~/.cursor/mcp.json (macOS / Linux) or %APPDATA%\Cursor\mcp.json (Windows):
{
"mcpServers": {
"blockrun": {
"command": "npx",
"args": ["-y", "@blockrun/mcp@latest"]
}
}
}Windsurf — same JSON, in:
- macOS:
~/.codeium/windsurf/mcp_config.json - Linux:
~/.config/.codeium/windsurf/mcp_config.json - Windows:
%APPDATA%\Codeium\windsurf\mcp_config.json
Run blockrun_wallet to see your address. Send USDC on Base.
| Method | Steps |
|---|---|
| Coinbase | Send → USDC → Base network → paste address |
| Bridge from Ethereum | bridge.base.org |
$5 covers ~5,000 market queries, ~500 Exa searches, ~250 image generations, or ~20 Seedance 1.5-pro clips (5s, ~$0.23 each).
| Tool | Data source | Cost |
|---|---|---|
blockrun_chat |
55+ LLMs (GPT, Claude, Gemini, DeepSeek, Kimi K2.6, GLM, NVIDIA free tier, ...) with mode tier routing |
per token |
blockrun_image |
DALL-E 3, GPT Image 1/2, Grok Imagine, Flux, CogView-4, Nano Banana — generation + editing | $0.015–0.12 |
blockrun_video |
xAI Grok Imagine Video + ByteDance Seedance 1.5/2.0/2.0-fast | $0.046–0.149/sec |
blockrun_music |
MiniMax music generation | per track |
blockrun_price |
Pyth-backed realtime + OHLC — crypto / FX / commodity (free), 12 stock markets (paid) | free or $0.001/call |
blockrun_markets |
Polymarket (markets, candles, trades, orderbooks, leaderboards, smart-wallet PnL/clusters, UMA oracle), Kalshi, Limitless, Opinion, Predict.Fun, dFlow, Binance Futures, cross-platform match + search | $0.001–0.005/query |
blockrun_surf |
Surf (asksurf.ai) — 84 endpoints: CEX market data, on-chain SQL (13 chains, 80+ ClickHouse tables), 100M+ labeled wallets, Polymarket + Kalshi side-by-side, social mindshare, news, search, Surf-1.5 chat with citations | $0.001–0.02/call |
blockrun_exa |
Neural web search (Exa) — research, competitors, papers, URL content | $0.01/query |
blockrun_search |
Grok Live Search — web + news with citations | $0.025 × max_results (default 10) |
blockrun_dex |
Live DEX prices via DexScreener | free |
blockrun_models |
Live catalogue of every LLM/image/video/music model + pricing | free |
blockrun_wallet |
Balance, spending, agent budgets, setup QR | free |
For LLMs and agents invoking BlockRun MCP tools:
- CRITICAL: When any
blockrun_*tool returns a payment / balance / 402 error, callblockrun_walletfirst to check status, thenaction:"setup"to get funding instructions. Don't retry the failing tool blindly — the wallet is empty. - CRITICAL: For
blockrun_marketsandblockrun_surf, the 80+ endpoint catalog lives inskills/markets/SKILL.mdandskills/surf/SKILL.md, NOT in the tool description. Browse the skill before guessing endpoint paths. - CRITICAL:
blockrun_chat routing:"smart"(ClawRouter) only works on Base wallets. On Solana, passmode:ormodel:to pick a model directly. - CRITICAL:
blockrun_musicandblockrun_videoare payment-on-completion async. Failures or client-side timeouts do NOT charge. Don't retry-loop them — they may take 60–180s. - CRITICAL: Before spawning child agents, allocate per-agent budget:
blockrun_wallet action:"delegate" agent_id:"X" agent_limit:1.00. Passagent_id:"X"to every downstreamblockrun_*call — the child is auto-blocked when the budget hits zero. - Free tier first for drafts:
blockrun_chat mode:"free"(NVIDIA),blockrun_dex,blockrun_price(crypto / FX / commodity), andblockrun_modelsare all $0. Use them to scaffold before paying for premium models.
What kinds of questions can Claude (or any LLM agent) answer once BlockRun MCP is installed:
-
Price reads / market data
"What's BTC trading at? Compare with last week's average." →
blockrun_price(free) orblockrun_surfpath:market/price -
Prediction-market consensus
"What's Polymarket's odds for the next Fed rate decision?" →
blockrun_marketspath:polymarket/events+ filter -
On-chain forensics
"This wallet (0xabc...) — what's it labeled as? What does it hold? When did it whale up?" →
blockrun_surfpaths:wallet/labels/batch,wallet/detail,wallet/net-worth -
Cited research with sources
"Find the 5 most-cited papers on speculative decoding from the last 90 days. Summarize the dominant approach." →
blockrun_exaaction:searchthencontents -
Image generation with on-image text
"Generate a poster announcing GPT-5.5 on BlockRun, retro-futuristic, with the headline 'NOW LIVE'." →
blockrun_image+ theimage-promptingskill 5-section framework -
Voice phone-out
"Call +1-415-555-... and confirm the appointment on Friday at 3pm." →
blockrun_phonepath:voice/call, body:{ to, task, from }(provisionfromfirst viaphone/numbers/buy), then pollvoice/call/{call_id} -
Multi-agent research with budget cap
"Spawn 3 research agents on competing L1 narratives. Cap each at $0.50." →
blockrun_wallet delegate × 3→ children callblockrun_chat+blockrun_exawith theiragent_id -
Cross-chain SQL forensics
"Top 10 tokens by DEX volume on Base in the last 24h." →
blockrun_surfpath:onchain/sql, body:{ sql: "SELECT..." }
| Direct APIs | BlockRun | |
|---|---|---|
| Exa | Sign up, $20/mo minimum | $0.01/call, no subscription |
| Polymarket | Undocumented, rate-limited | $0.001/call, clean JSON |
| Surf (asksurf.ai) | Account + monthly plan | $0.001/call, no Surf account, 84 endpoints |
| Multiple sources | 3 accounts, 3 API keys, 3 billing pages | 1 wallet |
One wallet. All sources. No dashboards.
BlockRun shines when you want unified billing + many sources + LLM-readable errors. It is not the right fit for:
- High-volume single-API workloads (≥10k calls/day to one source). Direct subscriptions amortize better past the break-even point — Polymarket's free public API plus your own caching beats $0.001 × 10k/day if you don't need cross-source aggregation.
- Compliance-sensitive flows that need a fiat invoice / audit trail. BlockRun settles in USDC; receipts are on-chain (Basescan / Solscan) but are not tax invoices. For enterprise procurement, contract directly with the upstream provider.
- Latency-critical sub-100ms reads. Each x402 call adds ~200–500ms of payment-signing + settlement overhead vs. a direct authenticated request. For HFT-style flows, run your own infra.
- You only need one source forever. If you'll only ever call Polymarket, or only ever Exa, save the indirection — sign up upstream and skip the wallet.
Use BlockRun when you want pay-per-call for exploration, aggregation, or agent-driven workloads where you can't predict which source you'll reach for next.
Delegate a spending budget to a child agent with agent_id. The child is auto-blocked when the budget runs out — useful for autonomous agents that shouldn't run up unbounded costs.
Insufficient balance/ HTTP 402 after retry → Runblockrun_wallet action:"setup". Send USDC on Base (or Solana — see Environment Variables).Smart routing (ClawRouter) is not available on Solana→ Passmodel:ormode:explicitly toblockrun_chat, or switch back to Base withecho base > ~/.blockrun/.chain.claude mcp listdoesn't showblockrun→ Checknode -v(must be ≥18). Clear the npx cache:rm -rf ~/.npm/_npx. Re-run the install command from above.fetch failed/ timeout when checking wallet balance → Base RPC transient outage. The tool already falls through 3 public RPCs; retry after 30s. Persistent failures usually = local proxy / firewall blocking outbound RPC.ENOENT: ~/.blockrun/.session→ Expected on first run. The server auto-creates the wallet; check stderr for theWALLET_CREATEDline confirming the address.Video generation timed out(5-min cap) → Upstream Seedance / xAI queue congestion. No charge (payment-on-completion). Retry, or pick a faster model (bytedance/seedance-1.5-pro).Music generation timed out(200s cap) → Same pattern. No charge. Retry; if it persists, the upstream model is rate-limited — try off-peak.
| Variable / File | Default | Effect |
|---|---|---|
~/.blockrun/.session |
auto-created on first run | EVM private key (0x...). File exists → use Base. |
~/.blockrun/.chain |
unset | Optional explicit chain preference: base or solana. |
~/.blockrun/.solana-session |
not created | Solana private key. File exists → switch to Solana unless .chain says base. |
SOLANA_WALLET_KEY |
unset | Env-var override of .solana-session. Set → use Solana. |
Chain selection priority (see src/utils/wallet.ts):
~/.blockrun/.chainor~/.blockrun/payment-chainset tobaseorsolana→ explicit preference winsSOLANA_WALLET_KEYenv var present → Solana~/.blockrun/.solana-sessionexists → Solana- Otherwise → Base (
~/.blockrun/.sessionauto-created)
Switching chains:
- Base → Solana:
echo solana > ~/.blockrun/.chain, then setSOLANA_WALLET_KEYor create~/.blockrun/.solana-session - Solana → Base:
echo base > ~/.blockrun/.chain(the existing.sessionis reused, so it's the same Base wallet)
Some media and paid market-data tools still settle on Base only: blockrun_image, blockrun_music, blockrun_video, and paid stock blockrun_price calls. In Solana mode they fail before creating or charging a Base wallet.
The server also runs a non-blocking npm registry check at startup and prints an Update available notice to stderr when a newer @blockrun/mcp version exists. Upgrade by re-running the install command — no manual npm update needed.
Pay-per-call via x402 micropayments in USDC. Your wallet lives at ~/.blockrun/.session (Base) or ~/.blockrun/.solana-session (Solana). The private key never leaves your machine.
PRs welcome. See CONTRIBUTING.md for setup, the tool-vs-skill design rule, and how to add a new partner API.
Issues: github.com/blockrunai/blockrun-mcp/issues



