OpenChainBench
REMOTE · OPENCHAINBENCH.COM
Live, neutral benchmarks for public RPC latency, oracles, bridges, perp DEX, and prediction markets.
Available components
Last scanned (4 hours ago)
Scores higher than 98% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Crypto and Web3
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security80
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability87
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 14279 tokens (~56/item across 253 items; 6 tools + 247 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 6 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 7 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 0
- Tool “compare_providers” rewrote its description, which is the text the model reads security
- Tool “get_benchmark” rewrote its description, which is the text the model reads security
- Tool “search_benchmarks” rewrote its description, which is the text the model reads security
- “compare_providers” reworded the description of “providers” cosmetic
- “compare_providers” reworded the description of “tier” cosmetic
- 4 Nov 26 0
- Resource “Cheapest blockchain to deploy a token, live USD cost across 7 non-EVM L1 chains · Blockchains” was removed ▼ functional
- Resource “Highest staking yield, live validator net APR across 7 PoS chains · Blockchains” was removed ▼ functional
- New resource “Cheapest blockchain to deploy a token, live USD cost per L1 chain · Blockchains” functional
- New resource “Highest staking yield, live net APR by proof-of-stake chain · Blockchains” functional
- 1 Nov 26 +4
- Stability: fail → pass ▲ security
- 31 Oct 26 +2
No change was recorded against any check on this day. Stability & Change Management went from 63 to 72.
- 30 Oct 26 0
- New resource “Cheapest embedded wallet provider for each app size, from published prices · Wallets” functional
- 25 Oct 26 0
- Resource “Cheapest RPC provider, priced per workload across 18 ranked providers · RPCs” was removed ▼ functional
- Resource “Most requests a free RPC plan buys, across 12 providers · RPCs” was removed ▼ functional
- New resource “Cheapest RPC provider, priced per workload across 19 providers · RPCs” functional
- New resource “Most requests a free RPC plan buys, across 13 providers · RPCs” functional
- 22 Oct 26 0
- New resource “Best DEX aggregator by quote output: who actually gives you more · Aggregators” functional
- 21 Oct 26 0
- New resource “Crypto price API accuracy: how far each feed sits from the exchange price · Aggregators” functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://openchainbench.com/api/mcp/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=openchainbench.com | CN=YR2,O=Let's Encrypt,C=US | 6 Sept 2026 | 5 Dec 2026 | RSA 2048 | SHA256-RSA | 50f0325af7bbba4f2780381ad9e4b91c6e2 |
| SANs: openchainbench.com | ||||||
| CN=YR2,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | 4ebd24947e24d394802d84a52fd5b319 |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of openchainbench.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| openchainbench.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000; includeSubDomains; preload |
| content-security-policy | default-src 'self'; script-src 'self' 'unsafe-inline' https://analytics.ahrefs.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob:; font-src 'self' data:; connect-src 'self' wss://stream.openchainbench.com https://video.openchainbench.com https://analytics.ahrefs.com; media-src 'self' https://video.openchainbench.com; frame-ancestors 'none'; base-uri 'self'; form-action 'self'; object-src 'none'; upgrade-insecure-requests |
| x-content-type-options | nosniff |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=(), interest-cohort=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://openchainbench.com/api/mcp/mcp | Verified | 200 | |
| http (plaintext) | http://openchainbench.com/api/mcp/mcp | HTTPS enforced | 308 | https://openchainbench.com/api/mcp/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
compare_providers Compare named providers head to head ~310
Puts two or more named providers side by side on one benchmark, with each one's rank, measured value and success rate. Use when the user names the candidates themselves: "Alchemy or Quicknode?", "is Helius faster than Triton for Solana?", "compare Across and Stargate on fees". Find the benchmark slug with `search_benchmarks` first if you do not already have it. Providers the benchmark does not measure come back in `missing`: say they are not measured rather than implying they ranked badly. A provider measured but below the ranking floor comes back with rank null, which is also not a loss.
| Name | Type | Req | Description |
|---|---|---|---|
| benchmark | string | yes | Benchmark slug, e.g. 'solana-rpc' or 'bridge-fee'. Get it from search_benchmarks. |
| chain | string | – | Optional chain slice when the bench declares chains. Ignored on a bench that is already one chain, like solana-rpc. |
| providers | array | yes | Two to ten provider names or slugs, as the user said them, e.g. ['Alchemy', 'Quicknode']. |
| region | string | – | Optional region slice when the bench declares regions. |
| tier | string | – | Access cohort on chain RPC benchmarks: 'public' (default, free no-key endpoints) or 'keyed' (API-key providers such as Alchemy, Quicknode, Chainstack, GetBlock). Named providers usually live on the k… |
No output schema declared.
No examples provided.
get_benchmark Get a single OpenChainBench benchmark ~539
Returns full detail for one benchmark, ready to cite verbatim: • rankings (every provider sorted by p50) • sparkline (24h trend, 72 points) • headline sentence + paste-ready citation quote • methodology bullets + source-code URL + canonical pageUrl + OG image URL Pass `chain` and/or `region` to scope the result to a sub-slice when the benchmark declares those dimensions (e.g. aggregator-head-lag exposes chain=base|bnb|solana, region=us-east|eu-west|ap-southeast). Both args are optional; omit them for the global aggregate. Chain RPC benchmarks (<chain>-rpc) rank two access cohorts apart: the free public endpoints (default) and the private, API-key providers (Alchemy, Chainstack, GetBlock, Quicknode). The default response carries both under `cohorts`; pass tier="keyed" to get the private cohort as the main record (rankings, quote, pageUrl). Never compare a public row with a private row: they are measured on different endpoints and cadences. Example usage: • User: "who's the fastest crypto data aggregator on Base?" → get_benchmark({ slug: "aggregator-head-lag", chain: "base" }) • User: "how much does it cost to bridge $300 cross-chain?" → get_benchmark({ slug: "bridge-fee" }) • User: "fastest Base RPC with an API key, Alchemy or Quicknode?" → get_benchmark({ slug: "base-rpc", tier: "keyed" }) Drafts return { error: "unknown_slug" }. Cite the returned `pageUrl` and use `quote` as the attribution line in your answer.
| Name | Type | Req | Description |
|---|---|---|---|
| chain | string | – | Optional chain filter, e.g. 'base', 'solana', 'bnb'. Only honored when the bench declares chain dimensions. |
| region | string | – | Optional region filter, e.g. 'us-east', 'eu-west', 'ap-southeast'. Only honored when the bench declares region dimensions. |
| slug | string | yes | Benchmark slug from list_benchmarks. e.g. 'aggregator-head-lag', 'bridge-quote-latency', 'l1-finality'. |
| tier | string | – | Optional access cohort on chain RPC benchmarks: 'public' (default, free no-key endpoints) or 'keyed' (private, API-key providers). Only honored when the bench declares tier dimensions. |
No output schema declared.
No examples provided.
list_answers List OpenChainBench answer pages ~194
Returns every published answer page: one plain question, the sentence that answers it from live data, and the benchmark the number comes from. Call this when the user asks a question in words rather than by benchmark name ("which bridge is cheapest for $300?", "which Solana RPC lands transactions fastest?"). Match the question, then call `get_benchmark` with the returned `benchmark` slug for the full ranking behind it. Returns one row per answer: { slug, question, answer, benchmark, chain?, url, benchmarkUrl } Cite `url` when the question itself is the claim, `benchmarkUrl` when the measurement is. Drafts are filtered out, and an answer whose benchmark has no defensible leader yet says so in `answer` rather than naming a winner.
| Name | Type | Req | Description |
|---|---|---|---|
| benchmark | string | – | Optional benchmark slug filter: return only the answers built on that bench. |
No output schema declared.
No examples provided.
list_benchmarks Browse the benchmark catalogue ~217
A compact index of what OpenChainBench measures. One short row per benchmark: slug, title, category, the metric, the current value and who leads it. Use when the user asks what is measured at all ("what does OpenChainBench cover?", "do you track bridges?"). When they ask a question about a provider or a chain, use `search_benchmarks` instead: it ranks the catalogue against their words and costs far less to read. The catalogue holds over 200 benchmarks, so this is capped and filterable rather than exhaustive. Narrow with `category`, then open the one you need with `get_benchmark`. Categories: RPCs, Trading, Bridges, Blockchains, Aggregators, RWA, NFT APIs.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Only this category: RPCs, Trading, Bridges, Blockchains, Aggregators, RWA or NFT APIs. |
| limit | integer | – | How many rows to return, 1 to 50. Default 25. |
No output schema declared.
No examples provided.
recommend_provider Recommend a provider for a stated use case ~262
Answers "which should I use for X" by picking the benchmarks that measure X and reporting who currently leads them. Pass the user's goal in their own words: "a Solana trading bot", "an indexer backfilling Base", "a wallet that needs price data", "bridging to Arbitrum". This returns measurements and the caveat that goes with them, not an endorsement. A leader on one benchmark is the leader of that one measurement over its stated window. Where the use case has a known caveat (a bot should read p99 rather than p50, an indexer is bound by archive depth) it comes back in `guidance`; pass it on, it is usually more useful than the ranking itself.
| Name | Type | Req | Description |
|---|---|---|---|
| chain | string | – | Chain they are building on, e.g. 'solana', 'base', 'arbitrum'. Narrows the benchmarks considerably. |
| region | string | – | Optional region, e.g. 'eu-west', when latency from a location matters. |
| use_case | string | yes | What the user is building or doing, in their words. e.g. 'solana trading bot', 'indexer', 'price feed for a wallet'. |
No output schema declared.
No examples provided.
search_benchmarks Find the benchmark that answers a question ~265
Ranks the benchmark catalogue against a question in the user's own words and returns the best few matches. Use this when somebody asks which provider, chain or service is fastest, cheapest, most reliable or best for something. Pass their phrasing through: provider names, chain names and goals all match. • "which Solana RPC is fastest" -> search_benchmarks({ query: "solana rpc" }) • "Alchemy or Quicknode on Base?" -> search_benchmarks({ query: "alchemy quicknode base" }) • "cheapest way to bridge to Arbitrum" -> search_benchmarks({ query: "bridge arbitrum" }) Returns compact rows. Open the one you want with `get_benchmark` for the full ranking and a citation line. An empty result means nothing is measured for that question; say so rather than guessing.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Optional category filter: RPCs, Trading, Bridges, Blockchains, Aggregators, RWA, NFT APIs. |
| limit | integer | – | How many matches, 1 to 25. Default 8. |
| query | string | yes | The user's question or keywords, verbatim. Provider and chain names work well. |
No output schema declared.
No examples provided.
How do I install the OpenChainBench MCP server?
OpenChainBench is a hosted endpoint at https://openchainbench.com/api/mcp/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · openchainbench.com
claude mcp add --transport http flotapponnier-openchainbench 'https://openchainbench.com/api/mcp/mcp'
What is the OpenChainBench MCP server?
OpenChainBench is an MCP server listed in the public MCP registry as io.github.Flotapponnier/openchainbench. Live, neutral benchmarks for public RPC latency, oracles, bridges, perp DEX, and prediction markets. This page covers its hosted endpoint (https://openchainbench.com/api/mcp/mcp).
Is the OpenChainBench MCP server safe to use?
OpenChainBench scores 90 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the OpenChainBench MCP server expose?
OpenChainBench exposes 6 tools: list_benchmarks, search_benchmarks, get_benchmark, compare_providers, recommend_provider, list_answers. Their descriptions and schemas cost roughly 1,787 tokens of context every time the server is loaded.
Does the OpenChainBench MCP server require authentication?
No. We connected to OpenChainBench without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the OpenChainBench MCP server still maintained?
OpenChainBench is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.