From b6733f116a9db6684adf5ad66db9240bcea83a6b Mon Sep 17 00:00:00 2001 From: Florent Tapponnier Date: Fri, 24 Jul 2026 16:27:29 +0200 Subject: [PATCH] rename Ink providers to Gelato / QuickNode + add Gelato SVG logo Ink has 2 active-active official endpoints; both are Kraken's Ink but on different infra (Gelato / QuickNode). Renaming display from 'Ink (Gelato)' / 'Ink (QuickNode)' to just 'Gelato' / 'QuickNode' matches how the ecosystem talks about them. The chain context is already given by the page (/benchmarks/ink-rpc); no need to repeat it. - Display names: config.go + ink-rpc.yml - Logo aliases: ink-official -> gelato, ink-quicknode -> quicknode (existing SVG) - New: public/logos/gelato.svg (icon-only from app.gelato.network/favicon.svg) - New: gelato registry entry (product page) Provider slugs (ink-official, ink-quicknode) unchanged so Prom labels + product page URLs stay stable. --- benchmarks/ink-rpc.yml | 12 ++++++------ harnesses/rpc-capabilities/cmd/script/config.go | 4 ++-- public/logos/gelato.svg | 13 +++++++++++++ src/data/provider-registry.ts | 6 ++++++ src/lib/logo-manifest.ts | 5 +++-- 5 files changed, 30 insertions(+), 10 deletions(-) create mode 100644 public/logos/gelato.svg diff --git a/benchmarks/ink-rpc.yml b/benchmarks/ink-rpc.yml index 6f93117d..38f6a737 100644 --- a/benchmarks/ink-rpc.yml +++ b/benchmarks/ink-rpc.yml @@ -35,7 +35,7 @@ methodology: - "Latency: client-side round-trip delta in milliseconds, exposed as both a gauge and a histogram (buckets 50 ms → 10 s), so percentiles are computed via Prometheus `quantile_over_time` over the last 24 hours." - "Call-result classification: `ok` (HTTP 200 + non-empty result with a parsable hex block number), `http_err`, `jsonrpc_err` (HTTP 200 carrying an error body), `stale` (more than 25 blocks behind the cross-provider tip), `timeout`. Latency without reliability is a misleading ranking signal." - "This page is part of the per-chain RPC cluster derived from the cross-chain [rpc-capabilities](https://openchainbench.com/benchmarks/rpc-capabilities) benchmark; the identical harness, cadence and exclusion rules apply on every chain." - - "Chain scope: every query on this page is pinned to `chain=\"ink\"`. Provider coverage at launch: 4 no-key endpoints (Ink (Gelato), Ink (QuickNode), dRPC, Tenderly Gateway)." + - "Chain scope: every query on this page is pinned to `chain=\"ink\"`. Provider coverage at launch: 4 no-key endpoints (Gelato, QuickNode, dRPC, Tenderly Gateway)." findings: - "{{best_name}} currently leads free Ink RPC at {{best_p50}} (`eth_getBlockByNumber(\"latest\", false)` p50, 24h) across 4 measured providers." @@ -44,7 +44,7 @@ faq: - q: "What is the fastest free Ink RPC right now?" a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber(\"latest\", false)` p50 over the last 24h), measured against 4 no-key providers probed every 60 seconds from us-east, eu-west and Singapore. The leaderboard re-sorts continuously against fresh Prometheus samples, so the answer on this page is the answer right now, not a quarterly snapshot. Use the region tabs to see the leader from the origin closest to your deployment." - q: "Which Ink RPCs work without an API key?" - a: "5 endpoints sustain continuous keyless probing at launch: Ink (Gelato), Ink (QuickNode), dRPC, Tenderly Gateway. Every listed endpoint was live-verified with a `eth_getBlockByNumber(\"latest\", false)` POST returning a parsable response before inclusion. See the methodology section for the specific endpoints that were audited and excluded." + a: "5 endpoints sustain continuous keyless probing at launch: Gelato, QuickNode, dRPC, Tenderly Gateway. Every listed endpoint was live-verified with a `eth_getBlockByNumber(\"latest\", false)` POST returning a parsable response before inclusion. See the methodology section for the specific endpoints that were audited and excluded." - q: "Does the fastest Ink RPC change by region?" a: "Often. Public infra concentrates in specific regions; a gateway that wins from Amsterdam can lose from Singapore by multiples. The region tabs at the top of the page re-scope every number to a single origin; pick the one closest to where your requests originate." - q: "How is Ink RPC latency measured here, technically?" @@ -67,9 +67,9 @@ dimensions: providers: - slug: ink-official - name: Ink (Gelato) + name: Gelato tag: Kraken's Ink Chain official public RPC, Gelato-backed - formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to Ink (Gelato)'s no-key ink RPC endpoint." + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to Gelato's no-key ink RPC endpoint." queries: p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="ink-official", chain="ink"}) p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="ink-official", chain="ink"}) @@ -90,9 +90,9 @@ providers: series: avg_over_time(rpc_latency_milliseconds{provider="ink-official", chain="ink", region="sgp"}[1h]) - slug: ink-quicknode - name: Ink (QuickNode) + name: QuickNode tag: Kraken's Ink Chain second official public RPC, QuickNode-backed - formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to Ink (QuickNode)'s no-key ink RPC endpoint." + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to QuickNode's no-key ink RPC endpoint." queries: p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="ink-quicknode", chain="ink"}) p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="ink-quicknode", chain="ink"}) diff --git a/harnesses/rpc-capabilities/cmd/script/config.go b/harnesses/rpc-capabilities/cmd/script/config.go index a15a0163..dc344dcd 100644 --- a/harnesses/rpc-capabilities/cmd/script/config.go +++ b/harnesses/rpc-capabilities/cmd/script/config.go @@ -584,8 +584,8 @@ func chains() []Chain { Slug: "ink", Name: "Ink", Providers: []Provider{ - {Slug: "ink-official", Name: "Ink (Gelato)", URL: envDefault("RPC_URL_INK_OFFICIAL", "https://rpc-gel.inkonchain.com")}, - {Slug: "ink-quicknode", Name: "Ink (QuickNode)", URL: envDefault("RPC_URL_INK_QUICKNODE", "https://rpc-qnd.inkonchain.com")}, + {Slug: "ink-official", Name: "Gelato", URL: envDefault("RPC_URL_INK_OFFICIAL", "https://rpc-gel.inkonchain.com")}, + {Slug: "ink-quicknode", Name: "QuickNode", URL: envDefault("RPC_URL_INK_QUICKNODE", "https://rpc-qnd.inkonchain.com")}, {Slug: "drpc", Name: "dRPC", URL: envDefault("RPC_URL_INK_DRPC", "https://ink.drpc.org")}, {Slug: "tenderly", Name: "Tenderly Gateway", URL: envDefault("RPC_URL_INK_TENDERLY", "https://ink.gateway.tenderly.co")}, }, diff --git a/public/logos/gelato.svg b/public/logos/gelato.svg new file mode 100644 index 00000000..b974ede8 --- /dev/null +++ b/public/logos/gelato.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/data/provider-registry.ts b/src/data/provider-registry.ts index 85ea6163..4b4cb366 100644 --- a/src/data/provider-registry.ts +++ b/src/data/provider-registry.ts @@ -726,6 +726,12 @@ export const PROVIDER_REGISTRY: Record = { "ThirdWeb operates a keyless public RPC gateway at `.rpc.thirdweb.com` covering 2000+ EVM chains via chain-id routing. Free tier is rate-limited per IP with no signup; paid tiers unlock higher throughput and dedicated endpoints. Used keyless across 13 chains on the RPC latency cluster (arbitrum, ethereum, polygon, optimism, base, bnb, avalanche, linea, worldchain, kaia, ink, opbnb + more).", twitter: "@thirdweb", }, + gelato: { + url: "https://gelato.network", + description: + "Gelato Network runs a rollup-as-a-service platform and operates RPC infrastructure for OP Stack + Arbitrum Orbit chains it hosts. On the RPC latency cluster it appears as the Kraken Ink chain's Gelato-backed official endpoint (`rpc-gel.inkonchain.com`), running active-active alongside the QuickNode-backed sibling.", + twitter: "@gelatonetwork", + }, infura: { url: "https://www.infura.io", description: diff --git a/src/lib/logo-manifest.ts b/src/lib/logo-manifest.ts index 1765bb85..80b14a38 100644 --- a/src/lib/logo-manifest.ts +++ b/src/lib/logo-manifest.ts @@ -107,6 +107,7 @@ const RAW: Record = { chainstack: "/logos/chainstack.svg", drpc: "/logos/drpc.webp", thirdweb: "/logos/thirdweb.png", + gelato: "/logos/gelato.svg", "1rpc": "/logos/1rpc.svg", cloudflare: "/logos/cloudflare.svg", parity: "/logos/parity.png", @@ -426,8 +427,8 @@ const ALIASES: Record = { "injective-official": "injective", "worldchain-official": "world-chain", "kaia-official": "kaia", - "ink-official": "ink", - "ink-quicknode": "ink", + "ink-official": "gelato", + "ink-quicknode": "quicknode", "opbnb-official": "opbnb", hood: "robinhood", coin: "coinbase",