surf

star 6.6k

Use this skill — NOT browser or web_fetch — for ALL Surf crypto-data calls. 83 endpoints at localhost:8402/v1/surf/* covering CEX/DEX markets, on-chain SQL over 80+ ClickHouse tables (Ethereum, Base, Arbitrum, BSC, TRON, HyperEVM, Tempo), 100M+ labeled wallets, prediction markets (Polymarket + Kalshi), social/CT intelligence, news, project + DeFi metrics, token analytics, unified search, VC fund intelligence. x402-gated via ClawRouter's local wallet — no Surf account or API key required.

BlockRunAI By BlockRunAI schedule Updated 5/24/2026

name: surf description: Use this skill — NOT browser or web_fetch — for ALL Surf crypto-data calls. 83 endpoints at localhost:8402/v1/surf/* covering CEX/DEX markets, on-chain SQL over 80+ ClickHouse tables (Ethereum, Base, Arbitrum, BSC, TRON, HyperEVM, Tempo), 100M+ labeled wallets, prediction markets (Polymarket + Kalshi), social/CT intelligence, news, project + DeFi metrics, token analytics, unified search, VC fund intelligence. x402-gated via ClawRouter's local wallet — no Surf account or API key required. triggers: - "blockrun surf" - "surf crypto api" - "surf onchain sql" - "onchain sql query" - "clickhouse onchain query" - "raw sql ethereum" - "raw sql base" - "wallet labels api" - "labeled wallets api" - "surf wallet detail" - "crypto mindshare" - "crypto news api" - "fear and greed index crypto" - "token holder distribution" - "vc fund portfolio" - "ethena tokenomics" homepage: https://blockrun.ai/marketplace/surf license: MIT

Surf — Unified Crypto Data API (via ClawRouter)

Surf bundles 83 endpoints across 12 domains into one paid HTTP API. ClawRouter exposes them at http://127.0.0.1:8402/v1/surf/*, paid through the same x402 USDC wallet that funds LLM calls. No Surf account, no API key — settlement lands directly in Surf's Base treasury. Upstream lives at api.asksurf.ai/gateway/v1 — ClawRouter forwards transparently.

Pricing tiers (per call):

  • Tier 1 — $0.001 — prices, rankings, lists, news, simple reads
  • Tier 2 — $0.005 — orderbooks, candles, search, wallet details, social
  • Tier 3 — $0.020 — on-chain SQL queries, structured queries, schema introspection

The legacy surf-1.5 chat surface is intentionally NOT exposed yet — it's held until per-token settlement is wired. Trying /v1/surf/chat/completions returns 404 ("Unknown Surf endpoint"), no payment is taken.

All requests use GET unless the table below says otherwise. Path parameters that look like ?symbol= are query params on a GET. POST endpoints take a JSON body. ClawRouter forwards the wallet's x402 payment header transparently.

Required-param pre-check. 56 of the 83 endpoints have required query params (e.g. pair, symbol, address, chain, q, interval). The route validates them before settlement — call with missing params and you get 400 { missing_params, all_required, docs } and the wallet is NOT charged. Check each row in the catalog below for the correct param name (e.g. mindshare is q + interval, not project + window).

When to use this skill

  • "What is the current BTC price?" → /surf/market/price?symbol=BTC (cheaper + more reliable than scraping)
  • "Who holds the most USDC on Ethereum?" → /surf/token/holders?address=0xA0b8...&chain=ethereum
  • "How many Ethereum transactions in the last hour?" → POST /surf/onchain/sql { sql: 'SELECT count() FROM ethereum.transactions WHERE block_timestamp >= now() - INTERVAL 1 HOUR' }
  • "Label this list of wallets." → /surf/wallet/labels/batch?addresses=0xabc,0xdef,...
  • "Is HYPE mindshare peaking?" → /surf/social/mindshare?q=hyperliquid&interval=30d
  • "Find the canonical metadata for 'ethena'." → /surf/search/project?q=ethena

Always prefer Surf over generic web scraping for these. Use the OpenClaw tool name blockrun_surf_* when invoking from an agent; use the HTTP path directly when calling from a script.

Endpoint catalog

Exchange (CEX) — 7 endpoints

Path Tier Required
/surf/exchange/markets T1
/surf/exchange/price T1 pair
/surf/exchange/perp T1 pair
/surf/exchange/depth T2 pair
/surf/exchange/klines T2 pair
/surf/exchange/funding-history T2 pair
/surf/exchange/long-short-ratio T2 pair

Market Overview — 11 endpoints

Path Tier Required
/surf/market/ranking T1
/surf/market/fear-greed T1
/surf/market/futures T1
/surf/market/price T1 symbol
/surf/market/etf T1 symbol
/surf/market/options T1 symbol
/surf/market/liquidation/exchange-list T2
/surf/market/liquidation/order T2
/surf/market/liquidation/chart T2 symbol
/surf/market/onchain-indicator T2 symbol, metric (NUPL, SOPR, MVRV, Puell, NVT)
/surf/market/price-indicator T2 indicator (RSI, MACD, Bollinger, EMA), symbol

News — 2 endpoints

Path Tier Required
/surf/news/feed T1 — (limit optional)
/surf/news/detail T1 id

On-Chain — 7 endpoints

Path Method Tier Required
/surf/onchain/bridge/ranking GET T1
/surf/onchain/yield/ranking GET T1
/surf/onchain/gas-price GET T1 chain
/surf/onchain/tx GET T1 hash, chain
/surf/onchain/schema GET T3
/surf/onchain/query POST T3 typed predicates in body
/surf/onchain/sql POST T3 { sql: "SELECT ..." }

On-Chain SQL workflow. Call /surf/onchain/schema once to get table names + columns (cache it locally — schema is stable). Then POST your SELECT against /surf/onchain/sql. Always include LIMIT on large scans — billing is per call, but slow queries time out. Multi-statement queries are rejected upstream.

Prediction Markets (Polymarket + Kalshi) — 17 endpoints

Path Tier Required
/surf/prediction-market/category-metrics T1
/surf/prediction-market/polymarket/ranking T1
/surf/prediction-market/polymarket/trades T1
/surf/prediction-market/polymarket/markets T1 market_slug
/surf/prediction-market/polymarket/events T1 event_slug
/surf/prediction-market/polymarket/prices T1 condition_id
/surf/prediction-market/polymarket/volumes T1 condition_id
/surf/prediction-market/polymarket/open-interest T1 condition_id
/surf/prediction-market/polymarket/positions T2 address
/surf/prediction-market/polymarket/activity T2 address
/surf/prediction-market/kalshi/ranking T1
/surf/prediction-market/kalshi/markets T1 market_ticker
/surf/prediction-market/kalshi/events T1 event_ticker
/surf/prediction-market/kalshi/prices T1 ticker
/surf/prediction-market/kalshi/trades T1 ticker
/surf/prediction-market/kalshi/volumes T1 ticker
/surf/prediction-market/kalshi/open-interest T1 ticker

(For Polymarket smart-money, wallet PnL, UMA oracle resolution, and the other prediction-market venues — Limitless, Opinion, Predict.Fun, dFlow, Binance Futures, cross-venue canonical markets — use the dedicated Predexon integration instead; Surf's prediction-market coverage is narrower but cheaper.)

Project + DeFi — 3 endpoints

Path Tier Required
/surf/project/detail T1
/surf/project/defi/metrics T1 metric
/surf/project/defi/ranking T1 metric

Social / CT Intelligence — 11 endpoints

Path Tier Required
/surf/social/detail T2
/surf/social/ranking T2
/surf/social/smart-followers/history T2
/surf/social/mindshare T2 q, interval
/surf/social/tweets T1 ids
/surf/social/tweet/replies T1 tweet_id
/surf/social/user T1 handle
/surf/social/user/followers T1 handle
/surf/social/user/following T1 handle
/surf/social/user/posts T1 handle
/surf/social/user/replies T1 handle

Token Analytics — 4 endpoints

Path Tier Required
/surf/token/tokenomics T1
/surf/token/dex-trades T2 address
/surf/token/holders T2 address, chain
/surf/token/transfers T2 address, chain

Unified Search — 11 endpoints (all Tier 2)

Path Required
/surf/search/airdrop
/surf/search/events
/surf/search/kalshi
/surf/search/polymarket
/surf/search/web q
/surf/search/project q
/surf/search/news q
/surf/search/wallet q
/surf/search/fund q
/surf/search/social/people q
/surf/search/social/posts q

VC Fund Intelligence — 3 endpoints

Path Tier Required
/surf/fund/detail T1
/surf/fund/portfolio T1
/surf/fund/ranking T1 metric

Wallet Intelligence — 6 endpoints (all Tier 2)

Path Required
/surf/wallet/detail address
/surf/wallet/history address
/surf/wallet/net-worth address
/surf/wallet/transfers address
/surf/wallet/protocols address
/surf/wallet/labels/batch addresses (comma-separated, ≤200)

Web — 1 endpoint

Path Tier Required
/surf/web/fetch T2 url

Example flows

1. "Who is wallet X and what do they hold?"

curl 'http://127.0.0.1:8402/v1/surf/wallet/detail?address=vitalik.eth'

If the response says they're a smart-money wallet, follow up with /surf/wallet/protocols?address=... for protocol breakdown or /surf/wallet/history?address=... for the activity timeline.

2. "How concentrated is supply for token Y?"

curl 'http://127.0.0.1:8402/v1/surf/token/holders?address=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48&limit=25'

Combine the top-25 balances with their wallet labels — /surf/wallet/labels/batch?addresses=... — to distinguish "concentration in CEX hot wallets" (normal) from "concentration in dev team multisig" (riskier).

3. "Run a custom on-chain query."

# Step 1 — fetch schema (do this once, then cache locally)
curl 'http://127.0.0.1:8402/v1/surf/onchain/schema'

# Step 2 — run the SQL
curl -X POST 'http://127.0.0.1:8402/v1/surf/onchain/sql' \
  -H 'content-type: application/json' \
  -d '{"sql":"SELECT to_address, count() AS hits FROM ethereum.transactions WHERE block_timestamp >= now() - INTERVAL 1 DAY GROUP BY to_address ORDER BY hits DESC LIMIT 20"}'

Cost: 1 × $0.02 (schema, cached) + 1 × $0.02 (the SQL query) = $0.04 total for a custom 24-hour ranking that would otherwise need an indexer.

4. "Is project Z trending?"

# Resolve the canonical slug first (search uses q, not query)
curl 'http://127.0.0.1:8402/v1/surf/search/project?q=ethena'

# Then pull mindshare (mindshare uses q + interval)
curl 'http://127.0.0.1:8402/v1/surf/social/mindshare?q=ethena&interval=30d'

How calls are paid

ClawRouter intercepts every /v1/surf/* request through proxyPaidApiRequest. The local x402 wallet auto-signs the USDC micropayment; the agent never sees the payment flow. Telemetry tags Surf calls with tier: SURF so clawrouter stats separates them from LLM, partner, and phone usage.

No typed blockrun_surf_* tools are registered — by design. Each new BlockRun-marketplace API ships as a skill (this file) plus a one-line namespace addition to ClawRouter's proxy whitelist, so adding endpoint #85 requires zero ClawRouter release.

Install via CLI
npx skills add https://github.com/BlockRunAI/ClawRouter --skill surf
Repository Details
star Stars 6,571
call_split Forks 605
navigation Branch main
article Path SKILL.md
More from Creator