
A wallet-based MCP server that routes requests to 55+ AI models, live market data, and web APIs through pay-per-use USDC micropayments on Base. Skip API key management for Exa neural search, Polymarket predictions, Twitter/X data, DEX prices via DexScreener, and model endpoints from OpenAI to DeepSeek. Each call costs fractions of a cent billed from a local wallet. Fund once with $5 USDC and query real-time crypto prices, generate images with DALL-E or Flux, search recent research papers, or pull Twitter mentions without subscriptions or rate limit negotiations. Useful when you want Claude to access live data sources without juggling multiple API accounts.
claude mcp add blockrun-mcp --env BLOCKRUN_WALLET_KEY=YOUR_BLOCKRUN_WALLET_KEY -- npx -y @blockrun/mcpRun in your terminal. Replace YOUR_* placeholders with real values; add --scope user to install for every project.
Review the command, arguments, and environment values before installing — MCP servers run with your local permissions.
Verified live against the running server on Jun 11, 2026.
blockrun_walletCall this tool to manage the BlockRun payment wallet and control agent spending budgets. Call this FIRST if any other blockrun_* tool returns a payment/balance error. Call this to check your current USDC balance before expensive operations. Call this to set spending limits bef...6 paramsCall this tool to manage the BlockRun payment wallet and control agent spending budgets. Call this FIRST if any other blockrun_* tool returns a payment/balance error. Call this to check your current USDC balance before expensive operations. Call this to set spending limits bef...
actionstringstatus · setup · qr · chain · budget · delegatedefault: statusagent_idstringagent_limitnumberbudget_actionstringset · check · clearbudget_amountnumberchainstringbase · solanablockrun_chatGet a second opinion from another AI model, or use a specialized model for a specific task. Notable modes: - mode:"glm" → Zhipu GLM-5 / GLM-5-Turbo ($0.001/call, excellent for coding tasks, pays via USDC on BlockRun) - mode:"coding" → GLM-5 first, then code-specialized models...13 paramsGet a second opinion from another AI model, or use a specialized model for a specific task. Notable modes: - mode:"glm" → Zhipu GLM-5 / GLM-5-Turbo ($0.001/call, excellent for coding tasks, pays via USDC on BlockRun) - mode:"coding" → GLM-5 first, then code-specialized models...
agent_idstringmax_tokensnumbermessage*stringmessagesarraymodestringfast · balanced · powerful · cheap · reasoning · freemodelstringresponse_formatstringtext · json_objectroutingstringsmartrouting_profilestringfree · eco · auto · premiumdefault: autostoparraysystemstringtemperaturenumberthinkingobjectblockrun_modelsList available AI models with pricing. Use to discover models and compare costs.2 paramsList available AI models with pricing. Use to discover models and compare costs.
categorystringall · chat · reasoning · image · embeddingdefault: allproviderstringblockrun_imageGenerate or edit images via BlockRun. Pays with USDC — no separate API keys needed. Actions: - generate (default): Create image from text prompt - edit: Transform an existing image using img2img Generation models (1024x1024 base price; larger sizes cost more on gpt-image-*): -...7 paramsGenerate or edit images via BlockRun. Pays with USDC — no separate API keys needed. Actions: - generate (default): Create image from text prompt - edit: Transform an existing image using img2img Generation models (1024x1024 base price; larger sizes cost more on gpt-image-*): -...
actionstringgenerate · editdefault: generateagent_idstringimagestringmodelstringzai/cogview-4 · google/nano-banana · google/nano-banana-pro · openai/gpt-image-1 · openai/gpt-image-2 · xai/grok-imagine-imageprompt*stringqualitystringstandard · hddefault: standardsizestringblockrun_musicGenerate music tracks via BlockRun x402. Generates a full-length ~3 minute MP3 track. Takes 1-3 minutes to complete. Models: minimax/music-2.5+ ($0.1575), minimax/music-2.5 ($0.1575) Returns a time-limited CDN URL — download immediately if you need to keep the file.5 paramsGenerate music tracks via BlockRun x402. Generates a full-length ~3 minute MP3 track. Takes 1-3 minutes to complete. Models: minimax/music-2.5+ ($0.1575), minimax/music-2.5 ($0.1575) Returns a time-limited CDN URL — download immediately if you need to keep the file.
agent_idstringinstrumentalbooleanlyricsstringmodelstringminimax/music-2.5+ · minimax/music-2.5default: minimax/music-2.5+prompt*stringblockrun_speechElevenLabs voice via BlockRun x402 — speak text aloud, generate sound effects, list voices. Actions: - speak (default): text-to-speech. E.g. "speak this with the sarah voice". Price = chars/1000 × rate (min $0.001), quoted before payment. - sound_effect: cinematic sound effect...9 paramsElevenLabs voice via BlockRun x402 — speak text aloud, generate sound effects, list voices. Actions: - speak (default): text-to-speech. E.g. "speak this with the sarah voice". Price = chars/1000 × rate (min $0.001), quoted before payment. - sound_effect: cinematic sound effect...
actionstringspeak · sound_effect · voicesdefault: speakagent_idstringduration_secondsnumberinputstringmodelstringelevenlabs/flash-v2.5 · elevenlabs/turbo-v2.5 · elevenlabs/multilingual-v2 · elevenlabs/v3default: elevenlabs/flash-v2.5prompt_influencenumberresponse_formatstringmp3 · opus · pcm · wavdefault: mp3speednumbervoicestringblockrun_videoGenerate short AI videos via BlockRun x402 (async, client-polled). Turns a text prompt (and optional seed image) into a short MP4 clip. The tool submits the job, then polls until the video is ready (typical total wall-time 60-180s; 5 min hard cap). Payment is settled only when...6 paramsGenerate short AI videos via BlockRun x402 (async, client-polled). Turns a text prompt (and optional seed image) into a short MP4 clip. The tool submits the job, then polls until the video is ready (typical total wall-time 60-180s; 5 min hard cap). Payment is settled only when...
agent_idstringduration_secondsintegerimage_urlstringmodelstringazure/sora-2 · xai/grok-imagine-video · bytedance/seedance-1.5-pro · bytedance/seedance-2.0-fast · bytedance/seedance-2.0default: xai/grok-imagine-videoprompt*stringreal_face_asset_idstringblockrun_realfaceEnroll a real person's face as a BytePlus RealFace asset, then drive Seedance 2.0 video with it (blockrun_video real_face_asset_id). A RealFace asset (ta_xxxx) lets Seedance 2.0 / 2.0-fast generate video of a SPECIFIC real person — not a generic seed image. Enrollment is a mul...5 paramsEnroll a real person's face as a BytePlus RealFace asset, then drive Seedance 2.0 video with it (blockrun_video real_face_asset_id). A RealFace asset (ta_xxxx) lets Seedance 2.0 / 2.0-fast generate video of a SPECIFIC real person — not a generic seed image. Enrollment is a mul...
action*stringinit · status · enroll · portrait · listagent_idstringgroup_idstringimage_urlstringnamestringblockrun_searchGrok Live Search — real-time web + X/Twitter + news with AI-summarized results and citations. $0.025 per returned source (max_results × $0.025; default max_results=10 → $0.25). Common shape: - body: { query: "...", sources: ["web","x","news"], max_results: 10, from_date: "YYYY...3 paramsGrok Live Search — real-time web + X/Twitter + news with AI-summarized results and citations. $0.025 per returned source (max_results × $0.025; default max_results=10 → $0.25). Common shape: - body: { query: "...", sources: ["web","x","news"], max_results: 10, from_date: "YYYY...
agent_idstringbodyvaluepathstringblockrun_exaNeural web search via Exa — understands meaning, not just keywords. Great for research. Common paths (all POST, body shapes documented in the exa-research skill): - search — body: { query, numResults?, category?, includeDomains?, excludeDomains? } ($0.01/call) - answer — body:...3 paramsNeural web search via Exa — understands meaning, not just keywords. Great for research. Common paths (all POST, body shapes documented in the exa-research skill): - search — body: { query, numResults?, category?, includeDomains?, excludeDomains? } ($0.01/call) - answer — body:...
agent_idstringbodyvaluepath*stringblockrun_marketsPrediction market + derivatives data via Predexon aggregator. Tier 1 = $0.001/call, Tier 2 = $0.005/call. CANONICAL CROSS-VENUE (Tier 1) — Predexon v2 unified data layer: - markets — list canonical market/question containers with cross-venue Predexon IDs - markets/listings — v...4 paramsPrediction market + derivatives data via Predexon aggregator. Tier 1 = $0.001/call, Tier 2 = $0.005/call. CANONICAL CROSS-VENUE (Tier 1) — Predexon v2 unified data layer: - markets — list canonical market/question containers with cross-venue Predexon IDs - markets/listings — v...
agent_idstringbodyvalueparamsobjectpath*stringblockrun_priceRealtime quotes and OHLC history for crypto, FX, commodities and 12 global stock markets (Pyth-backed). - action="price" — realtime quote for a symbol - action="history" — OHLC bars between from/to (unix seconds) - action="list" — discovery: list available symbols (free) Prici...11 paramsRealtime quotes and OHLC history for crypto, FX, commodities and 12 global stock markets (Pyth-backed). - action="price" — realtime quote for a symbol - action="history" — OHLC bars between from/to (unix seconds) - action="list" — discovery: list available symbols (free) Prici...
action*stringprice · history · listagent_idstringcategory*stringcrypto · fx · commodity · usstock · stocksfromnumberlimitintegermarketstringus · hk · jp · kr · gb · dequerystringresolutionstring1 · 5 · 15 · 60 · 240 · Dsessionstringpre · post · onsymbolstringtonumberblockrun_dexGet real-time DEX data from DexScreener. FREE - no payment required. Use for: - Token prices and liquidity across chains - Trading volume and price changes - Finding token pairs and contracts Examples: blockrun_dex({ query: "SOL" }) -> Search for SOL pairs blockrun_dex({ token...4 paramsGet real-time DEX data from DexScreener. FREE - no payment required. Use for: - Token prices and liquidity across chains - Trading volume and price changes - Finding token pairs and contracts Examples: blockrun_dex({ query: "SOL" }) -> Search for SOL pairs blockrun_dex({ token...
chainstringquerystringsymbolstringtokenstringblockrun_modalRun isolated code in a BlockRun-hosted Modal sandbox — disposable remote container, optional GPU. Use when you need: a clean ephemeral environment, GPU access (T4/L4/A10G/A100/A100-80GB/H100), or a safer place for untrusted code. Prefer local tools for normal repo work. Common...3 paramsRun isolated code in a BlockRun-hosted Modal sandbox — disposable remote container, optional GPU. Use when you need: a clean ephemeral environment, GPU access (T4/L4/A10G/A100/A100-80GB/H100), or a safer place for untrusted code. Prefer local tools for normal repo work. Common...
agent_idstringbodyvaluepath*stringblockrun_phonePhone-number intelligence, US/CA number provisioning, and outbound AI voice calls. Common paths (path = everything after /v1/): - phone/lookup POST body: { phoneNumber } ($0.01) - phone/lookup/fraud POST body: { phoneNumber } — SIM-swap + call-forwarding signals ($0.05) - phon...3 paramsPhone-number intelligence, US/CA number provisioning, and outbound AI voice calls. Common paths (path = everything after /v1/): - phone/lookup POST body: { phoneNumber } ($0.01) - phone/lookup/fraud POST body: { phoneNumber } — SIM-swap + call-forwarding signals ($0.05) - phon...
agent_idstringbodyvaluepath*stringblockrun_surfUnified crypto data via Surf (asksurf.ai) — 84 endpoints, one API. Coverage: CEX market data (16 exchanges), on-chain SQL across 13 chains, 100M+ labeled wallets, prediction markets (Polymarket + Kalshi), social mindshare / CT intelligence, news, unified search, and Surf-1.5 c...4 paramsUnified crypto data via Surf (asksurf.ai) — 84 endpoints, one API. Coverage: CEX market data (16 exchanges), on-chain SQL across 13 chains, 100M+ labeled wallets, prediction markets (Polymarket + Kalshi), social mindshare / CT intelligence, news, unified search, and Surf-1.5 c...
agent_idstringbodyvalueparamsobjectpath*stringblockrun_rpcRaw JSON-RPC against 40+ blockchains — one endpoint, no node, no API key. $0.002 per call (batch charges per element). Use when you need data the higher-level tools don't cover: contract reads (eth_call), balances, blocks, txs, logs, gas, or any chain-native RPC method. Networ...5 paramsRaw JSON-RPC against 40+ blockchains — one endpoint, no node, no API key. $0.002 per call (batch charges per element). Use when you need data the higher-level tools don't cover: contract reads (eth_call), balances, blocks, txs, logs, gas, or any chain-native RPC method. Networ...
agent_idstringbodyvaluemethodstringnetwork*stringparamsvalueblockrun_defiDeFi fundamentals via DefiLlama — protocol TVL, chain TVL, yield pools (APY), token prices. Pays per call in USDC, no API key. Paths (GET only): - protocols ($0.005) — all DeFi protocols ranked by TVL - protocol/{slug} ($0.005) — one protocol's TVL history + chain breakdown, e...2 paramsDeFi fundamentals via DefiLlama — protocol TVL, chain TVL, yield pools (APY), token prices. Pays per call in USDC, no API key. Paths (GET only): - protocols ($0.005) — all DeFi protocols ranked by TVL - protocol/{slug} ($0.005) — one protocol's TVL history + chain breakdown, e...
agent_idstringpath*stringAgents can't sign up for accounts. Agents can't enter credit cards.
Agents can only sign transactions.
BlockRun MCP gives your agent 20 tools — markets, research, web search, images, video, on-chain data, and live Polymarket trading — paid per call in USDC. No accounts. No API keys. No dashboards.
Read the odds and place the bet, from one self-custody wallet.
claude mcp add blockrun -s user -- npx -y @blockrun/mcp@latest
BlockRun MCP is an open-source Model Context Protocol server that gives Claude — and any MCP-compatible agent — 20 tools for real-time data and real actions: 71 LLMs, image & video generation, prediction-market data, live web/X search, on-chain queries across 40 chains, and the ability to place real, USDC-settled bets on Polymarket. Authentication is a wallet signature (no API keys); you pay per call in USDC via the x402 protocol (no credit cards, no subscriptions). One self-custody wallet on Base or Solana. MIT licensed.
Read live Polymarket odds and place the bet, from one self-custody wallet, pay-per-call. Jump to Polymarket trading →
Every other data integration was built for human developers — create an account, copy an API key into .env, add a credit card, repeat for every vendor.
Agents can't do any of that. BlockRun MCP is built for the agent-first world:
blockrun_chat mode:"free", blockrun_dex, crypto blockrun_price, blockrun_models) costs $0.blockrun_polymarket places real, confirm-gated trades.~/.blockrun/.session by default, 0600). BlockRun can't move your funds.| Raw provider APIs | Typical single-vendor MCP | BlockRun MCP | |
|---|---|---|---|
| Setup | Account + API key per vendor | Account/key for 1 vendor | Wallet auto-created, no signup |
| Payment | Credit card, monthly minimums | Credit card / vendor plan | USDC per-call via x402 |
| Data sources | One per integration | One vendor | 20 tools — LLMs, media, markets, chain |
| Place real bets | Build it yourself | Rare | Yes — Polymarket CLOB, confirm-gated |
| Pay-chain | — | — | Base + Solana |
| Agent budgets | Manual | — | Built-in per-agent delegation |
| Open source | Varies | Varies | Yes (MIT) |
✓ One wallet · ✓ Pay-per-call · ✓ Reads and trades · ✓ Multi-chain · ✓ Agent-ready · ✓ Open source
Before BlockRun, Claude can't answer:
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.
Claude Code (recommended)
claude mcp add blockrun -s user -- npx -y @blockrun/mcp@latest
-s user installs globally (available in every project). The -- separator ensures -y is passed to npx, not parsed by claude mcp add.
💡 Homebrew / nvm users: if the server doesn't connect, Claude Code likely can't find
node/npxon its launcher PATH. Pass your shell PATH through — works on CLI and desktop:claude mcp add blockrun -s user -e PATH="$PATH" -- npx -y @blockrun/mcp@latestSee Troubleshooting if it persists.
Claude Desktop — add to claude_desktop_config.json:
{
"mcpServers": {
"blockrun": { "command": "npx", "args": ["-y", "@blockrun/mcp"] }
}
}
Cursor — 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:
~/.codeium/windsurf/mcp_config.json~/.config/.codeium/windsurf/mcp_config.json%APPDATA%\Codeium\windsurf\mcp_config.jsonExpose a trimmed tool set so the client loads fewer schemas into context. Pass --profile <name> (or set BLOCKRUN_MCP_PROFILE); omit for the full set.
| Profile | Tools |
|---|---|
full (default) | everything (20 tools) |
media | wallet models image video realface music speech |
trading | wallet price dex markets surf defi rpc polymarket_read polymarket |
research | wallet models chat search exa surf |
chat | wallet models chat |
claude mcp add blockrun-trading -s user -- npx -y @blockrun/mcp@latest --profile trading
# Codex CLI
codex mcp add blockrun-trading -- npx -y @blockrun/mcp@latest --profile trading
An unknown profile name falls back to full. modal and phone are full-profile only.
For a complete live signal → order-preview presentation, use
skills/signal-to-trade-demo/SKILL.md
with the Stanford runbook.
Run blockrun_wallet to see your address. The server pays on Base by default — send USDC on Base (Coinbase → USDC → Base network → paste address, or bridge via bridge.base.org).
$5 covers ~525 market queries · ~500 Exa searches · ~250 image generations · ~14 Seedance 1.5-pro clips.
Prefer Solana? See Fund your wallet — two tool calls, no restart.
"What's Polymarket saying about the next Fed decision? If 'hold' is above 70%, put $2 on it."
Claude reads the odds with blockrun_markets and — with your confirmation — places the trade with blockrun_polymarket. One wallet. Gasless. Confirm-gated.
User: What's Polymarket saying about the Fed rate decision next month?
Claude: According to Polymarket, the market puts a 73% probability on the Fed holding rates steady, 24% on a 25bp cut, 3% on a hike. 24h volume: $2.1M. The "Hold" contract last traded at $0.73.
(via
blockrun_markets· cost: $0.0095)
User: Polymarket has Hawley at ~13% to announce a 2026 presidential run — put $1 on Yes.
Claude: Done — bought 7.63 shares of Yes at $0.131 ($1.00, market FOK). Real on-chain order, settled in pUSD from your gasless Polymarket deposit wallet; I'm tracking the position now.
(signal via
blockrun_markets, trade viablockrun_polymarket— one self-custody wallet, gasless · on-chain tx0x7ca8…)
| Tool | Data source | Cost |
|---|---|---|
blockrun_chat | 71 LLMs (GPT, Claude, Gemini, DeepSeek, Kimi K3, GLM, NVIDIA free tier, …) with mode tier routing | per token |
blockrun_image | Generate: openai/gpt-image-2, gpt-image-1, google/nano-banana(-2/-pro), xai/grok-imagine-image(-pro), zai/cogview-4, bytedance/seedream-5-pro. Edit: img2img, inpaint, fusion. | $0.015–0.15 |
blockrun_video | Sora 2 + xAI Grok Imagine Video + ByteDance Seedance 1.5/2.0-mini/2.0-fast/2.0/2.5 (720p + audio; 4K on 2.0, up to 30s on 2.5); RealFace asset → real-person video | $0.053–0.32/sec charged |
blockrun_realface | Enroll a real person (phone liveness) or AI character (Virtual Portrait) as a ta_xxxx asset for Seedance 2.0 / 2.0-fast / 2.0-mini video (not 2.5) | free; $0.01 to enroll |
blockrun_music | MiniMax music generation | per track |
blockrun_speech | ElevenLabs TTS (Flash/Turbo/Multilingual/v3, 8 voices) + ByteDance Seed Audio (prompt-directed) + cinematic sound effects; free voice listing | $0.05–0.10/1k chars |
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 search | $0.0095/query |
blockrun_polymarket_read | Read-only Polymarket positions/open orders plus executable live order previews, separated for MCP clients that enforce tool safety annotations | free |
blockrun_polymarket | Trade on Polymarket (CLOB V2): place/cancel real bets, positions, redeem winnings — signed locally, settled in pUSD from a gasless deposit wallet. Confirm-gated, $25/order default cap. Details ↓ | free tool; bets are your funds |
blockrun_surf | Surf (asksurf.ai) — 83 endpoints: CEX data, on-chain SQL (13 chains, 80+ tables), 100M+ labeled wallets, Polymarket + Kalshi, social mindshare, news, Surf-1.5 chat with citations | $0.0095/call |
blockrun_exa | Neural web search (Exa) — research, competitors, papers, URL content | $0.01/query |
blockrun_search | Grok Live Search — web + X/Twitter + news with citations | $0.025 × max_results |
blockrun_dex | Live DEX prices via DexScreener | free |
blockrun_rpc | Raw JSON-RPC on 40 chains (Ethereum, Base, Solana, Bitcoin, Sui, NEAR, …) via Tatum | $0.002/call |
blockrun_defi | DefiLlama — protocol TVL, chain TVL, yield pools (APY), token prices | $0.001–0.005/call |
blockrun_modal | Isolated code execution in a BlockRun-hosted Modal sandbox — disposable container, optional GPU (T4 → H100) | $0.01 create; $0.001/op |
blockrun_phone | Outbound AI voice calls (Bland) + wallet-owned US/CA numbers (Twilio), carrier + fraud lookups | $0.54/call; $5/number |
blockrun_models | Live catalogue of every LLM/image/video/music model + pricing | free |
blockrun_wallet | Balance, spending, agent budgets, setup QR, chain switch | free |
blockrun_marketsblockrun_markets reads, blockrun_polymarket action:"buy" places. Gasless, confirm-gated.blockrun_surfblockrun_exablockrun_imageblockrun_speechblockrun_phoneblockrun_wallet delegate × 3blockrun_surf onchain/sqlblockrun_polymarket lets an agent place real bets on Polymarket (CLOB V2, Polygon). It is non-custodial: every order and approval is EIP-712-signed locally by your BlockRun wallet key — the same self-custody key that pays x402 API fees on Base also authorizes bets on Polygon. Neither BlockRun nor Polymarket's relayer can move funds; they only forward payloads you signed.
Architecture — the official "deposit wallet" path (signature type POLY_1271): a smart-contract vault on Polygon, CREATE2-derived from your key (only your key can authorize it), holds betting funds in pUSD (Polymarket's 1:1 collateral wrapper). Deployment, approvals, and redemptions all run gasless through Polymarket's relayer — you never need POL.
📖 Full step-by-step guide: docs/polymarket-trading-setup.md
# 1. Provision your deposit wallet (idempotent, gasless)
blockrun_polymarket action:"setup"
# 2. Fund it from your Base USDC in one call (gasless; $0.01 fee, non-custodial)
blockrun_polymarket action:"fund" amount_usd:5 confirm:true
# 3. Sign the one-time gasless approval batch
blockrun_polymarket action:"setup" confirm:true
# 4. Find a market, preview safely, then place only after exact user approval
blockrun_polymarket_read action:"preview" side:"buy" token_id:"<id>" amount_usd:5 order_type:"FOK"
blockrun_polymarket action:"buy" token_id:"<id>" amount_usd:5 order_type:"FOK" confirm:true
# 5. Manage → positions · orders · cancel · sell · redeem · withdraw
Safety rails (server-side; an agent cannot bypass them): confirm:true required for every order/approval/redeem, POLYMARKET_MAX_BET_USD per-order cap (default $25), optional POLYMARKET_MAX_SESSION_USD session cap, and bets never draw from the x402 API budget.
Regions: Polymarket geoblocks order placement by IP (US/UK + many regions). Handled by default — the MCP routes CLOB traffic through BlockRun's hosted Finland egress (a fully unrestricted region under Polymarket's policy), so trading works out of the box; setup reports your status. Override POLYMARKET_CLOB_HOST to go direct or run your own egress, optionally reached via HTTPS_PROXY / POLYMARKET_CLOB_PROXY (a proxy alone doesn't change the Polymarket-facing egress). Complying with Polymarket's terms for your jurisdiction is your responsibility.
⚠️ Back up your signer key (
~/.blockrun/.sessionby default; aBLOCKRUN_WALLET_KEYenv var or an existing agentwallet.jsontakes precedence —setupprints the actual signer address). It is the only key to both the payment wallet and the Polymarket deposit wallet.
Run blockrun_wallet to see your address. The server pays on Base by default.
| Method | Steps |
|---|---|
| Coinbase | Send → USDC → Base network → paste address |
| Bridge from Ethereum | bridge.base.org |
$5 covers ~525 market queries, ~500 Exa searches, ~250 image generations, or ~14 Seedance 1.5-pro clips (5s @ 720p+audio, ~$0.35 each).
Two tool calls — no env vars, no file editing, no restart:
blockrun_wallet action:"chain" chain:"solana" # provisions + activates the Solana wallet
blockrun_wallet action:"setup" # shows the Solana address + funding QR
Then send USDC (SPL) on the Solana network — from Coinbase (pick "Solana"), Phantom, Solflare, or Backpack. Switch back with blockrun_wallet action:"chain" chain:"base". The server keeps both wallets; switching just changes which one pays.
Base-only — these fall back to Base regardless of active chain: blockrun_music, blockrun_speech, blockrun_video, blockrun_modal, blockrun_defi, paid blockrun_realface, paid stock blockrun_price, and native Anthropic (claude-*) passthrough. In Solana mode they return a "switch to Base" message instead of charging. blockrun_image pays on either chain.
If you are an LLM invoking BlockRun MCP tools, read these first:
blockrun_wallet first to check status, then action:"setup" for funding. Don't retry the failing tool blindly — the wallet is empty.blockrun_polymarket moves REAL user funds (pUSD on Polygon), separate from the x402 API budget. Never buy/sell/redeem with confirm:true unless the user explicitly approved that exact trade; without confirm you get a safe dry-run. Discover markets/token IDs with blockrun_markets first.blockrun_surf's 84-endpoint catalog is in skills/surf/SKILL.md; blockrun_markets' full endpoint list is in its tool description (worked examples in skills/prediction-markets/SKILL.md; live-demo workflow in skills/signal-to-trade-demo/SKILL.md). Browse those before guessing paths.blockrun_music and blockrun_video are payment-on-completion async. Failures / client timeouts do NOT charge. Don't retry-loop — they may take 60–180s.blockrun_wallet action:"delegate" agent_id:"X" agent_limit:1.00, then pass agent_id:"X" to every downstream call. The child is auto-blocked at zero.blockrun_chat mode:"free" (NVIDIA), blockrun_dex, blockrun_price (crypto/FX/commodity), and blockrun_models are $0.Posters generated through blockrun_image with openai/gpt-image-2 — each a single API call routed through BlockRun, paid in USDC on Base.
![]() | ![]() | ![]() |
| Cornell Blockchain Conference 2026 | Cornell Blockchain Conference 2026 | 100 Trillion Tokens milestone |
Prompts and a worked example are in skills/image-prompting/SKILL.md.
| Direct APIs | BlockRun | |
|---|---|---|
| Exa | Sign up, $20/mo minimum | $0.01/call, no subscription |
| Polymarket | Undocumented, rate-limited | $0.0095/call, clean JSON — plus you can trade |
| Surf (asksurf.ai) | Account + monthly plan | $0.0095/call, no account, 83 endpoints |
| Multiple sources | 3 accounts, 3 API keys, 3 billing pages | 1 wallet |
One wallet. All sources. No dashboards.
| Variable / File | Default | Effect |
|---|---|---|
~/.blockrun/.session | auto-created on first run | EVM private key (0x…). File exists → use Base. Also the Polymarket signer (unless BLOCKRUN_WALLET_KEY or an agent wallet.json takes precedence). |
BLOCKRUN_WALLET_KEY | unset | Env override of the EVM key — takes precedence over .session / wallet.json as the Base + Polymarket signer. |
~/.blockrun/.chain | unset | Explicit chain preference: base or solana. Written only by blockrun_wallet action:"chain" — i.e. only when you choose. |
~/.blockrun/.chain-auto | written on first run | Automatic pin: the chain you were already on when your second wallet was provisioned. Keeps a Base user on Base once a Solana session exists, and is outranked by SOLANA_WALLET_KEY. Cleared whenever you set a chain explicitly. |
~/.blockrun/.solana-session | not created | Solana private key. File exists → Solana unless .chain says base. |
SOLANA_WALLET_KEY | unset | Env override of .solana-session. Set → use Solana. |
BLOCKRUN_MCP_PROFILE | full | Tool profile (media / trading / research / chat). |
POLYMARKET_CLOB_HOST | BlockRun Finland relay | Geoblock egress for order placement — defaulted for you. Override to go direct (https://clob.polymarket.com) or your own egress. |
POLYMARKET_MAX_BET_USD | 25 | Hard per-order notional cap. |
POLYMARKET_MAX_SESSION_USD | unset | Optional cumulative per-process betting cap. |
POLYMARKET_SIG_TYPE | 3 | 3 = deposit wallet (POLY_1271, gasless); 0 = plain EOA mode. |
POLYMARKET_CLOB_PROXY | unset | HTTPS proxy for Polymarket CLOB traffic only. |
POLYMARKET_BOUNDED_APPROVALS | unset (unlimited) | Bound pUSD exchange allowances to this many dollars. |
BLOCKRUN_BUILDER_CODE | unset | Optional Polymarket builder attribution code carried on orders. |
Chain selection priority (src/utils/wallet.ts): .chain preference → SOLANA_WALLET_KEY → .chain-auto pin → .solana-session exists → otherwise Base.
The server runs a non-blocking npm registry check at startup and prints an Update available notice to stderr when a newer @blockrun/mcp exists — re-run the install command to upgrade.
Insufficient balance / HTTP 402 after retry → Run blockrun_wallet action:"setup", send USDC on Base (or Solana).blockrun doesn't connect / "MCP server failed" / spawn npx ENOENT → Almost always a PATH issue: Claude Code can't find node/npx on its launcher PATH (common with Homebrew / nvm, on CLI and desktop). Fix by passing your shell PATH at install:
claude mcp remove blockrun -s user
claude mcp add blockrun -s user -e PATH="$PATH" -- npx -y @blockrun/mcp@latest
Then restart Claude Code. Or pin absolute paths (which npx).claude mcp list doesn't show blockrun → Check node -v (≥20.19). Clear the npx cache: rm -rf ~/.npm/_npx. Re-run the install.fetch failed / balance-check timeout → Base RPC transient outage. The tool falls through 3 public RPCs; retry after 30s. Persistent = local proxy / firewall blocking outbound RPC.Video/Music generation timed out → Upstream queue congestion. No charge (payment-on-completion). Retry, or pick a faster model.redeem reverts, though setup shows ready → Re-run action:"setup" confirm:true once (grants the on-chain approvals a pre-upgrade deposit wallet may lack — including the collateral-adapter approvals redeem needs). See the setup guide.What is BlockRun MCP? An open-source MCP server that gives Claude and other agents 20 tools for real-time data and real actions (trading, media, on-chain), paid per call in USDC. No accounts, no API keys.
Do I need API keys or accounts? No. A wallet is auto-created locally on first run; you fund it with USDC. No signups, no dashboards, no key rotation.
How much does it cost?
Pay-per-call — fractions of a cent to a few cents. The free tier (blockrun_chat mode:"free", blockrun_dex, crypto blockrun_price, blockrun_models) is $0. $5 of USDC covers thousands of queries.
Is it safe / non-custodial?
Yes. Your private key never leaves your machine (~/.blockrun/.session by default, 0600). x402 payments and Polymarket orders are signed locally — BlockRun forwards signed payloads and cannot move your funds.
Which clients work? Claude Code, Claude Desktop, Cursor, Windsurf, and any MCP-compatible client.
Can it really place real bets?
Yes. blockrun_polymarket places real, USDC-settled orders on Polymarket's CLOB — confirm-gated and capped. Read the odds with blockrun_markets, place with blockrun_polymarket.
Base or Solana?
Both. Switch instantly with blockrun_wallet action:"chain". A few media/paid tools settle on Base only (noted above).
BlockRun is agent-native AI infrastructure — one wallet, x402 USDC micropayments, across every surface:
| 💬 Community Telegram | t.me/blockrunAI |
| 🐦 X / Twitter | @BlockRunAI |
| 📖 Documentation | blockrun.ai/docs |
| 🐛 Issues | github.com/BlockRunAI/blockrun-mcp/issues |
PRs welcome. See CONTRIBUTING.md for setup, the tool-vs-skill design rule, and how to add a new partner API.
MIT License · blockrun.ai — Agent-native AI infrastructure
Website · npm · Docs · @BlockRunAI
BLOCKRUN_WALLET_KEYsecretOptional: Your wallet private key for USDC payments (hex for Base, bs58 for Solana). If not set, a wallet is auto-generated.