Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
132 changes: 132 additions & 0 deletions benchmarks/abstract-rpc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
# OpenChainBench. Bench № 123

slug: abstract-rpc
number: "123"
title: Fastest free Abstract RPC, live no-key EVM endpoint latency
seo_title: "Fastest free Abstract RPC 2026"
seo_description: "{{best_name}} leads free Abstract RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h). 3 no-key providers measured every 60s from 3 regions."
subtitle: HTTP round-trip latency for the `eth_getBlockByNumber("latest", false)` method against every free, no-key public Abstract EVM endpoint, audited every 60 seconds from 3 regions.

category: RPCs
status: live
metric: RPC latency
unit: ms
higher_is_better: false

seo_intro: |
Abstract is a ZK Stack Layer 2 (chain 2741) built by Abstract Labs and home to the Pudgy Penguins ecosystem, ETH gas token, ~1 s block cadence, ZK proof settlement on Ethereum. 3 clean keyless providers live-verified at launch: the Abstract official endpoint (api.mainnet.abs.xyz), dRPC, and Thirdweb. Excluded by the launch audit: LeoRPC (timeout), PublicNode (no abstract subdomain), Tenderly (no abstract route), OnFinality (no listing), Blast API (discontinued).

abstract: |
Per-chain member of the RPC latency cluster, extended to Abstract.
We measure the round-trip latency of a single, identical JSON-RPC call
(`eth_getBlockByNumber("latest", false)`) against every no-key public
Abstract endpoint that sustains continuous probing, 3 providers
at launch, every 60 seconds, from us-east, eu-west and Singapore. The
harness classifies every response (ok / http_err / jsonrpc_err / stale
/ timeout) with a default staleness gap (20 blocks). The cross-chain
view lives on the parent `rpc-capabilities` benchmark; this page is
the Abstract-scoped answer with per-region breakdowns as a first-class
dimension.

methodology:
- "Cadence: every 60 seconds per provider, from each of 3 probe regions (us-east Virginia, eu-west Amsterdam, sgp Singapore). Headline p50/p90/p99 aggregate across all 3 regions via Prometheus avg(quantile_over_time(...)); per-region breakdowns are first-class on this page via the region tabs."
- "Payload: {jsonrpc:2.0,id:<rotating>,method:eth_getBlockByNumber,params:[latest,false]}. Plain HTTP POST, no API key. Non-cacheable: rotating id defeats edge caches."
- "Latency: client-side round-trip delta in ms, histogram buckets 50ms to 10s, percentiles via quantile_over_time over 24h."
- "Classification: ok / http_err / jsonrpc_err / stale (>20 blocks behind tip) / timeout."
- "Chain scope: every query pinned to chain=abstract. Provider coverage at launch: 3 no-key endpoints."

findings:
- "{{best_name}} currently leads free Abstract RPC at {{best_p50}} (eth_getBlockByNumber p50, 24h) across 3 measured providers."

faq:
- q: "What is the fastest free Abstract RPC right now?"
a: "{{best_name}} currently leads at {{best_p50}} (eth_getBlockByNumber(latest,false) p50 over the last 24h), measured against 3 no-key providers probed every 60 seconds from us-east, eu-west and Singapore."
- q: "Which Abstract RPCs work without an API key?"
a: "3 endpoints at launch: Abstract official (api.mainnet.abs.xyz), dRPC, Thirdweb. All live-verified with eth_getBlockByNumber returning a parsable response."
- q: "Does the fastest Abstract RPC change by region?"
a: "Often. The region tabs re-scope every number to a single origin; pick the one closest to your deployment."

source: https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/rpc-capabilities

prometheus:
window: 24h
freshness_metric: rpc_latency_milliseconds

rank_matrix_query: avg by (provider, region) (ocb:rpc_latency_milliseconds:p50_24h{chain="abstract"})

dimensions:
region:
- { value: all, label: All regions }
- { value: us-east, label: US-East }
- { value: eu-west, label: EU-West }
- { value: sgp, label: Singapore }

providers:
- slug: abstract-official
name: Abstract Labs
tag: Abstract chain official public RPC
formula: "50th percentile over 24h of client-side round-trip latency (ms) for eth_getBlockByNumber(latest,false) every 60s from 3 regions to Abstract Labs's no-key endpoint."
queries:
p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="abstract-official", chain="abstract"})
p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="abstract-official", chain="abstract"})
p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="abstract-official", chain="abstract"})
mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="abstract-official", chain="abstract"})
success: sum(ocb:rpc_call:ok_rate_24h{provider="abstract-official", chain="abstract"}) / sum(ocb:rpc_call:rate_24h{provider="abstract-official", chain="abstract"})
sample_size: sum(ocb:rpc_call:increase_24h{provider="abstract-official", chain="abstract"})
series: avg(avg_over_time(rpc_latency_milliseconds{provider="abstract-official", chain="abstract"}[1h]))
regions:
- region: us-east
p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="abstract-official", chain="abstract", region="us-east"})
series: avg_over_time(rpc_latency_milliseconds{provider="abstract-official", chain="abstract", region="us-east"}[1h])
- region: eu-west
p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="abstract-official", chain="abstract", region="eu-west"})
series: avg_over_time(rpc_latency_milliseconds{provider="abstract-official", chain="abstract", region="eu-west"}[1h])
- region: ap-southeast
p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="abstract-official", chain="abstract", region="sgp"})
series: avg_over_time(rpc_latency_milliseconds{provider="abstract-official", chain="abstract", region="sgp"}[1h])

- slug: drpc
name: dRPC
tag: dRPC public gateway for Abstract
formula: "50th percentile over 24h of client-side round-trip latency (ms) for eth_getBlockByNumber(latest,false) every 60s from 3 regions to dRPC's no-key abstract endpoint."
queries:
p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="abstract"})
p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="drpc", chain="abstract"})
p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="drpc", chain="abstract"})
mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="drpc", chain="abstract"})
success: sum(ocb:rpc_call:ok_rate_24h{provider="drpc", chain="abstract"}) / sum(ocb:rpc_call:rate_24h{provider="drpc", chain="abstract"})
sample_size: sum(ocb:rpc_call:increase_24h{provider="drpc", chain="abstract"})
series: avg(avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="abstract"}[1h]))
regions:
- region: us-east
p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="abstract", region="us-east"})
series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="abstract", region="us-east"}[1h])
- region: eu-west
p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="abstract", region="eu-west"})
series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="abstract", region="eu-west"}[1h])
- region: ap-southeast
p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="abstract", region="sgp"})
series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="abstract", region="sgp"}[1h])

- slug: thirdweb
name: Thirdweb
tag: Thirdweb public RPC gateway for Abstract
formula: "50th percentile over 24h of client-side round-trip latency (ms) for eth_getBlockByNumber(latest,false) every 60s from 3 regions to Thirdweb's no-key abstract endpoint."
queries:
p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="abstract"})
p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="thirdweb", chain="abstract"})
p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="thirdweb", chain="abstract"})
mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="thirdweb", chain="abstract"})
success: sum(ocb:rpc_call:ok_rate_24h{provider="thirdweb", chain="abstract"}) / sum(ocb:rpc_call:rate_24h{provider="thirdweb", chain="abstract"})
sample_size: sum(ocb:rpc_call:increase_24h{provider="thirdweb", chain="abstract"})
series: avg(avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="abstract"}[1h]))
regions:
- region: us-east
p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="abstract", region="us-east"})
series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="abstract", region="us-east"}[1h])
- region: eu-west
p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="abstract", region="eu-west"})
series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="abstract", region="eu-west"}[1h])
- region: ap-southeast
p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="abstract", region="sgp"})
series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="abstract", region="sgp"}[1h])
125 changes: 125 additions & 0 deletions benchmarks/apechain-rpc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
# OpenChainBench. Bench No 124

slug: apechain-rpc
number: "124"
title: Fastest free ApeChain RPC, live no-key EVM endpoint latency
seo_title: "Fastest free ApeChain RPC 2026"
seo_description: "{{best_name}} leads free ApeChain RPC at {{best_p50}} (eth_getBlockByNumber p50, 24h). 3 no-key providers measured every 60s from 3 regions."
subtitle: HTTP round-trip latency for the eth_getBlockByNumber method against every free, no-key public ApeChain endpoint, audited every 60 seconds from 3 regions.

category: RPCs
status: live
metric: RPC latency
unit: ms
higher_is_better: false

seo_intro: |
ApeChain is a Arbitrum Orbit L2 (chain 33139) by the APE Foundation, live-verified 2026-08-02 with 3 no-key providers.

abstract: |
Per-chain member of the RPC latency cluster, extended to ApeChain.
Measures round-trip latency of eth_getBlockByNumber against every no-key
public endpoint, 3 providers, every 60 seconds from us-east, eu-west and Singapore.

methodology:
- "Cadence: every 60 seconds per provider, from 3 probe regions."
- "Payload: eth_getBlockByNumber(latest, false). No API key. Rotating id defeats edge caches."
- "Latency: client-side round-trip ms, histogram 50ms to 10s, percentiles via quantile_over_time 24h."
- "Classification: ok / http_err / jsonrpc_err / stale (>20 blocks behind tip) / timeout."
- "Chain scope: every query pinned to chain=apechain. Provider coverage at launch: 3 no-key endpoints."

findings:
- "{{best_name}} currently leads free ApeChain RPC at {{best_p50}} (eth_getBlockByNumber p50, 24h) across 3 measured providers."

faq:
- q: "What is the fastest free ApeChain RPC right now?"
a: "{{best_name}} leads at {{best_p50}} measured against 3 no-key providers every 60 seconds from us-east, eu-west and Singapore."
- q: "Which ApeChain RPCs work without an API key?"
a: "3 endpoints at launch, all live-verified with eth_getBlockByNumber returning a parsable response."
- q: "Does the fastest ApeChain RPC change by region?"
a: "Often. The region tabs re-scope every number to a single origin."

source: https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/rpc-capabilities

prometheus:
window: 24h
freshness_metric: rpc_latency_milliseconds

rank_matrix_query: avg by (provider, region) (ocb:rpc_latency_milliseconds:p50_24h{chain="apechain"})

dimensions:
region:
- { value: all, label: All regions }
- { value: us-east, label: US-East }
- { value: eu-west, label: EU-West }
- { value: sgp, label: Singapore }

providers:
- slug: apechain-official
name: APE Foundation
tag: ApeChain official public RPC
formula: "50th percentile over 24h of round-trip latency (ms) for eth_getBlockByNumber every 60s from 3 regions to APE Foundation's no-key apechain endpoint."
queries:
p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="apechain-official", chain="apechain"})
p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="apechain-official", chain="apechain"})
p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="apechain-official", chain="apechain"})
mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="apechain-official", chain="apechain"})
success: sum(ocb:rpc_call:ok_rate_24h{provider="apechain-official", chain="apechain"}) / sum(ocb:rpc_call:rate_24h{provider="apechain-official", chain="apechain"})
sample_size: sum(ocb:rpc_call:increase_24h{provider="apechain-official", chain="apechain"})
series: avg(avg_over_time(rpc_latency_milliseconds{provider="apechain-official", chain="apechain"}[1h]))
regions:
- region: us-east
p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="apechain-official", chain="apechain", region="us-east"})
series: avg_over_time(rpc_latency_milliseconds{provider="apechain-official", chain="apechain", region="us-east"}[1h])
- region: eu-west
p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="apechain-official", chain="apechain", region="eu-west"})
series: avg_over_time(rpc_latency_milliseconds{provider="apechain-official", chain="apechain", region="eu-west"}[1h])
- region: ap-southeast
p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="apechain-official", chain="apechain", region="sgp"})
series: avg_over_time(rpc_latency_milliseconds{provider="apechain-official", chain="apechain", region="sgp"}[1h])

- slug: drpc
name: dRPC
tag: dRPC public gateway for ApeChain
formula: "50th percentile over 24h of round-trip latency (ms) for eth_getBlockByNumber every 60s from 3 regions to dRPC's no-key apechain endpoint."
queries:
p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="apechain"})
p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="drpc", chain="apechain"})
p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="drpc", chain="apechain"})
mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="drpc", chain="apechain"})
success: sum(ocb:rpc_call:ok_rate_24h{provider="drpc", chain="apechain"}) / sum(ocb:rpc_call:rate_24h{provider="drpc", chain="apechain"})
sample_size: sum(ocb:rpc_call:increase_24h{provider="drpc", chain="apechain"})
series: avg(avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="apechain"}[1h]))
regions:
- region: us-east
p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="apechain", region="us-east"})
series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="apechain", region="us-east"}[1h])
- region: eu-west
p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="apechain", region="eu-west"})
series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="apechain", region="eu-west"}[1h])
- region: ap-southeast
p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="apechain", region="sgp"})
series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="apechain", region="sgp"}[1h])

- slug: thirdweb
name: Thirdweb
tag: Thirdweb public RPC gateway for ApeChain
formula: "50th percentile over 24h of round-trip latency (ms) for eth_getBlockByNumber every 60s from 3 regions to Thirdweb's no-key apechain endpoint."
queries:
p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="apechain"})
p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="thirdweb", chain="apechain"})
p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="thirdweb", chain="apechain"})
mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="thirdweb", chain="apechain"})
success: sum(ocb:rpc_call:ok_rate_24h{provider="thirdweb", chain="apechain"}) / sum(ocb:rpc_call:rate_24h{provider="thirdweb", chain="apechain"})
sample_size: sum(ocb:rpc_call:increase_24h{provider="thirdweb", chain="apechain"})
series: avg(avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="apechain"}[1h]))
regions:
- region: us-east
p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="apechain", region="us-east"})
series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="apechain", region="us-east"}[1h])
- region: eu-west
p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="apechain", region="eu-west"})
series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="apechain", region="eu-west"}[1h])
- region: ap-southeast
p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="apechain", region="sgp"})
series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="apechain", region="sgp"}[1h])
Loading
Loading