SkillAtlasSkill 详情

surf

Real-time data — and real trades — for Claude and any AI agent.

审核状态:已审核Quality 72Security 70

复制安装命令

用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。

复制前请先查看来源、License 和安全提示。

项目 README

来源文件:README.md

抓取于 2026年7月29日

BlockRun MCP

Real-time data — and real trades — for Claude and any AI agent.

Agents 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.


20 tools  Agent native  No API keys  Read and trade Polymarket  x402 USDC  Open source

npm version npm downloads GitHub stars Publish TypeScript Node License: MIT

MCP x402 Protocol Base Network Solana Telegram

claude mcp add blockrun -s user -- npx -y @blockrun/mcp@latest
Wallet auto-created on first run. Fund with $5 USDC. Ask Claude anything.

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: 66 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.

🏆 First of its kind — the signal → trade loop in Claude Code

Read live Polymarket odds and place the bet, from one self-custody wallet, pay-per-call. Jump to Polymarket trading →


Why BlockRun MCP exists

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:

  • One wallet, every source — 20 tools behind a single self-custody wallet. No per-vendor signups.
  • No API keys — your wallet signature is authentication.
  • No credit cards — pay per request in USDC via x402, fractions of a cent each.
  • Starts free — the free tier (blockrun_chat mode:"free", blockrun_dex, crypto blockrun_price, blockrun_models) costs $0.
  • Reads and acts — most tools deliver data; blockrun_polymarket places real, confirm-gated trades.
  • Self-custody — your key never leaves your machine (~/.blockrun/.session by default, 0600). BlockRun can't move your funds.

How it compares

Raw provider APIsTypical single-vendor MCPBlockRun MCP
SetupAccount + API key per vendorAccount/key for 1 vendorWallet auto-created, no signup
PaymentCredit card, monthly minimumsCredit card / vendor planUSDC per-call via x402
Data sourcesOne per integrationOne vendor20 tools — LLMs, media, markets, chain
Place real betsBuild it yourselfRareYes — Polymarket CLOB, confirm-gated
Pay-chain——Base + Solana
Agent budgetsManual—Built-in per-agent delegation
Open sourceVariesVariesYes (MIT)

✓ One wallet · ✓ Pay-per-call · ✓ Reads and trades · ✓ Multi-chain · ✓ Agent-ready · ✓ Open source


What changes

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?"
  • "Polymarket has the Fed holding at 73% — put $2 on it." ← and now it can place the trade, not just read the odds.

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.


Quick Start

1. Install

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/npx on 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@latest

See Troubleshooting if it persists.

Other clients — Claude Desktop, Cursor, Windsurf

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:

  • macOS: ~/.codeium/windsurf/mcp_config.json
  • Linux: ~/.config/.codeium/windsurf/mcp_config.json
  • Windows: %APPDATA%\Codeium\windsurf\mcp_config.json

2. Choose a tool profile (optional)

Expose 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.

ProfileTools
full (default)everything (20 tools)
mediawallet models image video realface music speech
tradingwallet price dex markets surf defi rpc polymarket_read polymarket
researchwallet models chat search exa surf
chatwallet 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.

3. Fund your wallet

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 · ~10 Seedance 1.5-pro clips.

Prefer Solana? See Fund your wallet — two tool calls, no restart.

4. Ask Claude anything

"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.


Demo

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 via blockrun_polymarket — one self-custody wallet, gasless · on-chain tx 0x7ca8…)


Tools

ToolData sourceCost
blockrun_chat66 LLMs (GPT, Claude, Gemini, DeepSeek, Kimi K3, GLM, NVIDIA free tier, …) with mode tier routingper token
blockrun_imageGenerate: openai/gpt-image-2, gpt-image-1, google/nano-banana(-pro), xai/grok-imagine-image(-pro), zai/cogview-4. Edit: img2img, inpaint, fusion.$0.015–0.15
blockrun_videoSora 2 + xAI Grok Imagine Video + ByteDance Seedance 1.5/2.0/2.0-fast (720p + audio); RealFace asset → real-person video$0.05–0.30/sec
blockrun_realfaceEnroll a real person (phone liveness) or AI character (Virtual Portrait) as a ta_xxxx asset for Seedance 2.0 videofree; $0.01 to enroll
blockrun_musicMiniMax music generationper track
blockrun_speechElevenLabs TTS (Flash/Turbo/Multilingual/v3, 8 voices) + cinematic sound effects; free voice listing$0.05–0.10/1k chars
blockrun_pricePyth-backed realtime + OHLC — crypto / FX / commodity (free), 12 stock markets (paid)free or $0.001/call
blockrun_marketsPolymarket (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_readRead-only Polymarket positions/open orders plus executable live order previews, separated for MCP clients that enforce tool safety annotationsfree
blockrun_polymarketTrade 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_surfSurf (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_exaNeural web search (Exa) — research, competitors, papers, URL content$0.01/query
blockrun_searchGrok Live Search — web + X/Twitter + news with citations$0.025 × max_results
blockrun_dexLive DEX prices via DexScreenerfree
blockrun_rpcRaw JSON-RPC on 40 chains (Ethereum, Base, Solana, Bitcoin, Sui, NEAR, …) via Tatum$0.002/call
blockrun_defiDefiLlama — protocol TVL, chain TVL, yield pools (APY), token prices$0.001–0.005/call
blockrun_modalIsolated code execution in a BlockRun-hosted Modal sandbox — disposable container, optional GPU (T4 → H100)$0.01 create; $0.001/op
blockrun_phoneOutbound AI voice calls (Bland) + wallet-owned US/CA numbers (Twilio), carrier + fraud lookups$0.54/call; $5/number
blockrun_modelsLive catalogue of every LLM/image/video/music model + pricingfree
blockrun_walletBalance, spending, agent budgets, setup QR, chain switchfree

Key use cases

  1. Prediction-market consensus → "Polymarket's odds for the next Fed decision?" — blockrun_markets
  2. Signal → trade (the full loop, self-custody) → "If 'hold' is under 30%, put $2 on Yes." — blockrun_markets reads, blockrun_polymarket action:"buy" places. Gasless, confirm-gated.
  3. On-chain forensics → "This wallet — what's it labeled, what does it hold, when did it whale up?" — blockrun_surf
  4. Cited research → "5 most-cited papers on speculative decoding, last 90 days." — blockrun_exa
  5. Image generation with on-image text → "Poster announcing GPT-5.5, retro-futuristic, headline 'NOW LIVE'." — blockrun_image
  6. Give your agent a voice → "Speak this with the sarah voice." — blockrun_speech
  7. Voice phone-out → "Call +1-415-… and confirm Friday at 3pm." — blockrun_phone
  8. Multi-agent research, capped → "Spawn 3 agents on competing L1 narratives. Cap each at $0.50." — blockrun_wallet delegate × 3
  9. Cross-chain SQL → "Top 10 tokens by DEX volume on Base, last 24h." — blockrun_surf onchain/sql

📈 Polymarket trading

blockrun_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/.session by default; a BLOCKRUN_WALLET_KEY env var or an existing agent wallet.json takes precedence — setup prints the actual signer address). It is the only key to both the payment wallet and the Polymarket deposit wallet.


Fund your wallet

Run blockrun_wallet to see your address. The server pays on Base by default.

MethodSteps
CoinbaseSend → USDC → Base network → paste address
Bridge from Ethereumbridge.base.org

$5 covers ~525 market queries, ~500 Exa searches, ~250 image generations, or ~10 Seedance 1.5-pro clips (5s @ 720p+audio, ~$0.46 each).

Pay on Solana

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, 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.


For agents & LLMs

If you are an LLM invoking BlockRun MCP tools, read these first:

  • CRITICAL: On any payment / balance / 402 error, call blockrun_wallet first to check status, then action:"setup" for funding. Don't retry the failing tool blindly — the wallet is empty.
  • CRITICAL: 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.
  • CRITICAL: 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.
  • CRITICAL: 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.
  • CRITICAL: Before spawning child agents, allocate per-agent budget: 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.
  • Free tier first for drafts: blockrun_chat mode:"free" (NVIDIA), blockrun_dex, blockrun_price (crypto/FX/commodity), and blockrun_models are $0.

Showcase

Posters generated through blockrun_image with openai/gpt-image-2 — each a single API call routed through BlockRun, paid in USDC on Base.

gpt-5.5 — now live on BlockRun. Pay per call. No subscription. No keys.

BlockRun at the Cornell Blockchain Conference 2026, packed boothBlockRun at the Cornell Blockchain Conference 2026100 Trillion Tokens served — synthwave milestone poster
Cornell Blockchain Conference 2026Cornell Blockchain Conference 2026100 Trillion Tokens milestone

Prompts and a worked example are in skills/image-prompting/SKILL.md.


Why not just use the APIs directly?

Direct APIsBlockRun
ExaSign up, $20/mo minimum$0.01/call, no subscription
PolymarketUndocumented, 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 sources3 accounts, 3 API keys, 3 billing pages1 wallet

One wallet. All sources. No dashboards.


Configuration

Environment variables & files
Variable / FileDefaultEffect
~/.blockrun/.sessionauto-created on first runEVM private key (0x…). File exists → use Base. Also the Polymarket signer (unless BLOCKRUN_WALLET_KEY or an agent wallet.json takes precedence).
BLOCKRUN_WALLET_KEYunsetEnv override of the EVM key — takes precedence over .session / wallet.json as the Base + Polymarket signer.
~/.blockrun/.chainunsetExplicit chain preference: base or solana.
~/.blockrun/.solana-sessionnot createdSolana private key. File exists → Solana unless .chain says base.
SOLANA_WALLET_KEYunsetEnv override of .solana-session. Set → use Solana.
BLOCKRUN_MCP_PROFILEfullTool profile (media / trading / research / chat).
POLYMARKET_CLOB_HOSTBlockRun Finland relayGeoblock egress for order placement — defaulted for you. Override to go direct (https://clob.polymarket.com) or your own egress.
POLYMARKET_MAX_BET_USD25Hard per-order notional cap.
POLYMARKET_MAX_SESSION_USDunsetOptional cumulative per-process betting cap.
POLYMARKET_SIG_TYPE33 = deposit wallet (POLY_1271, gasless); 0 = plain EOA mode.
POLYMARKET_CLOB_PROXYunsetHTTPS proxy for Polymarket CLOB traffic only.
POLYMARKET_BOUNDED_APPROVALSunset (unlimited)Bound pUSD exchange allowances to this many dollars.
BLOCKRUN_BUILDER_CODEunsetOptional Polymarket builder attribution code carried on orders.

Chain selection priority (src/utils/wallet.ts): .chain preference → SOLANA_WALLET_KEY → .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.


Troubleshooting

  • 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.
  • Polymarket: neg-risk ("winner") market buy fails, or 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.

FAQ

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


From the BlockRun ecosystem

BlockRun is agent-native AI infrastructure — one wallet, x402 USDC micropayments, across every surface:

  • ⚡ ClawRouter — the agent-native LLM router for OpenClaw. 66 models, <1ms local routing, USDC on Base & Solana.
  • 🤖 BRCC — BlockRun for Claude Code: smart routing + x402 payments, purpose-built for Claude Code.
  • 🐍 ClawRouter-Hermes — Python plugin wiring NousResearch Hermes into the ClawRouter proxy.
  • 📚 Docs · Models & pricing — full SDKs, APIs, and the model catalogue.

Support & community

💬 Community Telegramt.me/blockrunAI
🐦 X / Twitter@BlockRunAI
📖 Documentationblockrun.ai/docs
🐛 Issuesgithub.com/BlockRunAI/blockrun-mcp/issues

Contributing

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

数据与 AI研究与检索

中风险

  • 来源需自行核对维护者身份。
  • 包含脚本或命令调用,安装前请复核。
  • 可能需要外部 token、网络权限或第三方服务。
  • 未检测到高风险命令。
  • 扫描发现:1 条。

Codex — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/BlockRunAI/blockrun-mcp.git
  3. 将 "skills/surf" 文件夹复制到 Codex 的 skills 目录中。
  4. 重启 Codex 让新的 skill 生效。

Codex — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Codex 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Codex 让新的 skill 生效。

Claude Code — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/BlockRunAI/blockrun-mcp.git
  3. 将 "skills/surf" 文件夹复制到 Claude Code 的 skills 目录中。
  4. 重启 Claude Code 让新的 skill 生效。

Claude Code — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Claude Code 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Claude Code 让新的 skill 生效。

Cursor — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/BlockRunAI/blockrun-mcp.git
  3. 将 "skills/surf" 文件夹复制到 Cursor 的 skills 目录中。
  4. 重启 Cursor 让新的 skill 生效。

Cursor — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Cursor 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Cursor 让新的 skill 生效。

GitHub Copilot — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/BlockRunAI/blockrun-mcp.git
  3. 将 "skills/surf" 文件夹复制到 GitHub Copilot 的 skills 目录中。
  4. 重启 GitHub Copilot 让新的 skill 生效。

GitHub Copilot — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 GitHub Copilot 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 GitHub Copilot 让新的 skill 生效。

Windsurf — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/BlockRunAI/blockrun-mcp.git
  3. 将 "skills/surf" 文件夹复制到 Windsurf 的 skills 目录中。
  4. 重启 Windsurf 让新的 skill 生效。

Windsurf — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Windsurf 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Windsurf 让新的 skill 生效。
查看 SKILL.md 原文
name: surf
description: Use when the user wants crypto data — token prices, on-chain SQL, prediction-market positions, CEX order books, wallet labels/net-worth, social mindshare, news, or unified search. 83 endpoints across exchange, on-chain, wallet, social, prediction, news and search — one API, flat $0.0095/call in USDC via x402. Settles directly to Surf's Base treasury; no Surf account needed.
triggers:
  - "surf"
  - "asksurf"
  - "crypto data"
  - "on-chain sql"
  - "clickhouse crypto"
  - "wallet labels"
  - "wallet net worth"
  - "smart followers"
  - "ct mindshare"
  - "social mindshare"
  - "kol search"
  - "fear and greed"
  - "etf flows"
  - "funding rate"
  - "long short ratio"
  - "liquidation chart"
  - "tokenomics unlock"
  - "vc fund portfolio"
  - "defi protocol metrics"
  - "bridge ranking"
  - "yield ranking"
  - "airdrop search"
  - "options skew"
  - "perp snapshot"
  - "gas price"
  - "polymarket data"
  - "kalshi data"

Surf — Crypto Data via BlockRun

Surf (asksurf.ai) aggregates 83 crypto data endpoints across CEX market data, on-chain SQL (13 chains, 80+ ClickHouse tables), 100M+ labeled wallets, prediction markets (Polymarket + Kalshi side-by-side), social/CT intelligence, news and unified search.

BlockRun is Surf's x402 payment rail — every call settles directly to Surf's Base treasury. You hold the wallet, BlockRun holds the Surf key, Surf holds the data. No Surf account, no API key, no monthly minimum.

How to Call from MCP

One tool, three params. The MCP tool auto-routes method (POST when body is set, GET otherwise) and auto-validates required params before settling:

blockrun_surf({ path: "market/price", params: { symbol: "BTC" } })

blockrun_surf({ path: "onchain/sql", body: {
  sql: "SELECT token_address, count() FROM ethereum.dex_trades WHERE block_time > now() - INTERVAL 1 DAY GROUP BY 1 ORDER BY 2 DESC LIMIT 10"
}})

blockrun_surf({ path: "wallet/labels/batch", params: { addresses: "0xabc,0xdef" } })

Pricing — one flat rate

$0.0095 per call. Every endpoint, no tiers, including raw on-chain SQL.

Verified against the gateway's own payment-required header, which is free to request — send any call with no payment header and it quotes the exact charge. All of market/price, wallet/labels/batch, social/mindshare, news/feed, exchange/klines, search/web and onchain/sql return the same $0.0095 (SURF_TIER_1/2/3_PRICE are all identical upstream).

Ignore any "premium tier" pricing you may have seen — SQL used to cost more and no longer does.

Wrong / missing required params return HTTP 400 without charging — pre-validation runs before settlement.

Do NOT use Surf for prediction markets

Surf carries 17 prediction-market/* endpoints (Polymarket + Kalshi). Use blockrun_markets (Predexon) instead — same data, same price, and far deeper.

Predexon used to be 7.5× cheaper; since 2026-07-15 both bill the same flat rate, so the choice is now purely about coverage — and Predexon still wins on coverage by a wide margin.

Predexon (blockrun_markets)Surf
Polymarket / Kalshi markets$0.0095$0.0095 (same)
Wallet clustering, smart money, leaderboards✅❌ none
Limitless, Opinion, Predict.Fun, dFlow, sports, UMA✅❌ Polymarket + Kalshi only

The only Surf prediction-market endpoint with no Predexon equivalent is prediction-market/category-metrics. Everything else is a strictly worse buy. See skills/prediction-markets/SKILL.md.

Reach for Surf when Predexon cannot answer it: on-chain SQL, 100M+ wallet labels across 13 chains, 16 CEXs, social/CT intelligence, news, tokenomics/unlocks, liquidations, ETF flows, VC portfolios. Predexon has none of those.

Quick Decision Table — "User asks about X"

User wants…MethodPathRequired
BTC/ETH priceGETmarket/pricesymbol
ETF flow historyGETmarket/etfsymbol
Fear & Greed indexGETmarket/fear-greed–
Top 100 tokens by market capGETmarket/ranking–
Options skew / IV / volumeGETmarket/optionssymbol
CEX ticker for a pairGETexchange/pricepair
Perp snapshot (funding + OI)GETexchange/perppair
Order book depthGETexchange/depthpair
OHLCV candlesGETexchange/klinespair
Funding rate historyGETexchange/funding-historypair
Long/short ratioGETexchange/long-short-ratiopair
Bridge protocols by volumeGETonchain/bridge/ranking–
Yield pool rankingGETonchain/yield/ranking–
Current gas price (per chain)GETonchain/gas-pricechain
Transaction detailsGETonchain/txhash, chain
Raw on-chain SQLPOSTonchain/sqlbody: sql
Structured on-chain queryPOSTonchain/querybody: typed predicates
Inspect ClickHouse schemaGETonchain/schema–
Polymarket markets rankingGETprediction-market/polymarket/ranking–
Polymarket price historyGETprediction-market/polymarket/pricescondition_id
Polymarket positions for walletGETprediction-market/polymarket/positionsaddress
Kalshi markets rankingGETprediction-market/kalshi/ranking–
Kalshi market detailGETprediction-market/kalshi/marketsmarket_ticker
Search Polymarket / KalshiGETsearch/polymarket / search/kalshi–
Wallet profile (cross-chain)GETwallet/detailaddress
Wallet net-worth time seriesGETwallet/net-worthaddress
Wallet DeFi positionsGETwallet/protocolsaddress
Batch wallet labels (CEX/Whale/MEV…)GETwallet/labels/batchaddresses
Token tokenomics + unlocksGETtoken/tokenomics–
Token holders top NGETtoken/holdersaddress, chain
Token transfersGETtoken/transfersaddress, chain
Token DEX tradesGETtoken/dex-tradesaddress
Social mindshare time seriesGETsocial/mindshareq, interval
Smart-follower historyGETsocial/smart-followers/history–
Twitter user profileGETsocial/userhandle
Twitter user postsGETsocial/user/postshandle
Tweet repliesGETsocial/tweet/repliestweet_id
Web search (crypto-scoped)GETsearch/webq
News article searchGETsearch/newsq
KOL / CT people searchGETsearch/social/peopleq
Tweet full-text searchGETsearch/social/postsq
Project / token searchGETsearch/projectq
Wallet search (by ENS, label)GETsearch/walletq
VC fund portfolioGETfund/portfolio–
VC fund rankingGETfund/rankingmetric
DeFi protocol rankingGETproject/defi/rankingmetric
Project full profileGETproject/detail–
Clean a webpage to markdownGETweb/fetchurl
News feedGETnews/feed–
Single news articleGETnews/detailid

Worked Examples

1. "What's BTC trading at?"

blockrun_surf({ path: "market/price", params: { symbol: "BTC" } })

Cost: $0.0095. Returns price history; latest point = current price.

2. "Top 10 tokens by DEX volume on Ethereum in the last 24h"

blockrun_surf({
  path: "onchain/sql",
  body: {
    sql: `
      SELECT token_address, sum(amount_usd) AS volume_usd
      FROM ethereum.dex_trades
      WHERE block_time > now() - INTERVAL 1 DAY
      GROUP BY token_address
      ORDER BY volume_usd DESC
      LIMIT 10
    `
  }
})

Cost: $0.0095. Raw ClickHouse — same query language Surf's own UI uses, at the same flat rate as any other Surf read.

3. "Is this whale wallet labeled? What does it hold?"

// Step 1 — labels (CEX / Whale / Bridge / MEV / Bot / Fund)
blockrun_surf({ path: "wallet/labels/batch", params: { addresses: "0xabc...,0xdef..." } })

// Step 2 — cross-chain holdings + DeFi positions
blockrun_surf({ path: "wallet/detail", params: { address: "0xabc..." } })
blockrun_surf({ path: "wallet/protocols", params: { address: "0xabc..." } })

// Step 3 — net-worth time series
blockrun_surf({ path: "wallet/net-worth", params: { address: "0xabc..." } })

Cost: 4 × $0.0095 = $0.038. Replaces a Nansen subscription for one-off lookups.

4. "What's the market saying about the 2028 election?"

// Compare Polymarket + Kalshi side by side
blockrun_surf({ path: "search/polymarket", params: { q: "2028 US president" } })
blockrun_surf({ path: "search/kalshi",     params: { q: "2028 US president" } })

// Then pull the order book on the leading market
blockrun_surf({ path: "prediction-market/polymarket/prices",
                params: { condition_id: "0x..." } })

5. "Where's mindshare moving for L1s?"

blockrun_surf({ path: "social/mindshare", params: { q: "solana", interval: "1d" } })
blockrun_surf({ path: "social/mindshare", params: { q: "monad",  interval: "1d" } })
blockrun_surf({ path: "social/ranking" })

6. "ETF flows + funding rate + long/short — give me the macro picture"

blockrun_surf({ path: "market/etf",                params: { symbol: "BTC" } })
blockrun_surf({ path: "market/fear-greed" })
blockrun_surf({ path: "exchange/funding-history",  params: { pair: "BTC-USDT" } })
blockrun_surf({ path: "exchange/long-short-ratio", params: { pair: "BTC-USDT" } })

Cost: 4 × $0.0095 = $0.038.

Method Routing — When to Use body

Pass body (POST) only for these three endpoints:

  • onchain/query — structured, typed predicates against ClickHouse
  • onchain/sql — raw SQL string in { sql: "..." }

Everything else is GET with params.

Python SDK (for non-MCP use)

from blockrun_llm import setup_agent_wallet

client = setup_agent_wallet()

# GET — same as blockrun_surf({ path, params })
price = client._get_with_payment_raw("/v1/surf/market/price", {"symbol": "BTC"})

# POST — same as blockrun_surf({ path, body })
result = client._request_with_payment_raw("/v1/surf/onchain/sql", {
    "sql": "SELECT count() FROM ethereum.transactions WHERE block_time > now() - INTERVAL 1 HOUR"
})

Full Endpoint Catalog (83 endpoints, 12 categories)

Exchange (CEX) — 7

exchange/markets · exchange/price · exchange/perp · exchange/depth · exchange/klines · exchange/funding-history · exchange/long-short-ratio

Fund (VC intelligence) — 3

fund/detail · fund/portfolio · fund/ranking

Market — 11

market/ranking · market/fear-greed · market/futures · market/price · market/etf · market/options · market/liquidation/exchange-list · market/liquidation/order · market/liquidation/chart · market/onchain-indicator · market/price-indicator

News — 2

news/feed · news/detail

On-chain — 7

onchain/bridge/ranking · onchain/yield/ranking · onchain/gas-price · onchain/tx · onchain/schema · onchain/query (POST) · onchain/sql (POST)

Prediction Markets — 17

Polymarket: prediction-market/polymarket/ranking · .../trades · .../markets · .../events · .../prices · .../volumes · .../open-interest · .../positions · .../activity · prediction-market/category-metrics Kalshi: prediction-market/kalshi/ranking · .../markets · .../events · .../prices · .../trades · .../volumes · .../open-interest

Project + DeFi — 3

project/detail · project/defi/metrics · project/defi/ranking

Search — 11

search/airdrop · search/events · search/kalshi · search/polymarket · search/web · search/project · search/news · search/wallet · search/fund · search/social/people · search/social/posts

Social — 11

social/detail · social/ranking · social/smart-followers/history · social/mindshare · social/tweets · social/tweet/replies · social/user · social/user/followers · social/user/following · social/user/posts · social/user/replies

Token — 4

token/tokenomics · token/dex-trades · token/holders · token/transfers

Wallet — 6

wallet/detail · wallet/history · wallet/net-worth · wallet/transfers · wallet/protocols · wallet/labels/batch

Web — 1

web/fetch

Gotchas

  • Required params: 56 of 83 endpoints require at least one param. The 402 response and the in-tool route surface which fields are missing. Missing params → 400 + no charge.
  • Solana wallet works too: blockrun_surf routes through whichever chain the BlockRun wallet is on (Base or Solana). Surf settlement always lands in Surf's Base treasury.
  • onchain/sql is powerful but unrestricted: there's no row limit on the server side. Add LIMIT to your query or you'll pay for a megabyte of JSON.
  • X-Payment-Receipt header lands on the response with the settlement tx hash — keep it for accounting.

Reference

发现问题?提交给管理员复核

评分:

评论 (0)

暂无评论,成为第一个评论者吧!