From 96d705392da4d9b08d04a58ee3acb4ddbbf92422 Mon Sep 17 00:00:00 2001 From: 1bcMax Date: Sun, 6 Sep 2026 22:56:56 -0500 Subject: [PATCH 1/2] docs(surf): delist Surf, and drop the MCP tool that went with it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The provider removed 19 of its 83 routes with no notice, no changelog and no index to read — found by probing every path one at a time (BlockRunAI/blockrun#519), and 19 of them had been quoting a 402 to wallets for a resource that answered 410 or 404 upstream. The remaining 66 carried the same risk, so the integration goes rather than the 19. Removed: api-reference/surf.md and its SUMMARY entry, the Crypto Data (Surf) section of x402/endpoints.md, the ecosystem rows, the ClawRouter proxy bullet, and the `surf` skill. MCP tool count 20 -> 19: blockrun_surf goes with it, so quickstart, skills, ecosystem and blockrun-mcp all move together. The MCP SERVER is its own repo and still registers the tool — that has to follow, or it ships one that answers 410. Two code samples repointed to endpoints that are still live: the TypeScript SDK now reads /v1/crypto/price and /v1/defillama/protocols. defillama.md's card points at market-data.md. resources/changelog.md keeps its Surf entries — a dated entry records what shipped that day. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_017igmkDWurdiKJHkjhUyeDF --- docs/SUMMARY.md | 1 - docs/api-reference/defillama.md | 2 +- docs/api-reference/surf.md | 295 ---------------------------- docs/getting-started/claude-code.md | 4 +- docs/getting-started/quickstart.md | 2 +- docs/mcp/blockrun-mcp.md | 14 +- docs/mcp/skills.md | 5 +- docs/products/routing/clawrouter.md | 1 - docs/resources/ecosystem.md | 4 +- docs/sdks/typescript.md | 4 +- docs/x402/endpoints.md | 6 - 11 files changed, 12 insertions(+), 326 deletions(-) delete mode 100644 docs/api-reference/surf.md diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index a55557e..073d050 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -68,7 +68,6 @@ * [Prediction Markets](api-reference/prediction-markets.md) * [Polymarket Funding](api-reference/polymarket-funding.md) * [Modal Sandbox](api-reference/modal-sandbox.md) -* [Surf — Crypto Data](api-reference/surf.md) * [DefiLlama](api-reference/defillama.md) * [Market Data (Pyth)](api-reference/market-data.md) * [Multi-chain RPC](api-reference/multi-chain-rpc.md) diff --git a/docs/api-reference/defillama.md b/docs/api-reference/defillama.md index 7b3e1d3..3452003 100644 --- a/docs/api-reference/defillama.md +++ b/docs/api-reference/defillama.md @@ -165,7 +165,7 @@ never costs you anything. ::::cards -:::card{title="Surf — Crypto Data" href="surf.md" icon="ChartLine"} +:::card{title="Market Data" href="market-data.md" icon="ChartLine"} Exchange and on-chain data across 66 endpoints. ::: diff --git a/docs/api-reference/surf.md b/docs/api-reference/surf.md deleted file mode 100644 index c91ad77..0000000 --- a/docs/api-reference/surf.md +++ /dev/null @@ -1,295 +0,0 @@ ---- -title: Surf — Crypto Data API -description: 83 crypto-data endpoints (CEX, on-chain SQL, prediction markets, wallet labels, social, news) priced per call in USDC over x402 — no Surf account, just a wallet. ---- - -# Surf — Crypto Data API - -Real-time crypto data for AI agents. 66 endpoints across exchanges, on-chain analytics, prediction markets, wallet labels, news, and search — all priced per call in USDC. No Surf account, no API key, just a wallet. - -Powered by [Surf](https://asksurf.ai) (asksurf.ai). BlockRun proxies the same endpoints with x402 settlement, and every call is priced the same flat rate — the price you see in the 402 is the price you pay. - -## The Problem Surf Solves - -Crypto data is fragmented across CoinGecko, DefiLlama, Dune, Nansen, Glassnode, CryptoQuant, Polymarket, Kalshi, and dozens of L1/L2 RPCs. Each has its own API, its own account, its own pricing. An autonomous trading agent that wants to check "Is the BTC funding rate flipping negative *and* is the Fear & Greed index above 70 *and* are smart money wallets selling?" needs to integrate three different vendors. - -Surf unifies all of it behind one schema, billed per-call in stablecoins. An agent's research wallet can query 80+ sources without onboarding to any of them. - -## Endpoints by Category - -66 endpoints organized across 11 domains. **Three flat price tiers:** - -| Tier | Price | Use case | -|------|-------|----------| -| Tier 1 | **$0.0085 / call** | Simple lookups (prices, rankings, indices) | -| Tier 2 | **$0.0085 / call** | Time-series, technical indicators, orderbook depth | -| Tier 3 | **$0.0085 / call** | On-chain SQL — raw queries against 80+ ClickHouse tables | - -Every tier is the same network-uniform data price ($0.0075 base + the flat $0.001 transaction fee = $0.0085). The tiers describe endpoint weight, not price. The unpaid 402 body reports the charged price (`price.amount`, e.g. `"0.0085"`) along with `method`, `description` and `required_params`, so an agent knows what to send before paying. - -### Categories - -| Category | Endpoints | What it covers | -|----------|-----------|----------------| -| **prediction** | 17 | Polymarket + Kalshi markets, trades, positions, odds | -| **social** | 11 | Mindshare, sentiment, KOL coverage, trending tokens on social | -| **search** | 11 | Project / token / wallet / news search | -| **market** | 11 | Token rankings, Fear & Greed, ETF flows, options, liquidations, on-chain indicators (NUPL/SOPR/MVRV), technical indicators (RSI/MACD/Bollinger/EMA) | -| **onchain** | 7 | Bridge ranking, yield pools, gas prices, tx detail, **raw SQL** (tier 3), structured queries | -| **exchange** | 7 | CEX trading pairs, ticker prices, perp snapshots, orderbook depth, klines, funding history, long/short ratio | -| **wallet** | 6 | Wallet labels (smart-money, exchange, KOL), portfolio detail, PnL, position history | -| **token** | 4 | Token metadata, holders, supply, unlock schedules | -| **project** | 3 | Project profiles, tokenomics, ecosystem maps | -| **fund** | 3 | VC fund detail, portfolio, ranking | -| **news** | 2 | AI-curated crypto news feed, article detail | -| **web** | 1 | Fetch any web page as clean markdown (`web/fetch?url=`) | - -Full endpoint list (with `requiredParams`) is in `/openapi.json` and `/llms.txt` — search for `/api/v1/surf/`. - ---- - -## Base URL - -All Surf endpoints route through: - -``` -https://blockrun.ai/api/v1/surf/ -``` - -Method follows the upstream — most are `GET` with **query string** params (never a request body); the two SQL/structured-query endpoints (`onchain/sql`, `onchain/query`) are `POST` with JSON bodies, while `onchain/schema` is a `GET`. Calling an endpoint with the wrong method returns `405 Method Not Allowed` (the body names the expected method); an unknown path returns `404` with the full `available` list. The x402 discovery record (`extensions.bazaar` on the 402 response) declares GET params as `queryParams` — agents building calls from the CDP Bazaar catalog get the correct placement. Per-endpoint parameter docs live at [agents.asksurf.ai/docs](https://agents.asksurf.ai/docs). - ---- - -## Examples - -### Spot price lookup (Tier 1 — $0.0085) - -```bash -curl "https://blockrun.ai/api/v1/surf/market/price?symbol=BTC" -# → HTTP 402 with payment requirements - -# Sign EIP-3009 transfer, retry with X-Payment header -curl "https://blockrun.ai/api/v1/surf/market/price?symbol=BTC" \ - -H "X-Payment: " -# → token price history JSON -``` - -### Fetch a web page as clean markdown (Tier 2) - -The `url` parameter goes in the query string — this is a `GET`, so there is no -request body: - -```bash -curl -H "X-Payment: " \ - "https://blockrun.ai/api/v1/surf/web/fetch?url=https%3A%2F%2Fexample.com" -# → { "data": { "markdown": "..." } } -``` - -### Fear & Greed snapshot (Tier 1) - -```bash -curl -H "X-Payment: " \ - "https://blockrun.ai/api/v1/surf/market/fear-greed" -``` - -### Perpetual funding history (Tier 2 — $0.0085) - -```bash -curl -H "X-Payment: " \ - "https://blockrun.ai/api/v1/surf/exchange/funding-history?pair=BTC-USDT-PERP" -``` - -### Raw on-chain SQL (Tier 3 — $0.0085) - -```bash -curl -X POST \ - -H "Content-Type: application/json" \ - -H "X-Payment: " \ - "https://blockrun.ai/api/v1/surf/onchain/sql" \ - -d '{ - "query": "SELECT chain, count() FROM tx WHERE block_time > now() - INTERVAL 1 DAY GROUP BY chain" - }' -``` - -The SQL endpoint runs against Surf's ClickHouse cluster — 80+ tables across Ethereum, Solana, Base, Arbitrum, Optimism, BSC, Polygon. Typical query latency: sub-second. - ---- - -## SDK Usage - -::::tabs - -:::tab{label="TypeScript"} -```typescript -import { SurfClient } from '@blockrun/llm'; - -const surf = new SurfClient({ privateKey: process.env.BASE_CHAIN_WALLET_KEY }); - -// Simple price lookup -const btc = await surf.get('market/price', { symbol: 'BTC' }); - -// Time-series funding history -const funding = await surf.get('exchange/funding-history', { - pair: 'BTC-USDT-PERP', -}); - -// Raw SQL -const flows = await surf.post('onchain/sql', { - query: 'SELECT chain, sum(value_usd) FROM bridge_tx WHERE block_time > now() - INTERVAL 7 DAY GROUP BY chain', -}); -``` -::: - -:::tab{label="Python"} -```python -from blockrun_llm import SurfClient - -surf = SurfClient() - -# Simple price lookup -btc = surf.get('market/price', {'symbol': 'BTC'}) - -# Polymarket position lookup for a wallet -pos = surf.get('prediction-market/polymarket/positions', - {'address': '0xCC8c44AD3dc2A58D841c3EB26131E49b22665EF8'}) - -# Raw on-chain SQL -result = surf.post('onchain/sql', - {'query': 'SELECT count() FROM tx WHERE chain = \'base\''}) -``` -::: - -:::tab{label="MCP"} -```text -Use blockrun_surf to look up the current funding rate for BTC-USDT-PERP and compare it to the 7-day average. -``` - -The `blockrun_surf` MCP tool ships with [BlockRun MCP](../mcp/blockrun-mcp.md). It accepts `endpoint`, `params`, and `method` and handles the x402 settlement automatically. -::: - -:::: - ---- - -## Use Cases - -### 1. Macro snapshot before every trade (~$0.026) - -```typescript -const [price, fng, funding] = await Promise.all([ - surf.get('market/price', { symbol: 'BTC' }), // $0.0085 - surf.get('market/fear-greed'), // $0.0085 - surf.get('exchange/funding-history', { pair: 'BTC-USDT-PERP' }), // $0.0085 -]); -``` - -Total cost: $0.0255 per pre-trade snapshot (three calls at $0.0085). Cheap enough to run every minute on a long-running bot. - -### 2. Smart-money wallet monitor ($0.017/wallet) - -```python -profile = surf.get('wallet/detail', {'address': addr}) -positions = surf.get('prediction-market/polymarket/positions', {'address': addr}) -``` - -Pipe into an LLM to summarize: *"Wallet X (smart-money DeFi whale) opened a $200K Polymarket position on the Fed Dec rate cut."* - -### 3. On-chain SQL for research reports ($0.0085/query) - -```sql --- "Which Base contracts grew most in unique users last week?" -SELECT to, count(DISTINCT from) AS unique_callers -FROM tx -WHERE chain = 'base' AND block_time > now() - INTERVAL 7 DAY -GROUP BY to -ORDER BY unique_callers DESC -LIMIT 20 -``` - -A weekly research bot that runs this twice and feeds the result into Claude Opus to write a 1-page narrative costs $0.017 + LLM tokens. - -### 4. Multi-source prediction-market aggregator (Tier 1, ~$0.0085/event) - -```python -poly = surf.get('prediction-market/polymarket/markets', {'market_slug': slug}) -kalshi = surf.get('prediction-market/kalshi/markets', {'event_ticker': ticker}) -``` - -Compare odds across two venues, surface arb opportunities. - ---- - -## Required Parameters - -Each endpoint declares its required query/body params (`required_params` in the unpaid 402 body, `requiredParams` in `/openapi.json`). If a required param is missing, BlockRun returns `400 Bad Request` **after** the payment header is present but **before** settling payment — you never get charged for a malformed call. The 400 body lists `missing_params` and `all_required`. (Validation runs after the payment check on purpose: an unpaid probe without params still gets the 402 discovery record instead of a 400.) - -Common required params: -- `pair` → `BTC-USDT`, `ETH-USDT-PERP`, etc. (exchange endpoints) -- `symbol` → `BTC`, `ETH`, `SOL` (market endpoints) -- `address` → wallet address (wallet/position endpoints) -- `chain` → `ethereum`, `solana`, `base`, `arbitrum`, etc. -- `condition_id` or `market_slug` or `event_slug` → for Polymarket/Kalshi market lookups - ---- - -## Pricing - -| Tier | Price | Endpoints in tier | -|------|-------|-------------------| -| Tier 1 | $0.0085 | 44 (basic lookups, rankings, snapshots) | -| Tier 2 | $0.0085 | 36 (time-series, indicators, depth, history) | -| Tier 3 | $0.0085 | 3 (`onchain/sql`, `onchain/query`, `onchain/schema`) | - -Every price above is the full customer price: $0.0075 base + the flat $0.001 transaction fee. Payment is in USDC on Base or Solana via x402. On Base, settlement lands directly in Surf's treasury wallet (`0x058a5961FbE8cD8E4B47C69d3d82E159cb5d8F17`); the per-request settlement transaction hash comes back in the `X-Payment-Receipt` header, with the full receipt in `X-Payment-Response`. - ---- - -## vs. Other Options - -| | BlockRun Surf | Surf directly | CoinGecko Pro | Dune | -|--|---------------|---------------|---------------|------| -| Payment | USDC per call | Subscription | Subscription | Subscription | -| Account required | No | Yes | Yes | Yes | -| Works for autonomous agents | ✅ | ❌ (API key, KYC) | ❌ | ❌ | -| Coverage | 66 endpoints across 11 categories | Same upstream | Prices only | SQL only | -| On-chain SQL | ✅ ($0.0085/query) | ✅ | ❌ | ✅ ($$$) | -| Same wallet as LLM calls | ✅ | N/A | N/A | N/A | - ---- - -## Error Handling - -| Code | Description | -|------|-------------| -| 200 | Success — query result in body; `X-Payment-Receipt` carries the settlement tx hash | -| 400 | Missing required param (pre-settlement validation, **not charged**) — body has `missing_params` / `all_required`. Any other 4xx from Surf is forwarded with its original status, wrapped as `{ "error": "Bad Request", "status": , "details": ... }`, **not charged** | -| 402 | Payment required — sign and retry. If verification fails the body is `{ "error": "Payment verification failed", "code": "PAYMENT_INVALID" \| "PAYMENT_UNFUNDED" \| "PAYMENT_BLOCKHASH_STALE", "message"?, "details" }`; re-using an authorization returns `code: "PAYMENT_REPLAY"` — sign a fresh one per request. `Payment settlement failed` (no tx) is also a 402 | -| 404 | Unknown endpoint path (typo in `surf/`) — body lists every `available` path | -| 405 | Wrong method for a known path (e.g. `POST` to a `GET` endpoint) | -| 429 | Surf upstream rate limited — forwarded as-is, **not charged**. See [Rate Limits](rate-limits.md) | -| 502 | Surf upstream returned a 5xx — **not charged**, upstream body in `details` | -| 503 | Surf integration not configured, or the partner is temporarily paused | - -Upstream calls time out after 30 seconds. Because settlement happens **after** the upstream call succeeds, any failed call — 4xx, 5xx, or timeout — is never charged. - ---- - -## What's next? - -::::cards - -:::card{title="BlockRun MCP" href="../mcp/blockrun-mcp.md" icon="Boxes"} -The `blockrun_surf` tool and the rest of the `blockrun_*` toolset. -::: - -:::card{title="Rate Limits" href="rate-limits.md" icon="Zap"} -How Surf upstream throttling surfaces — and why you're never charged for a 429. -::: - -:::card{title="Error Handling" href="errors.md" icon="Code"} -The gateway-wide error envelope across all paid endpoints. -::: - -:::: - -Also useful: [Surf service page](https://blockrun.ai/services/surf) · [Surf (upstream)](https://asksurf.ai). diff --git a/docs/getting-started/claude-code.md b/docs/getting-started/claude-code.md index 94cb3ee..c947315 100644 --- a/docs/getting-started/claude-code.md +++ b/docs/getting-started/claude-code.md @@ -134,7 +134,7 @@ Top 10 tokens by DEX volume on Base, last 24h Call eth_getBalance on Arbitrum for 0x... ``` -`blockrun_surf` (exchange, on-chain SQL, wallet labels, prediction markets), `blockrun_price` (Pyth-backed quotes), `blockrun_dex`, `blockrun_defi` (TVL, yields), and `blockrun_rpc` (raw JSON-RPC on 40 chains). The `crypto-data` skill says which one to use. +`blockrun_price` (Pyth-backed quotes), `blockrun_dex`, `blockrun_defi` (TVL, yields), and `blockrun_rpc` (raw JSON-RPC on 40 chains). The `crypto-data` skill says which one to use. ### Phone Calls and Sandboxed Compute @@ -203,7 +203,7 @@ BlockRun ships prompt-based skills that teach Claude how to use each tool family | `blockrun` | Start here — which tool answers what, and how to make a first call free | | `image-prompting` | Turns a vague image request into a text-accurate prompt | | `search`, `exa-research` | Live search and cited research workflows | -| `crypto-data`, `surf`, `rpc` | Routes crypto questions to the right (often free) tool | +| `crypto-data`, `rpc` | Routes crypto questions to the right (often free) tool | | `prediction-markets`, `polymarket-trading` | Read odds, then place confirm-gated bets | | `phone`, `modal` | Voice calls and sandboxed compute | diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md index 6a5dd10..247f4c6 100644 --- a/docs/getting-started/quickstart.md +++ b/docs/getting-started/quickstart.md @@ -16,7 +16,7 @@ A terminal, and ~$5 of USDC on **Base** (or Solana). Don't have USDC yet? Any Co ::::tabs :::tab{label="Claude Code (MCP)"} -Best for Claude Code, Cursor, and other MCP clients — natural-language access to all 20 tools. +Best for Claude Code, Cursor, and other MCP clients — natural-language access to all 19 tools. ```bash claude mcp add blockrun -s user -- npx -y @blockrun/mcp@latest diff --git a/docs/mcp/blockrun-mcp.md b/docs/mcp/blockrun-mcp.md index 8665bd6..72a64b4 100644 --- a/docs/mcp/blockrun-mcp.md +++ b/docs/mcp/blockrun-mcp.md @@ -94,8 +94,8 @@ Expose a trimmed tool set so the client loads fewer schemas into context. Pass ` |---------|-------| | `full` *(default)* | everything | | `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` | +| `trading` | `wallet` `price` `dex` `markets` `defi` `rpc` `polymarket_read` `polymarket` | +| `research` | `wallet` `models` `chat` `search` `exa` | | `chat` | `wallet` `models` `chat` | ```bash @@ -193,7 +193,7 @@ Then send USDC (SPL) on the **Solana** network — from Coinbase (pick "Solana") ## Available Tools -The MCP exposes 20 tools to Claude, grouped below by what they do. Every tool description carries its current price — prices are generated from the live catalog, not typed, so read the tool description (or the `402` response) rather than a remembered figure. +The MCP exposes 19 tools to Claude, grouped below by what they do. Every tool description carries its current price — prices are generated from the live catalog, not typed, so read the tool description (or the `402` response) rather than a remembered figure. ### Intelligence @@ -264,14 +264,6 @@ blockrun_polymarket action:"buy" token_id:"" amount_usd:5 order_type:"FOK" c ### Crypto & on-chain data -#### `blockrun_surf` - -Unified crypto data — CEX data, on-chain SQL, labeled wallets, news, prediction markets, and unified search. See [Surf API reference](../api-reference/surf.md). - -``` -What's the BTC funding rate on Binance perps right now, and how does it compare to the 7-day average? -``` - #### `blockrun_price` Pyth-backed realtime quotes and OHLC history — crypto, FX, commodities (free) and 12 global stock markets (paid). Actions: `price`, `history`, `list`. diff --git a/docs/mcp/skills.md b/docs/mcp/skills.md index cc8eff8..71ac160 100644 --- a/docs/mcp/skills.md +++ b/docs/mcp/skills.md @@ -25,8 +25,7 @@ Every skill ships inside the [blockrun-mcp](https://github.com/BlockRunAI/blockr | `blockrun` | **Start here.** Which tool answers a question, how the wallet works, how to make a first call for free. | all | | `search` | Real-time web or news results with citations — "what just happened" questions. | `blockrun_search` | | `exa-research` | Researching products, papers, competitors, reading pages, cited answers. | `blockrun_exa` | -| `crypto-data` | Any crypto data question — prices, FX, OHLC, DEX pairs, TVL, on-chain SQL, wallet labels. Says which of the five overlapping tools to use and which are free. | `blockrun_price` `blockrun_dex` `blockrun_defi` `blockrun_surf` `blockrun_rpc` | -| `surf` | Deep crypto data — on-chain SQL, CEX order books, wallet net worth, prediction markets, news. | `blockrun_surf` | +| `crypto-data` | Any crypto data question — prices, FX, OHLC, DEX pairs, TVL. Says which of the four overlapping tools to use and which are free. | `blockrun_price` `blockrun_dex` `blockrun_defi` `blockrun_rpc` | | `rpc` | Raw blockchain JSON-RPC — contract reads, balances, blocks, logs, gas — across 40 chains. | `blockrun_rpc` | | `prediction-markets` | Event probabilities, Polymarket / Kalshi odds, finding markets on a topic. | `blockrun_markets` | | `polymarket-trading` | Actually placing, managing, or redeeming real bets — setup, funding, confirm-gated orders. | `blockrun_polymarket` `blockrun_polymarket_read` | @@ -199,7 +198,7 @@ Generate images via micropayments with `blockrun_image` and the image-prompting ::: :::card{title="BlockRun MCP" href="blockrun-mcp.md" icon="Boxes"} -The MCP server and the 20 tools skills build on. +The MCP server and the 19 tools skills build on. ::: :::card{title="Troubleshooting" href="troubleshooting.md" icon="Search"} diff --git a/docs/products/routing/clawrouter.md b/docs/products/routing/clawrouter.md index fefff03..915b0ae 100644 --- a/docs/products/routing/clawrouter.md +++ b/docs/products/routing/clawrouter.md @@ -322,7 +322,6 @@ The same wallet pays for the rest of the gateway through the proxy. Prices as pu - **Image editing** — `/img2img --image ~/photo.png change the background to a starry sky`, with optional `--mask`. - **Video generation** — `/videogen a red apple slowly spinning` (`--model`, `--duration`), or `POST /v1/videos/generations`. Seedance 1.5 Pro / 2.0 Fast / 2.0 / 2.5, Sora 2, and Grok Imagine; the MP4 is downloaded to local disk so it survives the upstream's temporary bucket. - **Phone and voice** — `/cr-call +14155552671 "Confirm tomorrow's 3pm meeting"` places a real outbound AI voice call ($0.54 flat, up to 30 minutes); `clawrouter phone lookup|fraud|numbers ...` handles carrier lookup ($0.01), fraud signals ($0.05) and 30-day number leases ($5). -- **Crypto data (Surf)** — `/v1/surf/*` is whitelisted through the proxy: 66 endpoints at a flat $0.0085 per call including the transaction fee, including ad-hoc on-chain SQL. ## Why ClawRouter? diff --git a/docs/resources/ecosystem.md b/docs/resources/ecosystem.md index 8c01a8b..b9bb77d 100644 --- a/docs/resources/ecosystem.md +++ b/docs/resources/ecosystem.md @@ -13,7 +13,7 @@ Projects, integrations, and partners building with BlockRun and x402. Every row | Project | What it is | Install | |---------|------------|---------| -| [blockrun-mcp](https://github.com/BlockRunAI/blockrun-mcp) | MCP server for Claude Code and any MCP client — 20 tools: chat across the full model catalog, image / video / music / speech, web + neural search, prediction markets (read **and** trade Polymarket), crypto data, Pyth prices, multi-chain RPC, DeFi data, sandboxed code exec, phone calls, wallet | `claude mcp add blockrun -s user -- npx -y @blockrun/mcp@latest` | +| [blockrun-mcp](https://github.com/BlockRunAI/blockrun-mcp) | MCP server for Claude Code and any MCP client — 19 tools: chat across the full model catalog, image / video / music / speech, web + neural search, prediction markets (read **and** trade Polymarket), crypto data, Pyth prices, multi-chain RPC, DeFi data, sandboxed code exec, phone calls, wallet | `claude mcp add blockrun -s user -- npx -y @blockrun/mcp@latest` | | [blockrun-cli](https://github.com/BlockRunAI/blockrun-cli) | Umbrella CLI (`blockrun`) + `@blockrun/core` shared kernel — one wallet, one x402 payment path, one `{ok,data\|error}` output contract. ~40 commands: wallet, inference, multimodal, data, generic `api` / `pay` for any x402 endpoint, spending guardrails, agent skills; prefix discovery routes to ClawRouter, Franklin, MCP and the Codex bridge | `npm install -g @blockrun/cli` | | [ClawRouter](https://github.com/BlockRunAI/ClawRouter) | The agent-native LLM router — every frontier model behind one wallet, <1ms local routing, USDC on Base & Solana via x402. OpenClaw plugin; free models need no wallet | `npm install -g @blockrun/clawrouter` | | [router-core](https://github.com/BlockRunAI/router-core) | The routing engine underneath ClawRouter, Franklin, ClawRouter-Hermes and dsh-clawrouter. Deterministic, constraint-first model routing — classify, hard-filter, rank — locally in <1ms, with no inference call. Product-neutral: no wallet, gateway, or telemetry | Library (`@blockrun/router-core`, consumed from GitHub) | @@ -94,7 +94,6 @@ Projects, integrations, and partners building with BlockRun and x402. Every row | **Sound Effects** | `/v1/audio/sound-effects` | $0.0535/generation | ✅ Live | | **Voice Calls** | `/v1/voice/call` | $0.541 flat | ✅ Live | | **Phone Numbers** | `/v1/phone/numbers/*` | $5.001/30 days | ✅ Live | -| **Surf Crypto Data** | `/api/v1/surf/*` (66 endpoints) | $0.0085 | ✅ Live | | **Search** | `/v1/search` | $0.026/source | ✅ Live | | **Exa Web Search** | `/api/v1/exa/*` | $0.003–0.011 | ✅ Live | | **0x Swap (DEX)** | `/api/v1/zerox/*` | Free | ✅ Live | @@ -178,7 +177,6 @@ BlockRun works with the x402 facilitator network: | [OKX OnchainOS](https://web3.okx.com) | Agentic wallet behind XClawRouter | | [Predexon](https://predexon.com) | Prediction market data | | [Modal](https://modal.com) | Sandbox compute (isolated code execution) | -| [Surf (asksurf.ai)](https://asksurf.ai) | Crypto data — 66 endpoints (CEX, on-chain SQL, prediction markets, wallet labels, news) | | [Bland.ai](https://bland.ai) | Conversational voice AI — outbound calls | | [Twilio](https://twilio.com) | Phone-number provisioning (wallet-owned US/CA numbers) | | [Exa](https://exa.ai) | Neural web search | diff --git a/docs/sdks/typescript.md b/docs/sdks/typescript.md index 6fb577e..c298c60 100644 --- a/docs/sdks/typescript.md +++ b/docs/sdks/typescript.md @@ -470,10 +470,10 @@ import { BlockrunClient } from '@blockrun/llm'; const br = new BlockrunClient(); // BLOCKRUN_WALLET_KEY or BASE_CHAIN_WALLET_KEY // get(path, params?) — synchronous GET (price, ranking, list, news) -const btc = await br.get('/v1/surf/market/price', { symbol: 'BTC' }); +const btc = await br.get('/v1/crypto/price', { symbol: 'BTC' }); // post(path, body?) — synchronous POST (on-chain SQL, search) -const rows = await br.post('/v1/surf/onchain/sql', { query: 'SELECT 1' }); +const rows = await br.get('/v1/defillama/protocols', {}); // poll(path, body?, { budgetMs, intervalMs }) — submit + poll (image, video, music, voice) const video = await br.poll('/v1/videos/generations', { model: 'xai/grok-imagine-video', prompt: 'a red apple spinning' }); diff --git a/docs/x402/endpoints.md b/docs/x402/endpoints.md index 1e42426..9b154ae 100644 --- a/docs/x402/endpoints.md +++ b/docs/x402/endpoints.md @@ -120,12 +120,6 @@ Ephemeral, isolated Python sandboxes for agent code execution. |---|---|---|---| | GET/POST | `/api/v1/pm/{path}` | Predexon passthrough — Polymarket, Kalshi, Limitless, Opinion, Predict.Fun, Binance, UMA oracle, wallet identity | $0.0085, every tier and method | -## Crypto Data (Surf) - -| Method | Path | Purpose | Pricing | -|---|---|---|---| -| GET/POST | `/api/v1/surf/{path}` | Crypto market / on-chain intelligence — exchanges, on-chain analytics, wallet labels, prediction markets, news, search | Tier 1 $0.0085 (reads) · Tier 2 $0.0085 (AI rankings/trends) · Tier 3 $0.0085 (heavy LLM/SQL reports) | - ## 0x Swap (DEX) | Method | Path | Purpose | Pricing | From 3b040408545556453666334d7d2ca245c9ecbf59 Mon Sep 17 00:00:00 2001 From: 1bcMax Date: Sun, 6 Sep 2026 22:58:39 -0500 Subject: [PATCH 2/2] docs: three more 20 -> 19 tool counts the sweep found Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_017igmkDWurdiKJHkjhUyeDF --- docs/README.md | 2 +- docs/getting-started/claude-code.md | 2 +- docs/getting-started/quickstart.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/README.md b/docs/README.md index 226436a..d139202 100644 --- a/docs/README.md +++ b/docs/README.md @@ -42,7 +42,7 @@ Franklin — the AI agent with a wallet. Writes code and spends USDC across 76 m ::: :::card{title="I use Claude Code / Cursor" href="getting-started/quickstart.md" icon="Terminal"} -One MCP install adds 20 `blockrun_*` tools to your assistant. Best for Claude Code, Cursor, and other MCP clients. +One MCP install adds 19 `blockrun_*` tools to your assistant. Best for Claude Code, Cursor, and other MCP clients. ::: :::card{title="I'm building an agent / backend" href="getting-started/sdk-developers.md" icon="Code"} diff --git a/docs/getting-started/claude-code.md b/docs/getting-started/claude-code.md index c947315..33aae39 100644 --- a/docs/getting-started/claude-code.md +++ b/docs/getting-started/claude-code.md @@ -265,7 +265,7 @@ For more help, see [MCP Troubleshooting](../mcp/troubleshooting.md). ::::cards :::card{title="Browse the MCP tools" href="../mcp/blockrun-mcp.md" icon="Boxes"} -The full list of 20 `blockrun_*` tools — chat, image, video, search, markets, Polymarket trading, RPC, and more. +The full list of 19 `blockrun_*` tools — chat, image, video, search, markets, Polymarket trading, RPC, and more. ::: :::card{title="Generate images" href="../products/creation/nano-banana.md" icon="Image"} diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md index 247f4c6..2200868 100644 --- a/docs/getting-started/quickstart.md +++ b/docs/getting-started/quickstart.md @@ -104,7 +104,7 @@ If a call returns `402 Payment Required` after retrying, your wallet is empty or ::::cards :::card{title="Browse all tools" href="../mcp/blockrun-mcp.md" icon="Boxes"} -The full list of 20 `blockrun_*` tools — chat, image, video, search, markets, RPC, and more. +The full list of 19 `blockrun_*` tools — chat, image, video, search, markets, RPC, and more. ::: :::card{title="Explore the models" href="../products/intelligence/overview.md" icon="Brain"}