diff --git a/public/logos/parity.png b/public/logos/parity.png new file mode 100644 index 00000000..3d06da06 Binary files /dev/null and b/public/logos/parity.png differ diff --git a/public/logos/polkadot.png b/public/logos/polkadot.png new file mode 100644 index 00000000..23b3782e Binary files /dev/null and b/public/logos/polkadot.png differ diff --git a/src/data/provider-registry.ts b/src/data/provider-registry.ts index 9e23d722..18dda033 100644 --- a/src/data/provider-registry.ts +++ b/src/data/provider-registry.ts @@ -579,6 +579,24 @@ export const PROVIDER_REGISTRY: Record = { }, // ─── Public RPC providers ───────────────────────────────────── + parity: { + url: "https://www.parity.io", + description: + "Parity Technologies is the primary implementation shop behind Polkadot and Substrate, and the operator of the reference public relay RPC at rpc.polkadot.io. Also builds the Polkadot-JS Apps UI, Kusama tooling, and enterprise Substrate deployments.", + twitter: "@ParityTech", + }, + "polkadot-official": { + url: "https://rpc.polkadot.io", + description: + "Parity-operated Polkadot relay-chain public RPC endpoint (rpc.polkadot.io). Substrate JSON-RPC (chain_getHeader, state_getRuntimeVersion, system_health), keyless, rate-limited per IP. The reference endpoint any Polkadot integrator points at before wiring a dedicated node.", + twitter: "@ParityTech", + }, + dwellir: { + url: "https://www.dwellir.com", + description: + "Web3 Foundation grantee running production-grade Substrate infrastructure across globally distributed bare-metal servers. Keyless public gateways on Polkadot, Kusama and every major parachain, plus dedicated node service.", + twitter: "@dwellir", + }, "monad-official": { url: "https://docs.monad.xyz", description: diff --git a/src/lib/chains.ts b/src/lib/chains.ts index 48da5cd7..2e1fed7b 100644 --- a/src/lib/chains.ts +++ b/src/lib/chains.ts @@ -309,6 +309,14 @@ export const CHAINS: ChainEntry[] = [ description: "Sony Block Solutions OP Stack rollup in the Optimism Superchain, 2 s blocks, consumer and entertainment focus.", }, + { + slug: "polkadot", + label: "Polkadot", + category: "L1", + nativeSymbol: "DOT", + description: + "Substrate-based relay chain coordinating a parachain ecosystem via shared security. GRANDPA finality with BABE block production, ~6 s block time.", + }, ]; export const CHAIN_BY_SLUG = new Map(CHAINS.map((c) => [c.slug, c])); diff --git a/src/lib/logo-manifest.ts b/src/lib/logo-manifest.ts index a8b30069..a81714b3 100644 --- a/src/lib/logo-manifest.ts +++ b/src/lib/logo-manifest.ts @@ -108,6 +108,8 @@ const RAW: Record = { drpc: "/logos/drpc.webp", "1rpc": "/logos/1rpc.svg", cloudflare: "/logos/cloudflare.svg", + parity: "/logos/parity.png", + polkadot: "/logos/polkadot.png", "base-official": "/logos/base.jpeg", binance: "/logos/binance.png", lava: "/logos/lava.webp", @@ -380,6 +382,7 @@ const ALIASES: Record = { // Long-tail RPC cluster (055-066). "sonic-official": "sonic", "monad-official": "monad", + "polkadot-official": "parity", hood: "robinhood", coin: "coinbase", "megaeth-official": "megaeth", diff --git a/src/lib/providers.ts b/src/lib/providers.ts index cd65780e..acd98747 100644 --- a/src/lib/providers.ts +++ b/src/lib/providers.ts @@ -40,6 +40,11 @@ const PRODUCT_ALIASES: Record = { "avalanche-official": "avalanche", "base-official": "base", "optimism-official": "optimism", + // Polkadot's "official" endpoint is Parity-operated, so the product + // page for the endpoint slug collapses to the Parity brand rather + // than a synthetic "Polkadot Foundation RPC" entry (there is no such + // separate operator). + "polkadot-official": "parity", // Oracle pair → underlying chain / asset "eth-usd": "ethereum", "sol-usd": "solana", @@ -74,6 +79,10 @@ const CANONICAL_NAMES: Record = { arbitrum: "Arbitrum", base: "Base", optimism: "Optimism", + polkadot: "Polkadot", + parity: "Parity", + onfinality: "OnFinality", + dwellir: "Dwellir", // NFT bench 040 providers — explicit brand casing. opensea: "OpenSea", // Other brand casings frequently referenced.