OpenChainBench について
OpenChainBenchは、暗号資産インフラの公開ベンチマークレジストリで、測定値を継続的に更新し手法も公開します。開発者、研究者、プロバイダーが、RPCやブリッジ、オラクルなどの比較可能なデータと測定用ハーネスを確認できます。
主な機能
- 01プロバイダーのライブベンチマーク
- 02手法とハーネスの公開
- 03JSON、Markdown、RSS、引用情報
- 04プロバイダー比較とランキング
- 05公開データエンドポイント
活用シーン
- 01公開RPCのレイテンシ比較
- 02ブリッジ手数料とプロバイダー順位の確認
- 03暗号資産インフラの最新測定値の引用
MCP 対応
ホスト型MCPサーバーは、ベンチマークの一覧、検索、取得、プロバイダー比較・推奨のツールと、ベンチマーク用リソーステンプレートを公開します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://openchainbench.com/api/mcp/mcpclaude mcp add --transport http flotapponnier-openchainbench https://openchainbench.com/api/mcp/mcp{"mcpServers":{"flotapponnier-openchainbench":{"type":"http","url":"https://openchainbench.com/api/mcp/mcp"}}}Cursor で開く{"servers":{"flotapponnier-openchainbench":{"type":"http","url":"https://openchainbench.com/api/mcp/mcp"}}}VS Code で開く{"mcpServers":{"flotapponnier-openchainbench":{"type":"http","url":"https://openchainbench.com/api/mcp/mcp"}}}{"mcpServers":{"flotapponnier-openchainbench":{"serverUrl":"https://openchainbench.com/api/mcp/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
6| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | 返す行数。1〜50 を指定します。デフォルトは 25 です。 |
| category | string | いいえ | このカテゴリのみ:RPCs、Trading、Bridges、Blockchains、Aggregators、RWA、NFT APIs。 |
詳細
OpenChainBench
OpenChainBench は、すべてのプロバイダーを同じ方法で暗号資産インフラのベンチマークにかけ、その数値を公開し、測定に使ったコードも提供します。 RPC エンドポイント、データ API、ブリッジ、無期限先物 DEX、予測市場、オラクル、クロスチェーンメッセージングが対象です。openchainbench.com で公開中です。
無料の Ethereum RPC のうち応答が最も速いものや、USDC のブリッジ手数料が最も安いものなどを、数値を一度だけ記録するのではなく、24 時間体制で再計算して答えます。
各ベンチマークには、データを生成するハーネスが MIT ライセンスで付属し、データセットは CC-BY-4.0 ライセンスで提供されます。測定対象のプロバイダーを含むすべての関係者がプルリクエストを送ることができます。上のカードはライブですが、GitHub のキャッシュにより、リンク先のページより更新が遅れる場合があります。
これは何か
- ベンチマークの公開レジストリです。ベンチマークごとに YAML 仕様があり、指標、方法論、公開する各数値の基となる正確な PromQL が記載されています。
- スケジュールに従ってプロバイダーを調査し、Prometheus メトリクスを公開する、自己完結型の Go ハーネス群です。共通の Prometheus がそれらをスクレイプし、1 つのワーカーがスナップショットを生成し、サイトがそのスナップショットを読み込みます。
- 引用可能なデータの提供基盤です。各ベンチマークの数値は、JSON、Markdown、RSS、MCP サーバー経由で利用できます。JSON レスポンスには
asOfタイムスタンプ、ソース URL、ライセンスが含まれ、エクスポートされる引用にはページ URL と取得日が含まれます。
これは何ではないか
- トークンでも、ファンドでも、RPC ベンダーでもありません。
- 測定対象が編集できるものではありません。レポートの公開前に、プロバイダーにその根拠となる事実を提示する場合があります。また、ステージングサイトは公開されているため、リリース前でも数値を確認できます。手法に関与していない人が数値を変更することはできません。
- 単一ベンダーの視点に偏ったものではありません。同一条件で測定できないプロバイダーは、別々のベンチマークに分けるか、同じ範囲に絞り込みます。どちらにするかは仕様に記載されています。
30 秒でデータを取得する
pip install openchainbench
from openchainbench import OpenChainBench
with OpenChainBench() as ocb:
for b in ocb.list_benchmarks()[:5]:
print(b.slug, b.leader)
head_lag = ocb.get_benchmark("aggregator-head-lag")
print(head_lag.headline)
キーもアカウントも不要です。読み取りエンドポイントは IP アドレスごとに 1 分あたり 60 リクエストまで利用でき、robots.txt に記載された AI クローラーは制限の対象外です。同じデータは通常の HTTP でも取得できます。
# every benchmark with its current value, leader and citation
curl https://openchainbench.com/api/citable
# one benchmark: rankings, 24h sparkline, methodology, paste-ready quote
curl https://openchainbench.com/api/stat/aggregator-head-lag
# a benchmark as Markdown instead of HTML, at the same URL
curl -H "Accept: text/markdown" https://openchainbench.com/benchmarks/bridge-fee
エージェントから利用するには、MCP クライアントをホスト型サーバーに接続します。
{ "mcpServers": { "openchainbench": { "url": "https://openchainbench.com/api/mcp/mcp" } } }
list_benchmarks、get_benchmark、search_benchmarks、compare_providers、recommend_provider、list_answers と、openchainbench://benchmark/{slug} リソースを公開しています。インストール方法は /mcp をご覧ください。
1 つのベンチマークをエンドツーエンドで
ベンチマークは、仕様、ハーネス、それらから生成される表示で構成されます。aggregator-head-lag は、すでにオンチェーンにあるスワップをデータ API が出力するまでの時間を測定します。
仕様(benchmarks/aggregator-head-lag.yml)では、メトリクス、単位、値が大きいほど良いかどうか、文書化された手法、パーセンタイルごとにプロバイダー別の PromQL クエリを宣言します。ページ上の数値は、手入力されたものではありません。
ハーネス(harnesses/aggregator-head-lag/)は、チェーンイベントと各プロバイダーのフィードを購読し、トランザクションごとにそれらの到着を競わせて、結果を /metrics で公開します。
公開される形式は、GET /api/stat/aggregator-head-lag から取得できます。
{
"slug": "aggregator-head-lag",
"metric": "Head lag",
"unit": "s",
"higherIsBetter": false,
"value": 0.240038, // example reading, 2026-10-25
"leader": { "name": "Codex", "slug": "codex", "value": 0.240038 },
// ms holds the raw series value in the benchmark's stored unit, which is
// not always milliseconds: on a percent benchmark it holds a percent.
"rankings": [ { "name": "Codex", "ms": { "p50": 240.038, "p90": 399.49 } } ],
"sparkline": [ /* 73 points, last 24h */ ],
"sampleSize": 184980,
"measured": 6,
"ranked": 6,
"asOf": "2026-10-25T19:26:11.573Z",
"freshness": { "ageHours": 0.2, "stale": false },
"headline": "...", // one sentence, ready to quote
"methodology": [ /* the written rules, same text as the page */ ],
"source": "https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/aggregator-head-lag",
"license": "CC-BY-4.0"
}
headline は現在の測定値から生成されるため、取得した時点では正確ですが、ファイルに貼り付けた瞬間に古くなります。引用する際は asOf も併記してください。正式な引用には /api/cite/<slug>/bib を使用してください。
数字で見る
| このリポジトリの項目 | 件数 |
|---|---|
ベンチマーク仕様ファイル(benchmarks/*.yml) | 254 |
ハーネスディレクトリ(harnesses/*/、すべて Go モジュール) | 71 |
回答ページ(answers/*.yml) | 49 |
代替案ページ(alternatives/*.yml) | 21 |
カテゴリーの種類(仕様全体の category: の値) | 9 |
| ベンチマークが公開されているカテゴリー | 7 |
リリース条件を満たすまでステージングに保留中(DEV_ONLY_BENCH_SLUGS) | 6 |
廃止済み。410 Gone を返すか後継にリダイレクト(REMOVED_BENCH_SLUGS) | 25 |
仕様 254 件から、ステージングに保留中の 6 件と、仕様を残したまま廃止されたベンチマーク 2 件を除くと、このコミットで公開されるベンチマークは 246 件です。件数は 2026-10-26 時点のリポジトリから算出しています。
カテゴリー別の公開件数:RPC 170、トレーディング 43、アグリゲーター 9、ブリッジ 9、ブロックチェーン 8、RWA 6、NFT API 1。
ページ上部のバッジには、/api/citable から取得した現在の件数が表示されます。これは本番環境で公開されている件数です。表は、閲覧中のコミットから算出されています。変更がリリースされると両者は一致しますが、ベンチマークがマージされてから公開を待っている間は異なります。そのため、どちらかを信頼するだけでなく、両者を比較することで状況を把握できます。
機械可読なインターフェース
すべてのベンチマークは CC-BY-4.0 で公開されており、キーなしでアクセスできます。
| エンドポイント | 返される内容 |
|---|---|
/api/citable | 現在の値、リーダー、見出し文、引用、asOf を含むすべてのベンチマークです。まずはこちらをご覧ください。 |
/api/stat/<slug> | 1つのベンチマークのランキング、24時間のスパークライン、方法論、引用文、ソース、鮮度です。 |
/api/series/<slug> | プロバイダーごとの時系列データです。?range=24h。 |
/api/compare/<a>/<b> | 2つのプロバイダーが共通して提供しているすべてのベンチマークです。 |
/api/cite/<slug>/<format> | 引用を bib、ris、apa、txt のいずれかの形式で、対応するコンテンツタイプとともに返します。 |
/api/openapi.json | 読み取り用エンドポイント11個を網羅する OpenAPI 3.1 スキーマです。 |
/api/mcp/mcp | ストリーミング可能な HTTP 経由の MCP サーバーです。ツール6個とリソーステンプレート1個を提供します。 |
/api/llm-context | ランキングと方法論を含む、すべてのベンチマークをまとめた1つの Markdown ドキュメントです。 |
/llms.txt · /llms-full.txt | llmstxt.org の規約に準拠したインデックスと完全なコンテキストです。llms-full.txt と /api/llm-context は同じドキュメントを提供します。 |
Accept: text/markdown | ページ自身の URL、/benchmarks/<slug>、/products/<slug>、/perps、/rwa、/capital で、HTML の代わりに Markdown を返します。ブラウザーの Accept ヘッダーには text/html が含まれるため、ブラウザーには影響しません。 |
/api/freshness | すべてのベンチマークの {slug: asOf} をエポックミリ秒単位で返し、サーバーの now も含みます。30秒間キャッシュされます。 |
/api/og/<slug> | 現在の値、リーダー、スパークラインを含む1200x630のカードを、安定した URL で提供します。 |
/benchmarks/<slug>/share-card | 5種類のテンプレート(ranking、snapshot、headline、compare、leaderboard)でカードをエクスポートできます。?theme=dark でダークテーマを指定できます。 |
/api/badge/<bench>/<provider> | プロバイダーの順位と数値を含む、埋め込み可能な SVG です。貼り付けてすぐ使える Markdown を取得するには /snippet を追加します。 |
/rss.xml · /feed.json | 公開中のベンチマークごとに1件のエントリーを含む RSS 2.0 と JSON Feed 1.1 です。 |
/sitemap.xml · /robots.txt | 公開しているすべての URL です。30を超える AI クローラーおよび回答エンジンクローラーを明記し、明示的に許可しています。 |
/contribute/ai-brief.md | ベンチマークのコントリビュートに参加するコーディングエージェント向けの概要です。 |
各ベンチマークページには、Dataset、StatisticalReport、Observation、TechArticle、FAQPage、DataDownload、BreadcrumbList の JSON-LD も含まれています。
このリポジトリの外部でも、2つのミラーを公開しています。毎日の Parquet スナップショットを含む Hugging Face データセットと、DOI 10.5281/zenodo.20800311 の Zenodo レコードです。
サイトのページ構成
| ルートの種類 | 内容 |
|---|---|
/benchmarks、/benchmarks/<slug>、/benchmarks/<slug>/<chain> | ベンチマークのカタログと、チャート、台帳、チェーン、地域のフィルター、共有カード、FAQを備えたベンチマークごとのリーダーボードです。チェーンごとのビューには、それぞれの解説もあります。 |
/products/<slug> | プロダクトごとのページです。掲載されているすべてのベンチマーク、1位の獲得数、関連プロダクト、該当するカテゴリごとのビューを掲載しています。 |
/chains/<slug> | チェーンごとのハブです。ネイティブ価格、TVLの履歴、該当チェーンに関わるすべてのベンチマークをカテゴリ別に掲載しています。 |
/compare/<a>-vs-<b> | 共通するベンチマークでの直接比較です。アルファベット順を正規の順序とし、リダイレクトによって適用しています。 |
/answers/<slug> · /alternatives/<slug> | 質問ページと「Xの代替」ページです。どちらも文章ではなく、リアルタイムのベンチマークに基づいています。 |
/rpc · /perps · /prediction-markets · /hyperliquid · /capital | トピックごとに複数のベンチマークを集約した、分野別のハブです。 |
/methodology · /contribute · /mcp · /press · /badges · /about | 仕組み、貢献方法、引用方法、埋め込み方法を説明しています。 |
仕組み
flowchart LR
H["Go harnesses<br/>each exposing /metrics"] --> P["Shared Prometheus"]
R["Regional harnesses<br/>US, EU, SGP"] -.federated.-> P
P --> W["Materialization worker<br/>sweeps and publishes snapshots"]
W --> B["Redis plus CDN blob store<br/>kv.openchainbench.com"]
B --> S["Next.js site on Vercel<br/>reads the blob, Redis as fallback"]
S --> A["JSON, Markdown, RSS, MCP,<br/>cards, badges, citations"]
- ハーネスは、パリにある1台のVPS上でコンテナとして実行されます。複数の場所から測定する必要があるものは、Railway上で実行し、同じPrometheusにデータを集約します。測定場所を示さないレイテンシの数値には意味がないためです。
- ワーカーは、タイマーに従ってPrometheusのデータを取得し、原子的なスナップショットをRedisとCDNのBLOB(
kv.openchainbench.com/aggregate/...)に公開します。サイトはまずBLOBを読み込み、次にRedisを参照し、さらに取得できない場合は空のページを表示せず、最後に正常だったスナップショットを使用します。 - サイトはVercel上のNext.js 16です。
mainは、ウォームアップ、サイトマップのインデックス登録可能性のスモークテスト、テスト失敗時の自動ロールバック、テスト通過後のIndexNowへの通知を経て、自動的に本番環境へデプロイされます。devはステージング用のプレビューにデプロイされます。 - ルーティングルールは
src/middleware.tsとnext.configにあります。廃止されたベンチマークは、カタログへのリンクを含む410 Goneを返すか、後継がある場合は恒久的にリダイレクトします。名前が変更されたベンチマークは、新しいスラッグに恒久的にリダイレクトします。また、/compare/<b>-vs-<a>はアルファベット順の正規の順序にリダイレクトされるため、比較ごとにURLは1つだけになります。 - ライブダッシュボードは、メンテナーが別途運用する
wss://stream.openchainbench.com/wsのWebSocketリレーからデータを読み込みます。上流APIキーを保持しているため、リレーは別途運用されています。ブラウザーはリレーと直接通信します。
クローンして自分で実行する手順を含む詳しい説明は、docs/architecture.mdをご覧ください。
リポジトリの構成
benchmarks/ one YAML spec per benchmark
harnesses/ one Go module per harness, each self-contained and Dockerized
answers/ Q&A specs backing /answers/<slug>
alternatives/ "alternatives to X" specs backing /alternatives/<slug>
packages/ python-client, published to PyPI as openchainbench
worker/ materialization worker: Prometheus to CDN and Redis snapshots
infrastructure/ shared Prometheus config
src/ the Next.js site, App Router, TypeScript, Tailwind, Zod
scripts/ spec validators, prebuild manifests, sitemap smoke test
docs/ architecture.md, methodology, walkthrough.md
public/ static assets served by the site
video/ the renderer behind the Export video button on every benchmark page
.github/ CI, production deploy, staging preview, dataset publishing
crm/とoutreach/は内部ツールであり、公開されているベンチマークの範囲には含まれません。
コントリビューション
詳しい説明はCONTRIBUTING.md、画面付きのガイドは/contribute、コーディングエージェント向けの概要は/contribute/ai-brief.mdをご覧ください。
- Discussionsでアイデアを提案します。
- コードを書く前に、指標と方法論を記載した
Propose a benchmarkissueを作成します。 - ハーネスを作成します。慣例ではGoを使いますが、HTTPS経由で
/metricsを提供できれば、どのようなものでも構いません。 - 安定したHTTPS URLであれば、どこにホストしても構いません。キーと予算はご自身で管理し、メンテナーがそれらを見ることはありません。
- 仕様、ハーネスへのリンク、Prometheusのスクレイプ設定を含めて、
devに対するPRを作成します。 - ステージングプレビューで確認します。データが届き、ページが正しく表示されれば、本番環境に反映されます。
作成前にローカルでチェックします:
pnpm install
pnpm dev # http://localhost:3000
pnpm validate # every spec against the Zod schema
pnpm check # validate, typecheck, lint, test
公開するものの判断基準
- 同じ指標には、同じ条件を適用します。 プロバイダーを同一条件で測定できない場合は、分割するか共通範囲に絞って比較し、その旨をベンチマークに明記します。無理に比較することはありません。
- マーケティングによって数値を左右しません。 公開された方法論とハーネスだけを入力として使用します。
- ベンチマークを公開するには、その価値を示す必要があります。 新しいベンチマークは、測定期間全体の完了、監査ラウンドの実施、プロバイダー数の最低基準への到達など、明文化された条件を満たすまでステージングに留めます。条件は
src/lib/removed-benches.tsにベンチマークごとにコメントで記載されており、公開待ちのものも含まれます。 - 削除ではなく、廃止します。 廃止されたベンチマークは
410 Goneを返し、エントリーを残します。後継がある場合はそちらにリダイレクトします。これにより、インデックス済みのURLが消失するのではなく、正直な形で役目を終えられます。 - タイムスタンプのない数値は公開しません。 すべてのJSONサーフェスに
asOfを含め、/api/freshnessは全体のマップをエポックミリ秒で返します。そのため、読者は問い合わせなくても、データが新しいか古いかを判断できます。 - ドラフトで数値を引用することはありません。 報告するプロバイダーが少なすぎる場合、少ないデータでリーダーを決めるのではなく、サンプル待ちであることをページに表示します。
引用方法
@misc{openchainbench,
author = {OpenChainBench},
title = {OpenChainBench: live benchmarks for crypto infrastructure},
year = {2026},
doi = {10.5281/zenodo.20800311},
url = {https://openchainbench.com},
note = {Dataset licensed CC-BY-4.0}
}
単一のベンチマークでは、GET /api/cite/<slug>/bibがそのページ用の同じ形式を返します。また、ris、apa、txtも利用できます。
DOIはデータセットレコードの最新バージョン(v1.0.1、2026-06-22公開)を参照します。データセットを引用する際はこのDOIを使用し、今日閲覧した数値を引用する際は、その数値のasOfを含むページを引用してください。
よくある質問
データは無料で利用できますか? はい。データセットは CC-BY-4.0 で公開されているため、出典として OpenChainBench と利用元のページへのリンクを明記すれば、引用、グラフ化、製品への組み込みが可能です。ハーネスのコードは MIT ライセンスです。
自分の製品を追加できますか? はい。すでに測定対象になっている場合も追加できます。プロバイダーはここで PR を作成できます。ただし、測定方法を変更せずに数値だけを変更することはできません。また、測定方法を変更する場合は、そのベンチマークのすべてのプロバイダーに一度に適用されます。
自分の製品に関する数値が間違っているようです。どうすればよいですか? プロバイダーの修正に関する Issue を作成し、ページ、数値、そしてご自身で測定した数値をお知らせください。すべてのベンチマーク値は、このリポジトリ内の仕様に記載された PromQL クエリとハーネスに基づいているため、両方を確認すれば多くの場合、相違を解決できます。
数値はどのくらい最新ですか? 各ベンチマークには独自の asOf があります。/api/freshness はすべての情報を 1 回のリクエストで返し、古くなったページにはその旨が表示されるため、古い数値が最新のものとして表示されることはありません。
このリポジトリにはあるのに、サイトにはないベンチマークがあるのはなぜですか? まだリリース条件を満たしていないためです。該当するベンチマークとその理由は src/lib/removed-benches.ts に記載されており、上記の数値表では、該当するすべてのベンチマークを計上しています。
測定を望まないプロバイダーも測定していますか? 公開されている利用条件のもとで、顧客がアクセスできるエンドポイントを、無料・有料を問わず測定しています。また、認証キーを使うベンチマークでは、使用したプランを明記しています。プロバイダーは測定方法の修正を依頼できます。通常、それは有益な PR になりますが、結果が好ましくないという理由で結果の削除を求めることはできません。
コミュニティとライセンス
ディスカッション · @OpenChainBench · PyPI · Hugging Face · Zenodo · Wikidata
ハーネスとサイトのコード:MIT ライセンス。詳しくは LICENSE をご覧ください。データセット:CC-BY-4.0。出典の明記が必要です。各 API レスポンスの license フィールドとして公開されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。