OpenChainBench

by chainbench

Not rated
GitHub

About

Query live, reproducible crypto infrastructure benchmarks (L1 finality, RPC latency, bridge fees, gas accuracy) from AI agents. Remote server, no API key: https://openchainbench.com/api/mcp/mcp

Details

Author
chainbench
Categories
Other, Finance, Infrastructure

Setup

Install OpenChainBench in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/chainbench/OpenChainBench

Follow the installation instructions in the repository README, then restart your MCP client.

Open, reproducible benchmarks for crypto infrastructure. Aggregators, bridges, RPCs, oracles, price feeds, prediction markets, perp DEXes, cross-chain messaging. Same metric, same conditions, every provider. Live atopenchainbench.com.

OpenChainBench publishes one benchmark at a time, each shipping with the harness that produces its data. The goal is to make performance an observable property of crypto infra, measured in the open, by anyone who wants to add a provider or a metric.

Community-run, MIT-licensed harnesses + CC-BY-4.0 data, PRs from any party including the providers we benchmark.

- 94live benchmark specs across 8 categories (RPCs, Trading, Aggregators, Bridges, Blockchains, RWA, Explorers, NFT APIs)
- 50self-contained Go harnesses, each shipping a/metricsPrometheus endpoint
- 32curated question/answer pages ·23"alternatives to X" landing pages
- 26machine-readable API routes (citation, badges, MCP, feeds, per-format quotes)
- One shared Prometheus, one materialization worker, CDN-fastpath snapshot store: cold reads in < 100 ms edge, no origin fan-out on hot paths

pnpm install pnpm dev # site at http://localhost:3000 pnpm validate # bench spec Zod schema check (run before opening a PR) pnpm typecheck # tsc --noEmit

Adding a benchmark, writing a harness, or fixing a number: seeCONTRIBUTING.md+ the visual walkthrough at/contribute.

Every benchmark is licensed CC-BY-4.0 and exposed through endpoints designed for citation by journalists, devs, and AI agents:

Structured data on every bench page:Dataset+StatisticalReport+Observation+TechArticle+FAQPage+BreadcrumbListJSON-LD, plus a schema.org Dataset microdata graph layered on the visible "At a glance" infobox.

Journalist citation format(what/api/stat/<slug>.headlineSentenceemits):

"Mobula leads head lag at 0.8s (p50, 24h) on Fastest onchain data provider. Source: OpenChainBench (https://openchainbench.com/benchmarks/aggregator-head-lag)"
┌─────────────────────────┐ ┌───────────────────┐ ┌──────────────────────┐ │ 50 Go harnesses on │ │ Shared Prometheus │ │ Materialization worker│ │ ocb-par-main (Paris) │─── ▶│ (same VPS) │───▶│ (same VPS, docker) │ │ each exposes /metrics │ │ federates a few │ │ sweeps every 60s │ └─────────────────────────┘ │ Railway regional │ └──────┬───────────────┘ │ harnesses │ │ └───────────────────┘ ▼ ┌─────────────────────────┐ │ Redis + CDN blob store │ │ (SRH at kv.opencha…) │ └──────────┬──────────────┘ │ ┌─────────────────────────┐ │ Vercel Fluid Compute: │ │ pages read CDN blobs │ │ first, SRH as fallback, │ │ last-known-good on cold │ └─────────────────────────┘

- Harnesses + Prometheus + worker + Redis + SRHrun on one VPS (ocb-par-mainin Paris) via docker compose. A handful of multi-region harnesses (rpc-capabilities-us/eu/sgp, evm-quote-latency, aggregator-head-lag regional) stay on Railway and federate into the VPS Prom.
- Workerpublishes atomic snapshots every 60 s to Redis + CDN blobs atkv.openchainbench.com/aggregate/{latest,benches/<slug>,variants/<slug>/<sig>}.json. Site reads CDN first (~20 ms edge), falls back to SRH, then to the last-known-good snapshot key on cold cache.
- Siteis Next.js 16 App Router on Vercel Fluid Compute. Auto-deploy frommainon every push (with sitemap smoke test + auto-rollback + bench-page warm-up);devbranch runs on staging preview.
- Middleware(src/middleware.ts) handles lowercase 308 normalization,/compare/<b>-vs-<a>→ canonical alphabetical, 410 Gone for removed benches, 301 for renamed ones, and cache-key normalization on read-only public APIs.
- Live stream relay(WebSocket atwss://stream.openchainbench.com/ws) is a separate service run by Mobula because it holds upstream API keys; the browser talks to it directly, Vercel only serves the static shell.

Full walkthrough with diagrams + a "clone-and-run-it-yourself" section is indocs/architecture.md.

benchmarks/ 94 YAML specs, one per public benchmark harnesses/ 50 Go harnesses, each self-contained + Dockerized answers/ 32 Q&A YAMLs backing /answers/<slug> alternatives/ 23 "alternatives to X" YAMLs backing /alternatives/<slug> worker/ Materialization worker (sweeps Prom → publishes CDN + Redis blobs) infrastructure/ Shared Prometheus config src/ Next.js 16 site (App Router, ISR, Tailwind 4, TypeScript, Zod) docs/ architecture.md, methodology, walkthrough.md scripts/ Spec validators + prebuild manifest generators .github/ CI: prod deploy, staging preview, sync dev from main

ReadCONTRIBUTING.mdfor the long-form guide. TL;DR:
- Float an idea in
Discussions
- Open a📊 Propose a benchmarkissue with the metric + methodology
- Write the harness (Go recommended, any language shipping/metricsworks)
- Host it (anywhere with HTTPS + public/metrics)
- Open a PR againstdev: spec YAML + harness ref + Prom scrape config
- Review on the staging preview; merge tomainwhen data lands

- Same metric, same conditions. If two providers can't be measured identically, they don't share a bench.
- Provider marketing does not shape published numbers. Public methodology + reproducible harness are the only source of truth.
- Retirement over removal. Retired benches return410 Gonewith a link to the current catalog so previously-indexed URLs decay cleanly.
- Freshness signals everywhere. Every citable surface carriesdateModified+asOfso LLMs can tell fresh data from stale.
- Draft benches never quote a number. If quorum drops, the page renders "awaiting samples" rather than a fabricated leader.

- Discussions:github.com/ChainBench/OpenChainBench/discussions
- Twitter/X:
@OpenChainBench
- Wikidata:
Q140172649
- Zenodo DOI:
10.5281/zenodo.20800311
- Hugging Face dataset mirror:
OpenChainBench/benchmarks(daily parquet snapshots)

License: harness code MIT · dataset CC-BY-4.0 · attribution required. SeeLICENSE.

MCP to interface with multiple blockchains, staking, DeFi, swap, bridging, wallet management, DCA, Limit Orders, Coin Lookup, Tracking and more.

Financial intelligence for AI agents — 31 tools across 8 data sources including regime, derivatives, stablecoin flows, momentum, macro, weather patterns, and political cycles.

Execute stock and crypto trades via Trade Agent

MCP server for Aave — lending pool data, reserve info, user positions, and liquidation thresholds.

Bitcoin-native MCP server for AI agents: BTC/STX wallets, DeFi yield, sBTC peg, NFTs, and x402 payments.

Provides real-time prices for assets like precious metals and cryptocurrencies.

EUR settlement for AI agents. USDC/EURC to EUR via SEPA Instant. Trust scoring (KYA 0-100), market data, crypto analytics, AI tools.

Full-lifecycle algorithmic trading: describe strategies in plain English, AI generates code, backtest on real data, deploy live to 10+ brokers. Stocks, options, crypto, futures. Free tier available.

Monitor passive income, bandwidth sharing, and DePIN earnings from a self-hosted CashPilot dashboard

Crypto prices, market data, and token metadata via CoinGecko.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.