From 10d952b02cb2e7f81b2bf5e06bd7c13679da52ce Mon Sep 17 00:00:00 2001 From: Augusto Lemble Date: Tue, 21 Apr 2026 09:21:56 -0300 Subject: [PATCH 1/9] feat(scripts): probe and drop unresponsive RPCs in import-rpcs Adds a JSON-RPC eth_blockNumber probe with a 10s per-attempt timeout and a 60s total budget per endpoint; endpoints that never respond are filtered out before writing. --- scripts/import-rpcs.ts | 57 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 54 insertions(+), 3 deletions(-) diff --git a/scripts/import-rpcs.ts b/scripts/import-rpcs.ts index 375babc631..a254e926c5 100644 --- a/scripts/import-rpcs.ts +++ b/scripts/import-rpcs.ts @@ -47,6 +47,47 @@ interface RpcEndpoint { isPublic: boolean; } +const REQUEST_TIMEOUT_MS = 10_000; +const TOTAL_BUDGET_MS = 60_000; + +async function measureLatency(url: string): Promise { + const deadline = Date.now() + TOTAL_BUDGET_MS; + const body = JSON.stringify({ + jsonrpc: "2.0", + id: 1, + method: "eth_blockNumber", + params: [], + }); + + while (Date.now() < deadline) { + const remaining = deadline - Date.now(); + const timeout = Math.min(REQUEST_TIMEOUT_MS, remaining); + if (timeout <= 0) break; + + const controller = new AbortController(); + const timer = setTimeout(() => controller.abort(), timeout); + const start = Date.now(); + + try { + const res = await fetch(url, { + method: "POST", + headers: { "content-type": "application/json" }, + body, + signal: controller.signal, + }); + clearTimeout(timer); + if (!res.ok) continue; + const json = (await res.json()) as { result?: string; error?: unknown }; + if (json.error || typeof json.result !== "string") continue; + return Date.now() - start; + } catch { + clearTimeout(timer); + } + } + + return null; +} + // Map known RPC providers by URL patterns function getProvider(url: string): string | undefined { const patterns: Record = { @@ -152,8 +193,17 @@ async function importFromChainlist(): Promise { return true; }); + // Probe endpoints in parallel; drop any that don't respond within budget + const latencies = await Promise.all( + uniqueEndpoints.map((ep) => measureLatency(ep.url)), + ); + const liveEndpoints = uniqueEndpoints.filter( + (_, i) => latencies[i] !== null, + ); + const dead = uniqueEndpoints.length - liveEndpoints.length; + // Sort: prefer tracking "none" first, then by provider name - uniqueEndpoints.sort((a, b) => { + liveEndpoints.sort((a, b) => { const trackingOrder = { none: 0, limited: 1, unspecified: 2, yes: 3 }; const aOrder = trackingOrder[a.tracking as keyof typeof trackingOrder] ?? 2; @@ -167,15 +217,16 @@ async function importFromChainlist(): Promise { const output = { networkId, updatedAt: new Date().toISOString().split("T")[0], - endpoints: uniqueEndpoints, + endpoints: liveEndpoints, }; const filePath = path.join(RPCS_DIR, `${chainId}.json`); fs.writeFileSync(filePath, `${JSON.stringify(output, null, 2)}\n`); const dupes = endpoints.length - uniqueEndpoints.length; const dupeNote = dupes > 0 ? ` (${dupes} duplicates removed)` : ""; + const deadNote = dead > 0 ? ` (${dead} unresponsive removed)` : ""; console.log( - ` Chain ${chainId} (${network.name}): Imported ${uniqueEndpoints.length} endpoints${dupeNote}`, + ` Chain ${chainId} (${network.name}): Imported ${liveEndpoints.length} endpoints${dupeNote}${deadNote}`, ); } From 9f0e9ae2a77ae57a2012d01137b7fb21f987272b Mon Sep 17 00:00:00 2001 From: Augusto Lemble Date: Tue, 21 Apr 2026 09:22:01 -0300 Subject: [PATCH 2/9] chore(rpcs): refresh EVM endpoints, removing 124 unresponsive Re-imports RPC endpoints from chainlist.org for all 9 EVM chains and drops endpoints that did not respond within the 60s probe budget. --- data/rpcs/evm/1.json | 240 +----------------------------------- data/rpcs/evm/10.json | 93 +------------- data/rpcs/evm/11155111.json | 93 +------------- data/rpcs/evm/137.json | 114 +---------------- data/rpcs/evm/42161.json | 72 +---------- data/rpcs/evm/43114.json | 65 +++++++--- data/rpcs/evm/56.json | 107 +--------------- data/rpcs/evm/8453.json | 79 +----------- data/rpcs/evm/97.json | 44 +------ 9 files changed, 58 insertions(+), 849 deletions(-) diff --git a/data/rpcs/evm/1.json b/data/rpcs/evm/1.json index 262df985ef..fa0c8650ec 100644 --- a/data/rpcs/evm/1.json +++ b/data/rpcs/evm/1.json @@ -1,6 +1,6 @@ { "networkId": "eip155:1", - "updatedAt": "2026-02-22", + "updatedAt": "2026-04-21", "endpoints": [ { "url": "https://0xrpc.io/eth", @@ -65,20 +65,6 @@ "provider": "MEV Blocker", "isPublic": true }, - { - "url": "https://endpoints.omniatech.io/v1/eth/mainnet/public", - "tracking": "none", - "isOpenSource": false, - "provider": "Omnia", - "isPublic": true - }, - { - "url": "https://rpc.payload.de", - "tracking": "none", - "isOpenSource": false, - "provider": "Payload", - "isPublic": true - }, { "url": "https://eth.api.pocket.network", "tracking": "none", @@ -100,13 +86,6 @@ "provider": "Stakely", "isPublic": true }, - { - "url": "https://api.stateless.solutions/ethereum/v1/demo", - "tracking": "none", - "isOpenSource": false, - "provider": "Stateless", - "isPublic": true - }, { "url": "https://go.getblock.io/aefd01aa907c4805ba3c00a9e5b48c6b", "tracking": "none", @@ -114,62 +93,6 @@ "provider": "Unknown", "isPublic": true }, - { - "url": "https://rpc.builder0x69.io", - "tracking": "none", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://api.zmok.io/mainnet/oaen6dy8ff6hju9k", - "tracking": "none", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://rpc.lokibuilder.xyz/wallet", - "tracking": "none", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://rpc.polysplit.cloud/v1/chain/1", - "tracking": "none", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://rpc.nodifi.ai/api/rpc/free", - "tracking": "none", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://rpc.public.curie.radiumblock.co/http/ethereum", - "tracking": "none", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://rpc.public.curie.radiumblock.co/ws/ethereum", - "tracking": "none", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://rpc.fullsend.to", - "tracking": "none", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, { "url": "https://eth-mainnet.public.blastapi.io", "tracking": "limited", @@ -184,13 +107,6 @@ "provider": "BlockPI", "isPublic": true }, - { - "url": "https://eth-mainnet.diamondswap.org/rpc", - "tracking": "limited", - "isOpenSource": false, - "provider": "DiamondSwap", - "isPublic": true - }, { "url": "https://ethereum-public.nodies.app", "tracking": "limited", @@ -205,55 +121,6 @@ "provider": "OnFinality", "isPublic": true }, - { - "url": "https://rpc.poolz.finance/eth", - "tracking": "limited", - "isOpenSource": false, - "provider": "Poolz", - "isPublic": true - }, - { - "url": "https://public.stackup.sh/api/v1/node/ethereum-mainnet", - "tracking": "limited", - "isOpenSource": false, - "provider": "Stackup", - "isPublic": true - }, - { - "url": "https://ethereum.therpc.io", - "tracking": "limited", - "isOpenSource": false, - "provider": "TheRPC", - "isPublic": true - }, - { - "url": "https://eth-mainnet-public.unifra.io", - "tracking": "limited", - "isOpenSource": false, - "provider": "Unifra", - "isPublic": true - }, - { - "url": "https://rpc.graffiti.farm", - "tracking": "limited", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://eth-mainnet.4everland.org/v1/37fa9972c1b1cd5fab542c7bdd4cde2f", - "tracking": "limited", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://rpc.owlracle.info/eth/70d38ce1826c4a60bb2a8e05a6c8b20f", - "tracking": "limited", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, { "url": "https://api-ethereum-mainnet-reth.n.dwellir.com/2ccf18bf-2916-4198-8856-42172854353c", "tracking": "limited", @@ -303,13 +170,6 @@ "provider": "MEV Blocker", "isPublic": true }, - { - "url": "https://rpc.notadegen.com/eth", - "tracking": "unspecified", - "isOpenSource": false, - "provider": "NotADegen", - "isPublic": true - }, { "url": "https://ethereum.rpc.subquery.network/public", "tracking": "unspecified", @@ -317,27 +177,6 @@ "provider": "SubQuery", "isPublic": true }, - { - "url": "https://api.securerpc.com/v1", - "tracking": "unspecified", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://mainnet.eth.cloud.ava.do", - "tracking": "unspecified", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://ethereumnodelight.app.runonflux.io", - "tracking": "unspecified", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, { "url": "https://eth-mainnet.rpcfast.com?api_key=xbhWBI1Wkguk8SNMu1bvvLurPGLXmgwYeC4S6g2H7WdwFigZSmPWVZRxrskEQwIf", "tracking": "unspecified", @@ -345,41 +184,6 @@ "provider": "Unknown", "isPublic": true }, - { - "url": "https://main-light.eth.linkpool.io", - "tracking": "unspecified", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://api.mycryptoapi.com/eth", - "tracking": "unspecified", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://rpc.blocknative.com/boost", - "tracking": "unspecified", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://eth-mainnet.g.alchemy.com/v2/demo", - "tracking": "yes", - "isOpenSource": false, - "provider": "Alchemy", - "isPublic": true - }, - { - "url": "https://rpc.ankr.com/eth/c4cc6a8c87ec30258076de433ab2cf3d834228aae3fc4d76087873e4fea11635", - "tracking": "yes", - "isOpenSource": false, - "provider": "Ankr", - "isPublic": true - }, { "url": "https://mainnet.gateway.tenderly.co", "tracking": "yes", @@ -387,20 +191,6 @@ "provider": "Tenderly", "isPublic": true }, - { - "url": "https://virtual.mainnet.rpc.tenderly.co/7355b215-ef17-4e3e-8f64-d494284ef18a", - "tracking": "yes", - "isOpenSource": false, - "provider": "Tenderly", - "isPublic": true - }, - { - "url": "https://virtual.mainnet.rpc.tenderly.co/5804dcf7-70e6-4988-b2b0-3672193e0c91", - "tracking": "yes", - "isOpenSource": false, - "provider": "Tenderly", - "isPublic": true - }, { "url": "https://gateway.tenderly.co/public/mainnet", "tracking": "yes", @@ -443,13 +233,6 @@ "provider": "Unknown", "isPublic": true }, - { - "url": "https://cloudflare-eth.com", - "tracking": "yes", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, { "url": "https://openapi.bitstack.com/v1/wNFxbiJyQsSeLrX8RRCHi7NpRxrlErZk/DjShIqLishPCTB9HiMkPHXjUM9CNM9Na/ETH/mainnet", "tracking": "yes", @@ -464,27 +247,6 @@ "provider": "Unknown", "isPublic": true }, - { - "url": "https://rpc.chain49.com/ethereum?api_key=14d1a8b86d8a4b4797938332394203dc", - "tracking": "yes", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://services.tokenview.io/vipapi/nodeservice/eth?apikey=qVHq2o6jpaakcw3lRstl", - "tracking": "yes", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://eth.nodeconnect.org", - "tracking": "yes", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, { "url": "https://ethereum-mainnet.gateway.tatum.io", "tracking": "yes", diff --git a/data/rpcs/evm/10.json b/data/rpcs/evm/10.json index e2f01b9e6f..9498b4da77 100644 --- a/data/rpcs/evm/10.json +++ b/data/rpcs/evm/10.json @@ -1,6 +1,6 @@ { "networkId": "eip155:10", - "updatedAt": "2026-02-22", + "updatedAt": "2026-04-21", "endpoints": [ { "url": "https://1rpc.io/op", @@ -23,27 +23,6 @@ "provider": "FastNode", "isPublic": true }, - { - "url": "https://optimism.meowrpc.com", - "tracking": "none", - "isOpenSource": false, - "provider": "MeowRPC", - "isPublic": true - }, - { - "url": "https://endpoints.omniatech.io/v1/op/mainnet/public", - "tracking": "none", - "isOpenSource": false, - "provider": "Omnia", - "isPublic": true - }, - { - "url": "https://optimism.api.pocket.network", - "tracking": "none", - "isOpenSource": false, - "provider": "Pocket Network", - "isPublic": true - }, { "url": "https://optimism-rpc.publicnode.com", "tracking": "none", @@ -51,20 +30,6 @@ "provider": "PublicNode", "isPublic": true }, - { - "url": "https://api.stateless.solutions/optimism/v1/demo", - "tracking": "none", - "isOpenSource": false, - "provider": "Stateless", - "isPublic": true - }, - { - "url": "https://optimism-mainnet.public.blastapi.io", - "tracking": "limited", - "isOpenSource": false, - "provider": "Blast", - "isPublic": true - }, { "url": "https://optimism.public.blockpi.network/v1/rpc/public", "tracking": "limited", @@ -86,34 +51,6 @@ "provider": "OnFinality", "isPublic": true }, - { - "url": "https://public.stackup.sh/api/v1/node/optimism-mainnet", - "tracking": "limited", - "isOpenSource": false, - "provider": "Stackup", - "isPublic": true - }, - { - "url": "https://optimism.therpc.io", - "tracking": "limited", - "isOpenSource": false, - "provider": "TheRPC", - "isPublic": true - }, - { - "url": "https://opt-mainnet.4everland.org/v1/37fa9972c1b1cd5fab542c7bdd4cde2f", - "tracking": "limited", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://rpc.owlracle.info/opt/70d38ce1826c4a60bb2a8e05a6c8b20f", - "tracking": "limited", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, { "url": "https://api-optimism-mainnet-archive.n.dwellir.com/2ccf18bf-2916-4198-8856-42172854353c", "tracking": "limited", @@ -149,13 +86,6 @@ "provider": "SubQuery", "isPublic": true }, - { - "url": "https://opt-mainnet.g.alchemy.com/v2/demo", - "tracking": "yes", - "isOpenSource": false, - "provider": "Alchemy", - "isPublic": true - }, { "url": "https://optimism.gateway.tenderly.co", "tracking": "yes", @@ -170,13 +100,6 @@ "provider": "Tenderly", "isPublic": true }, - { - "url": "https://rpc.optimism.gateway.fm", - "tracking": "yes", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, { "url": "https://optimism-mainnet.gateway.tatum.io", "tracking": "yes", @@ -190,20 +113,6 @@ "isOpenSource": false, "provider": "Unknown", "isPublic": true - }, - { - "url": "https://rpc.buildbear.io/esquivelfabian", - "tracking": "yes", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://optimism.lava.build", - "tracking": "yes", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true } ] } diff --git a/data/rpcs/evm/11155111.json b/data/rpcs/evm/11155111.json index 7ec17eabb8..b486f30c11 100644 --- a/data/rpcs/evm/11155111.json +++ b/data/rpcs/evm/11155111.json @@ -1,6 +1,6 @@ { "networkId": "eip155:11155111", - "updatedAt": "2026-02-22", + "updatedAt": "2026-04-21", "endpoints": [ { "url": "https://0xrpc.io/sep", @@ -16,13 +16,6 @@ "provider": "1RPC", "isPublic": true }, - { - "url": "https://endpoints.omniatech.io/v1/eth/sepolia/public", - "tracking": "none", - "isOpenSource": false, - "provider": "Omnia", - "isPublic": true - }, { "url": "https://eth-sepolia-testnet.api.pocket.network", "tracking": "none", @@ -37,13 +30,6 @@ "provider": "PublicNode", "isPublic": true }, - { - "url": "https://eth-sepolia.public.blastapi.io", - "tracking": "limited", - "isOpenSource": false, - "provider": "Blast", - "isPublic": true - }, { "url": "https://ethereum-sepolia-public.nodies.app", "tracking": "limited", @@ -58,41 +44,6 @@ "provider": "OnFinality", "isPublic": true }, - { - "url": "https://public.stackup.sh/api/v1/node/ethereum-sepolia", - "tracking": "limited", - "isOpenSource": false, - "provider": "Stackup", - "isPublic": true - }, - { - "url": "https://ethereum-sepolia.therpc.io", - "tracking": "limited", - "isOpenSource": false, - "provider": "TheRPC", - "isPublic": true - }, - { - "url": "https://eth-sepolia-public.unifra.io", - "tracking": "limited", - "isOpenSource": false, - "provider": "Unifra", - "isPublic": true - }, - { - "url": "https://eth-testnet.4everland.org/v1/37fa9972c1b1cd5fab542c7bdd4cde2f", - "tracking": "limited", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://rpc.owlracle.info/sepolia/70d38ce1826c4a60bb2a8e05a6c8b20f", - "tracking": "limited", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, { "url": "https://rpc.sentio.xyz/sepolia", "tracking": "limited", @@ -107,13 +58,6 @@ "provider": "ZAN", "isPublic": true }, - { - "url": "https://eth-sepolia.g.alchemy.com/v2/WddzdzI2o9S3COdT73d5w6AIogbKq4X-", - "tracking": "unspecified", - "isOpenSource": false, - "provider": "Alchemy", - "isPublic": true - }, { "url": "https://sepolia.drpc.org", "tracking": "unspecified", @@ -121,27 +65,6 @@ "provider": "dRPC", "isPublic": true }, - { - "url": "https://rpc.notadegen.com/eth/sepolia", - "tracking": "unspecified", - "isOpenSource": false, - "provider": "NotADegen", - "isPublic": true - }, - { - "url": "https://rpc.sepolia.org", - "tracking": "unspecified", - "isOpenSource": false, - "provider": "Sepolia", - "isPublic": true - }, - { - "url": "https://rpc2.sepolia.org", - "tracking": "unspecified", - "isOpenSource": false, - "provider": "Sepolia", - "isPublic": true - }, { "url": "https://ethereum-sepolia.rpc.subquery.network/public", "tracking": "unspecified", @@ -177,20 +100,6 @@ "provider": "Tenderly", "isPublic": true }, - { - "url": "https://sphinx.shardeum.org", - "tracking": "yes", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://dapps.shardeum.org", - "tracking": "yes", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, { "url": "https://ethereum-sepolia.gateway.tatum.io", "tracking": "yes", diff --git a/data/rpcs/evm/137.json b/data/rpcs/evm/137.json index 7f40fcb09b..ce529d2728 100644 --- a/data/rpcs/evm/137.json +++ b/data/rpcs/evm/137.json @@ -1,6 +1,6 @@ { "networkId": "eip155:137", - "updatedAt": "2026-02-22", + "updatedAt": "2026-04-21", "endpoints": [ { "url": "https://1rpc.io/matic", @@ -16,20 +16,6 @@ "provider": "dRPC", "isPublic": true }, - { - "url": "https://polygon.meowrpc.com", - "tracking": "none", - "isOpenSource": false, - "provider": "MeowRPC", - "isPublic": true - }, - { - "url": "https://endpoints.omniatech.io/v1/matic/mainnet/public", - "tracking": "none", - "isOpenSource": false, - "provider": "Omnia", - "isPublic": true - }, { "url": "https://poly.api.pocket.network", "tracking": "none", @@ -44,20 +30,6 @@ "provider": "PublicNode", "isPublic": true }, - { - "url": "https://rpc.ankr.com/polygon", - "tracking": "limited", - "isOpenSource": false, - "provider": "Ankr", - "isPublic": true - }, - { - "url": "https://polygon-mainnet.public.blastapi.io", - "tracking": "limited", - "isOpenSource": false, - "provider": "Blast", - "isPublic": true - }, { "url": "https://polygon-public.nodies.app", "tracking": "limited", @@ -72,41 +44,6 @@ "provider": "OnFinality", "isPublic": true }, - { - "url": "https://rpc.poolz.finance/polygon", - "tracking": "limited", - "isOpenSource": false, - "provider": "Poolz", - "isPublic": true - }, - { - "url": "https://public.stackup.sh/api/v1/node/polygon-mainnet", - "tracking": "limited", - "isOpenSource": false, - "provider": "Stackup", - "isPublic": true - }, - { - "url": "https://polygon.therpc.io", - "tracking": "limited", - "isOpenSource": false, - "provider": "TheRPC", - "isPublic": true - }, - { - "url": "https://polygon-mainnet.4everland.org/v1/37fa9972c1b1cd5fab542c7bdd4cde2f", - "tracking": "limited", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://rpc.owlracle.info/poly/70d38ce1826c4a60bb2a8e05a6c8b20f", - "tracking": "limited", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, { "url": "https://rpc.sentio.xyz/matic", "tracking": "limited", @@ -128,13 +65,6 @@ "provider": "SubQuery", "isPublic": true }, - { - "url": "https://polygon-rpc.com", - "tracking": "unspecified", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, { "url": "https://polygon-mainnet.rpcfast.com?api_key=xbhWBI1Wkguk8SNMu1bvvLurPGLXmgwYeC4S6g2H7WdwFigZSmPWVZRxrskEQwIf", "tracking": "unspecified", @@ -142,41 +72,6 @@ "provider": "Unknown", "isPublic": true }, - { - "url": "https://rpc-mainnet.matic.network", - "tracking": "unspecified", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://matic-mainnet.chainstacklabs.com", - "tracking": "unspecified", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://rpc-mainnet.maticvigil.com", - "tracking": "unspecified", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://matic-mainnet-full-rpc.bwarelabs.com", - "tracking": "unspecified", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://polygon-mainnet.g.alchemy.com/v2/demo", - "tracking": "yes", - "isOpenSource": false, - "provider": "Alchemy", - "isPublic": true - }, { "url": "https://polygon.gateway.tenderly.co", "tracking": "yes", @@ -205,13 +100,6 @@ "provider": "Unknown", "isPublic": true }, - { - "url": "https://polygon.rpc.blxrbdn.com", - "tracking": "yes", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, { "url": "https://polygon-mainnet.gateway.tatum.io", "tracking": "yes", diff --git a/data/rpcs/evm/42161.json b/data/rpcs/evm/42161.json index 22bfaf8859..4a66101585 100644 --- a/data/rpcs/evm/42161.json +++ b/data/rpcs/evm/42161.json @@ -1,6 +1,6 @@ { "networkId": "eip155:42161", - "updatedAt": "2026-02-22", + "updatedAt": "2026-04-21", "endpoints": [ { "url": "https://1rpc.io/arb", @@ -30,13 +30,6 @@ "provider": "MeowRPC", "isPublic": true }, - { - "url": "https://endpoints.omniatech.io/v1/arbitrum/one/public", - "tracking": "none", - "isOpenSource": false, - "provider": "Omnia", - "isPublic": true - }, { "url": "https://arb-one.api.pocket.network", "tracking": "none", @@ -51,13 +44,6 @@ "provider": "PublicNode", "isPublic": true }, - { - "url": "https://api.stateless.solutions/arbitrum-one/v1/demo", - "tracking": "none", - "isOpenSource": false, - "provider": "Stateless", - "isPublic": true - }, { "url": "https://arbitrum-one.public.blastapi.io", "tracking": "limited", @@ -86,41 +72,6 @@ "provider": "OnFinality", "isPublic": true }, - { - "url": "https://rpc.poolz.finance/arbitrum", - "tracking": "limited", - "isOpenSource": false, - "provider": "Poolz", - "isPublic": true - }, - { - "url": "https://public.stackup.sh/api/v1/node/arbitrum-one", - "tracking": "limited", - "isOpenSource": false, - "provider": "Stackup", - "isPublic": true - }, - { - "url": "https://arbitrum.therpc.io", - "tracking": "limited", - "isOpenSource": false, - "provider": "TheRPC", - "isPublic": true - }, - { - "url": "https://arb-mainnet-public.unifra.io", - "tracking": "limited", - "isOpenSource": false, - "provider": "Unifra", - "isPublic": true - }, - { - "url": "https://rpc.owlracle.info/arb/70d38ce1826c4a60bb2a8e05a6c8b20f", - "tracking": "limited", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, { "url": "https://api-arbitrum-mainnet-archive.n.dwellir.com/2ccf18bf-2916-4198-8856-42172854353c", "tracking": "limited", @@ -156,20 +107,6 @@ "provider": "SubQuery", "isPublic": true }, - { - "url": "https://arb-mainnet.g.alchemy.com/v2/demo", - "tracking": "yes", - "isOpenSource": false, - "provider": "Alchemy", - "isPublic": true - }, - { - "url": "https://rpc.ankr.com/arbitrum/c4cc6a8c87ec30258076de433ab2cf3d834228aae3fc4d76087873e4fea11635", - "tracking": "yes", - "isOpenSource": false, - "provider": "Ankr", - "isPublic": true - }, { "url": "https://arbitrum.gateway.tenderly.co", "tracking": "yes", @@ -177,13 +114,6 @@ "provider": "Tenderly", "isPublic": true }, - { - "url": "https://rpc.arb1.arbitrum.gateway.fm", - "tracking": "yes", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, { "url": "https://arb1.lava.build", "tracking": "yes", diff --git a/data/rpcs/evm/43114.json b/data/rpcs/evm/43114.json index a543435b5e..5151c5e756 100644 --- a/data/rpcs/evm/43114.json +++ b/data/rpcs/evm/43114.json @@ -1,47 +1,82 @@ { "networkId": "eip155:43114", - "updatedAt": "2026-03-04", + "updatedAt": "2026-04-21", "endpoints": [ { - "url": "https://api.avax.network/ext/bc/C/rpc", + "url": "https://1rpc.io/avax/c", "tracking": "none", "isOpenSource": false, - "provider": "Avalanche", + "provider": "1RPC", "isPublic": true }, { - "url": "https://avalanche-c-chain-rpc.publicnode.com", + "url": "https://avalanche.drpc.org", "tracking": "none", "isOpenSource": false, - "provider": "PublicNode", + "provider": "dRPC", "isPublic": true }, { - "url": "https://avax.meowrpc.com", + "url": "https://avax.api.pocket.network", "tracking": "none", "isOpenSource": false, - "provider": "MeowRPC", + "provider": "Pocket Network", "isPublic": true }, { - "url": "https://avalanche.drpc.org", + "url": "https://avalanche-c-chain-rpc.publicnode.com", "tracking": "none", "isOpenSource": false, - "provider": "dRPC", + "provider": "PublicNode", "isPublic": true }, { - "url": "https://1rpc.io/avax/c", - "tracking": "none", + "url": "https://avalanche-public.nodies.app/ext/bc/C/rpc", + "tracking": "limited", "isOpenSource": false, - "provider": "1RPC", + "provider": "Nodies", "isPublic": true }, { - "url": "https://avax-pokt.nodies.app/ext/bc/C/rpc", - "tracking": "none", + "url": "https://avalanche.api.onfinality.io/public/ext/bc/C/rpc", + "tracking": "limited", "isOpenSource": false, - "provider": "Nodies", + "provider": "OnFinality", + "isPublic": true + }, + { + "url": "https://rpc.sentio.xyz/avalanche", + "tracking": "limited", + "isOpenSource": false, + "provider": "Unknown", + "isPublic": true + }, + { + "url": "https://api.zan.top/avax-mainnet/ext/bc/C/rpc", + "tracking": "limited", + "isOpenSource": false, + "provider": "ZAN", + "isPublic": true + }, + { + "url": "https://api.avax.network/ext/bc/C/rpc", + "tracking": "unspecified", + "isOpenSource": false, + "provider": "Unknown", + "isPublic": true + }, + { + "url": "https://avalanche-mainnet.gateway.tenderly.co", + "tracking": "yes", + "isOpenSource": false, + "provider": "Tenderly", + "isPublic": true + }, + { + "url": "https://spectrum-01.simplystaking.xyz/avalanche-mn-rpc/ext/bc/C/rpc", + "tracking": "yes", + "isOpenSource": false, + "provider": "Unknown", "isPublic": true } ] diff --git a/data/rpcs/evm/56.json b/data/rpcs/evm/56.json index 49f24b9cbb..c209a7ccd7 100644 --- a/data/rpcs/evm/56.json +++ b/data/rpcs/evm/56.json @@ -1,6 +1,6 @@ { "networkId": "eip155:56", - "updatedAt": "2026-02-22", + "updatedAt": "2026-04-21", "endpoints": [ { "url": "https://1rpc.io/bnb", @@ -30,13 +30,6 @@ "provider": "FastNode", "isPublic": true }, - { - "url": "https://binance.llamarpc.com", - "tracking": "none", - "isOpenSource": true, - "provider": "LlamaNodes", - "isPublic": true - }, { "url": "https://bsc.meowrpc.com", "tracking": "none", @@ -44,13 +37,6 @@ "provider": "MeowRPC", "isPublic": true }, - { - "url": "https://endpoints.omniatech.io/v1/bsc/mainnet/public", - "tracking": "none", - "isOpenSource": false, - "provider": "Omnia", - "isPublic": true - }, { "url": "https://bsc.api.pocket.network", "tracking": "none", @@ -65,13 +51,6 @@ "provider": "PublicNode", "isPublic": true }, - { - "url": "https://rpc.polysplit.cloud/v1/chain/56", - "tracking": "none", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, { "url": "https://rpc-bsc.48.club", "tracking": "limited", @@ -93,13 +72,6 @@ "provider": "Blast", "isPublic": true }, - { - "url": "https://bsc.blockpi.network/v1/rpc/private", - "tracking": "limited", - "isOpenSource": false, - "provider": "BlockPI", - "isPublic": true - }, { "url": "https://binance-smart-chain-public.nodies.app", "tracking": "limited", @@ -114,27 +86,6 @@ "provider": "OnFinality", "isPublic": true }, - { - "url": "https://rpc.poolz.finance/bsc", - "tracking": "limited", - "isOpenSource": false, - "provider": "Poolz", - "isPublic": true - }, - { - "url": "https://public.stackup.sh/api/v1/node/bsc-mainnet", - "tracking": "limited", - "isOpenSource": false, - "provider": "Stackup", - "isPublic": true - }, - { - "url": "https://bsc.therpc.io", - "tracking": "limited", - "isOpenSource": false, - "provider": "TheRPC", - "isPublic": true - }, { "url": "https://go.getblock.io/cc778cdbdf5c4b028ec9456e0e6c0cf3", "tracking": "limited", @@ -142,20 +93,6 @@ "provider": "Unknown", "isPublic": true }, - { - "url": "https://bsc-mainnet.4everland.org/v1/37fa9972c1b1cd5fab542c7bdd4cde2f", - "tracking": "limited", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://rpc.owlracle.info/bsc/70d38ce1826c4a60bb2a8e05a6c8b20f", - "tracking": "limited", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, { "url": "https://api-bsc-mainnet-full.n.dwellir.com/2ccf18bf-2916-4198-8856-42172854353c", "tracking": "limited", @@ -275,27 +212,6 @@ "provider": "Unknown", "isPublic": true }, - { - "url": "https://bsc-dataseed6.dict.life", - "tracking": "unspecified", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://bscrpc.com", - "tracking": "unspecified", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, - { - "url": "https://bsc.rpcgator.com", - "tracking": "unspecified", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, { "url": "https://bsc-mainnet.rpcfast.com?api_key=xbhWBI1Wkguk8SNMu1bvvLurPGLXmgwYeC4S6g2H7WdwFigZSmPWVZRxrskEQwIf", "tracking": "unspecified", @@ -303,13 +219,6 @@ "provider": "Unknown", "isPublic": true }, - { - "url": "https://nodes.vefinetwork.org/smartchain", - "tracking": "unspecified", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, { "url": "https://bsc-mainnet.nodereal.io/v1/64a9df0874fb4a93b9d0a3849de012d3", "tracking": "yes", @@ -331,26 +240,12 @@ "provider": "Unknown", "isPublic": true }, - { - "url": "https://services.tokenview.io/vipapi/nodeservice/bsc?apikey=gVFJX5OyPdc2kHH7youg", - "tracking": "yes", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, { "url": "https://bsc-mainnet.gateway.tatum.io", "tracking": "yes", "isOpenSource": false, "provider": "Unknown", "isPublic": true - }, - { - "url": "https://public-bsc.nownodes.io", - "tracking": "yes", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true } ] } diff --git a/data/rpcs/evm/8453.json b/data/rpcs/evm/8453.json index d57c683e92..11f1dc8a85 100644 --- a/data/rpcs/evm/8453.json +++ b/data/rpcs/evm/8453.json @@ -1,6 +1,6 @@ { "networkId": "eip155:8453", - "updatedAt": "2026-02-22", + "updatedAt": "2026-04-21", "endpoints": [ { "url": "https://1rpc.io/base", @@ -30,13 +30,6 @@ "provider": "MeowRPC", "isPublic": true }, - { - "url": "https://endpoints.omniatech.io/v1/base/mainnet/public", - "tracking": "none", - "isOpenSource": false, - "provider": "Omnia", - "isPublic": true - }, { "url": "https://base.api.pocket.network", "tracking": "none", @@ -51,13 +44,6 @@ "provider": "PublicNode", "isPublic": true }, - { - "url": "https://rpcbase.hairylabs.io/rpc", - "tracking": "none", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, { "url": "https://base-mainnet.public.blastapi.io", "tracking": "limited", @@ -72,13 +58,6 @@ "provider": "BlockPI", "isPublic": true }, - { - "url": "https://base-mainnet.diamondswap.org/rpc", - "tracking": "limited", - "isOpenSource": false, - "provider": "DiamondSwap", - "isPublic": true - }, { "url": "https://base-public.nodies.app", "tracking": "limited", @@ -86,41 +65,6 @@ "provider": "Nodies", "isPublic": true }, - { - "url": "https://base.api.onfinality.io/public", - "tracking": "limited", - "isOpenSource": false, - "provider": "OnFinality", - "isPublic": true - }, - { - "url": "https://rpc.poolz.finance/base", - "tracking": "limited", - "isOpenSource": false, - "provider": "Poolz", - "isPublic": true - }, - { - "url": "https://public.stackup.sh/api/v1/node/base-mainnet", - "tracking": "limited", - "isOpenSource": false, - "provider": "Stackup", - "isPublic": true - }, - { - "url": "https://base.therpc.io", - "tracking": "limited", - "isOpenSource": false, - "provider": "TheRPC", - "isPublic": true - }, - { - "url": "https://rpc.owlracle.info/base/70d38ce1826c4a60bb2a8e05a6c8b20f", - "tracking": "limited", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, { "url": "https://api-base-mainnet-archive.n.dwellir.com/2ccf18bf-2916-4198-8856-42172854353c", "tracking": "limited", @@ -156,13 +100,6 @@ "provider": "Base", "isPublic": true }, - { - "url": "https://rpc.notadegen.com/base", - "tracking": "unspecified", - "isOpenSource": false, - "provider": "NotADegen", - "isPublic": true - }, { "url": "https://base.rpc.subquery.network/public", "tracking": "unspecified", @@ -170,13 +107,6 @@ "provider": "SubQuery", "isPublic": true }, - { - "url": "https://li-fi-base.intustechno.workers.dev/rpc", - "tracking": "unspecified", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, { "url": "https://base.gateway.tenderly.co", "tracking": "yes", @@ -205,13 +135,6 @@ "provider": "Unknown", "isPublic": true }, - { - "url": "https://rpc.numa.network/base", - "tracking": "yes", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, { "url": "https://base.rpc.blxrbdn.com", "tracking": "yes", diff --git a/data/rpcs/evm/97.json b/data/rpcs/evm/97.json index 7ea42b7aec..b738ce108b 100644 --- a/data/rpcs/evm/97.json +++ b/data/rpcs/evm/97.json @@ -1,6 +1,6 @@ { "networkId": "eip155:97", - "updatedAt": "2026-02-22", + "updatedAt": "2026-04-21", "endpoints": [ { "url": "https://bsc-testnet.drpc.org", @@ -9,13 +9,6 @@ "provider": "dRPC", "isPublic": true }, - { - "url": "https://endpoints.omniatech.io/v1/bsc/testnet/public", - "tracking": "none", - "isOpenSource": false, - "provider": "Omnia", - "isPublic": true - }, { "url": "https://bsc-testnet-rpc.publicnode.com", "tracking": "none", @@ -23,13 +16,6 @@ "provider": "PublicNode", "isPublic": true }, - { - "url": "https://bsc-testnet.public.blastapi.io", - "tracking": "limited", - "isOpenSource": false, - "provider": "Blast", - "isPublic": true - }, { "url": "https://bnb-testnet.api.onfinality.io/public", "tracking": "limited", @@ -37,27 +23,6 @@ "provider": "OnFinality", "isPublic": true }, - { - "url": "https://public.stackup.sh/api/v1/node/bsc-testnet", - "tracking": "limited", - "isOpenSource": false, - "provider": "Stackup", - "isPublic": true - }, - { - "url": "https://bsc-testnet.therpc.io", - "tracking": "limited", - "isOpenSource": false, - "provider": "TheRPC", - "isPublic": true - }, - { - "url": "https://bsc-testnet.4everland.org/v1/37fa9972c1b1cd5fab542c7bdd4cde2f", - "tracking": "limited", - "isOpenSource": false, - "provider": "Unknown", - "isPublic": true - }, { "url": "https://rpc.sentio.xyz/bsc-testnet", "tracking": "limited", @@ -113,13 +78,6 @@ "isOpenSource": false, "provider": "BNB Chain", "isPublic": true - }, - { - "url": "https://bsctestapi.terminet.io/rpc", - "tracking": "unspecified", - "isOpenSource": false, - "provider": "Terminet", - "isPublic": true } ] } From 90de11807c3ab322badf9f5c4c35d1f1bbf8c5e8 Mon Sep 17 00:00:00 2001 From: Augusto Lemble Date: Tue, 21 Apr 2026 09:44:15 -0300 Subject: [PATCH 3/9] refactor: use ISO timestamp for updatedAt in RPC files Switches the rpc schema to format: date-time and updates import-rpcs to write a full ISO 8601 timestamp instead of date-only. --- schemas/rpc.schema.json | 4 ++-- scripts/import-rpcs.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/schemas/rpc.schema.json b/schemas/rpc.schema.json index fa73d4294e..a78f6f80eb 100644 --- a/schemas/rpc.schema.json +++ b/schemas/rpc.schema.json @@ -13,8 +13,8 @@ }, "updatedAt": { "type": "string", - "format": "date", - "description": "Last update date (YYYY-MM-DD)" + "format": "date-time", + "description": "Last update timestamp (ISO 8601)" }, "endpoints": { "type": "array", diff --git a/scripts/import-rpcs.ts b/scripts/import-rpcs.ts index a254e926c5..0ff3087e9e 100644 --- a/scripts/import-rpcs.ts +++ b/scripts/import-rpcs.ts @@ -216,7 +216,7 @@ async function importFromChainlist(): Promise { const networkId = `eip155:${chainId}`; const output = { networkId, - updatedAt: new Date().toISOString().split("T")[0], + updatedAt: new Date().toISOString(), endpoints: liveEndpoints, }; From 3086f3318cd55550c0c4b8e5edc46ac421df54b3 Mon Sep 17 00:00:00 2001 From: Augusto Lemble Date: Tue, 21 Apr 2026 09:44:20 -0300 Subject: [PATCH 4/9] feat: add EVM testnet networks (Arbitrum, OP, Base, Polygon, Avalanche) Adds Arbitrum Sepolia, Optimism Sepolia, Base Sepolia, Polygon Amoy and Avalanche Fuji to networks.json. Also updates the root updatedAt to an ISO 8601 timestamp. --- data/networks.json | 117 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 116 insertions(+), 1 deletion(-) diff --git a/data/networks.json b/data/networks.json index b66c23529e..f38af4a791 100644 --- a/data/networks.json +++ b/data/networks.json @@ -1,5 +1,5 @@ { - "updatedAt": "2025-12-01", + "updatedAt": "2026-04-21T12:27:17.939Z", "networks": [ { "type": "evm", @@ -262,6 +262,121 @@ } ] }, + { + "type": "evm", + "networkId": "eip155:421614", + "chainId": 421614, + "name": "Arbitrum Sepolia", + "shortName": "Arb Sepolia", + "description": "Arbitrum testnet for developers", + "currency": "ETH", + "color": "#28A0F0", + "isTestnet": true, + "links": [ + { + "name": "Bridge", + "url": "https://bridge.arbitrum.io", + "description": "Bridge from Sepolia" + }, + { + "name": "Docs", + "url": "https://docs.arbitrum.io", + "description": "Developer documentation" + } + ] + }, + { + "type": "evm", + "networkId": "eip155:11155420", + "chainId": 11155420, + "name": "Optimism Sepolia", + "shortName": "OP Sepolia", + "description": "Optimism testnet for developers", + "currency": "ETH", + "color": "#FF0420", + "isTestnet": true, + "links": [ + { + "name": "Bridge", + "url": "https://app.optimism.io/bridge", + "description": "Bridge from Sepolia" + }, + { + "name": "Docs", + "url": "https://docs.optimism.io", + "description": "Developer documentation" + } + ] + }, + { + "type": "evm", + "networkId": "eip155:84532", + "chainId": 84532, + "name": "Base Sepolia", + "shortName": "Base Sepolia", + "description": "Base testnet for developers", + "currency": "ETH", + "color": "#0052FF", + "isTestnet": true, + "links": [ + { + "name": "Faucet", + "url": "https://www.coinbase.com/faucets/base-ethereum-sepolia-faucet", + "description": "Get testnet ETH" + }, + { + "name": "Docs", + "url": "https://docs.base.org", + "description": "Developer documentation" + } + ] + }, + { + "type": "evm", + "networkId": "eip155:80002", + "chainId": 80002, + "name": "Polygon Amoy", + "shortName": "Amoy", + "description": "Polygon testnet for developers", + "currency": "POL", + "color": "#8247E5", + "isTestnet": true, + "links": [ + { + "name": "Faucet", + "url": "https://faucet.polygon.technology", + "description": "Get testnet POL" + }, + { + "name": "Docs", + "url": "https://docs.polygon.technology", + "description": "Developer documentation" + } + ] + }, + { + "type": "evm", + "networkId": "eip155:43113", + "chainId": 43113, + "name": "Avalanche Fuji", + "shortName": "Fuji", + "description": "Avalanche testnet for developers", + "currency": "AVAX", + "color": "#E84142", + "isTestnet": true, + "links": [ + { + "name": "Faucet", + "url": "https://faucet.avax.network", + "description": "Get testnet AVAX" + }, + { + "name": "Docs", + "url": "https://docs.avax.network", + "description": "Developer documentation" + } + ] + }, { "type": "solana", "networkId": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp", From 46b6026404bec7ba12ccf17fdabc0a9cb7b918e5 Mon Sep 17 00:00:00 2001 From: Augusto Lemble Date: Tue, 21 Apr 2026 09:44:25 -0300 Subject: [PATCH 5/9] chore(rpcs): refresh endpoints and import RPCs for new EVM testnets Re-imports endpoints for all 14 EVM chains via import-rpcs (writing ISO timestamps) and converts existing solana/btc updatedAt fields to date-time format to match the updated rpc schema. --- data/rpcs/btc/mainnet.json | 2 +- data/rpcs/btc/testnet4.json | 2 +- data/rpcs/evm/1.json | 2 +- data/rpcs/evm/10.json | 2 +- data/rpcs/evm/11155111.json | 9 +---- data/rpcs/evm/11155420.json | 48 +++++++++++++++++++++++++++ data/rpcs/evm/137.json | 9 ++++- data/rpcs/evm/42161.json | 2 +- data/rpcs/evm/421614.json | 55 +++++++++++++++++++++++++++++++ data/rpcs/evm/43113.json | 34 +++++++++++++++++++ data/rpcs/evm/43114.json | 2 +- data/rpcs/evm/56.json | 2 +- data/rpcs/evm/80002.json | 62 +++++++++++++++++++++++++++++++++++ data/rpcs/evm/8453.json | 2 +- data/rpcs/evm/84532.json | 55 +++++++++++++++++++++++++++++++ data/rpcs/evm/97.json | 2 +- data/rpcs/solana/devnet.json | 2 +- data/rpcs/solana/mainnet.json | 2 +- data/rpcs/solana/testnet.json | 2 +- 19 files changed, 275 insertions(+), 21 deletions(-) create mode 100644 data/rpcs/evm/11155420.json create mode 100644 data/rpcs/evm/421614.json create mode 100644 data/rpcs/evm/43113.json create mode 100644 data/rpcs/evm/80002.json create mode 100644 data/rpcs/evm/84532.json diff --git a/data/rpcs/btc/mainnet.json b/data/rpcs/btc/mainnet.json index 61b03e27a1..e1d70bbd6d 100644 --- a/data/rpcs/btc/mainnet.json +++ b/data/rpcs/btc/mainnet.json @@ -1,6 +1,6 @@ { "networkId": "bip122:000000000019d6689c085ae165831e93", - "updatedAt": "2026-02-12", + "updatedAt": "2026-02-12T00:00:00Z", "endpoints": [ { "url": "https://mempool.space/api", diff --git a/data/rpcs/btc/testnet4.json b/data/rpcs/btc/testnet4.json index 904737da65..876a2beb49 100644 --- a/data/rpcs/btc/testnet4.json +++ b/data/rpcs/btc/testnet4.json @@ -1,6 +1,6 @@ { "networkId": "bip122:00000000da84f2bafbbc53dee25a72ae", - "updatedAt": "2026-02-13", + "updatedAt": "2026-02-13T00:00:00Z", "endpoints": [ { "url": "https://mempool.space/testnet4/api", diff --git a/data/rpcs/evm/1.json b/data/rpcs/evm/1.json index fa0c8650ec..01cae73162 100644 --- a/data/rpcs/evm/1.json +++ b/data/rpcs/evm/1.json @@ -1,6 +1,6 @@ { "networkId": "eip155:1", - "updatedAt": "2026-04-21", + "updatedAt": "2026-04-21T12:42:33.164Z", "endpoints": [ { "url": "https://0xrpc.io/eth", diff --git a/data/rpcs/evm/10.json b/data/rpcs/evm/10.json index 9498b4da77..a4396dd04b 100644 --- a/data/rpcs/evm/10.json +++ b/data/rpcs/evm/10.json @@ -1,6 +1,6 @@ { "networkId": "eip155:10", - "updatedAt": "2026-04-21", + "updatedAt": "2026-04-21T12:32:57.564Z", "endpoints": [ { "url": "https://1rpc.io/op", diff --git a/data/rpcs/evm/11155111.json b/data/rpcs/evm/11155111.json index b486f30c11..1c569db224 100644 --- a/data/rpcs/evm/11155111.json +++ b/data/rpcs/evm/11155111.json @@ -1,6 +1,6 @@ { "networkId": "eip155:11155111", - "updatedAt": "2026-04-21", + "updatedAt": "2026-04-21T12:36:57.590Z", "endpoints": [ { "url": "https://0xrpc.io/sep", @@ -79,13 +79,6 @@ "provider": "Unknown", "isPublic": true }, - { - "url": "https://eth-sepolia.g.alchemy.com/v2/demo", - "tracking": "yes", - "isOpenSource": false, - "provider": "Alchemy", - "isPublic": true - }, { "url": "https://sepolia.gateway.tenderly.co", "tracking": "yes", diff --git a/data/rpcs/evm/11155420.json b/data/rpcs/evm/11155420.json new file mode 100644 index 0000000000..1a5f1774a4 --- /dev/null +++ b/data/rpcs/evm/11155420.json @@ -0,0 +1,48 @@ +{ + "networkId": "eip155:11155420", + "updatedAt": "2026-04-21T12:39:57.608Z", + "endpoints": [ + { + "url": "https://optimism-sepolia-public.nodies.app", + "tracking": "limited", + "isOpenSource": false, + "provider": "Nodies", + "isPublic": true + }, + { + "url": "https://optimism-sepolia.api.onfinality.io/public", + "tracking": "limited", + "isOpenSource": false, + "provider": "OnFinality", + "isPublic": true + }, + { + "url": "https://api.zan.top/opt-sepolia", + "tracking": "limited", + "isOpenSource": false, + "provider": "ZAN", + "isPublic": true + }, + { + "url": "https://optimism-sepolia.drpc.org", + "tracking": "unspecified", + "isOpenSource": false, + "provider": "dRPC", + "isPublic": true + }, + { + "url": "https://sepolia.optimism.io", + "tracking": "unspecified", + "isOpenSource": false, + "provider": "Optimism", + "isPublic": true + }, + { + "url": "https://optimism-sepolia.gateway.tenderly.co", + "tracking": "yes", + "isOpenSource": false, + "provider": "Tenderly", + "isPublic": true + } + ] +} diff --git a/data/rpcs/evm/137.json b/data/rpcs/evm/137.json index ce529d2728..70e1b6b559 100644 --- a/data/rpcs/evm/137.json +++ b/data/rpcs/evm/137.json @@ -1,6 +1,6 @@ { "networkId": "eip155:137", - "updatedAt": "2026-04-21", + "updatedAt": "2026-04-21T12:34:57.574Z", "endpoints": [ { "url": "https://1rpc.io/matic", @@ -72,6 +72,13 @@ "provider": "Unknown", "isPublic": true }, + { + "url": "https://polygon-mainnet.g.alchemy.com/v2/demo", + "tracking": "yes", + "isOpenSource": false, + "provider": "Alchemy", + "isPublic": true + }, { "url": "https://polygon.gateway.tenderly.co", "tracking": "yes", diff --git a/data/rpcs/evm/42161.json b/data/rpcs/evm/42161.json index 4a66101585..c2019f8a13 100644 --- a/data/rpcs/evm/42161.json +++ b/data/rpcs/evm/42161.json @@ -1,6 +1,6 @@ { "networkId": "eip155:42161", - "updatedAt": "2026-04-21", + "updatedAt": "2026-04-21T12:31:57.558Z", "endpoints": [ { "url": "https://1rpc.io/arb", diff --git a/data/rpcs/evm/421614.json b/data/rpcs/evm/421614.json new file mode 100644 index 0000000000..2d165d31fa --- /dev/null +++ b/data/rpcs/evm/421614.json @@ -0,0 +1,55 @@ +{ + "networkId": "eip155:421614", + "updatedAt": "2026-04-21T12:38:57.601Z", + "endpoints": [ + { + "url": "https://arbitrum-sepolia.drpc.org", + "tracking": "none", + "isOpenSource": false, + "provider": "dRPC", + "isPublic": true + }, + { + "url": "https://arbitrum-sepolia-testnet.api.pocket.network", + "tracking": "none", + "isOpenSource": false, + "provider": "Pocket Network", + "isPublic": true + }, + { + "url": "https://arbitrum-sepolia.api.onfinality.io/public", + "tracking": "limited", + "isOpenSource": false, + "provider": "OnFinality", + "isPublic": true + }, + { + "url": "https://api.zan.top/arb-sepolia", + "tracking": "limited", + "isOpenSource": false, + "provider": "ZAN", + "isPublic": true + }, + { + "url": "https://sepolia-rollup.arbitrum.io/rpc", + "tracking": "unspecified", + "isOpenSource": false, + "provider": "Arbitrum", + "isPublic": true + }, + { + "url": "https://arbitrum-sepolia-rpc.publicnode.com", + "tracking": "unspecified", + "isOpenSource": false, + "provider": "PublicNode", + "isPublic": true + }, + { + "url": "https://arbitrum-sepolia.gateway.tenderly.co", + "tracking": "yes", + "isOpenSource": false, + "provider": "Tenderly", + "isPublic": true + } + ] +} diff --git a/data/rpcs/evm/43113.json b/data/rpcs/evm/43113.json new file mode 100644 index 0000000000..a6f8a785f5 --- /dev/null +++ b/data/rpcs/evm/43113.json @@ -0,0 +1,34 @@ +{ + "networkId": "eip155:43113", + "updatedAt": "2026-04-21T12:42:57.625Z", + "endpoints": [ + { + "url": "https://avalanche-fuji.drpc.org", + "tracking": "none", + "isOpenSource": false, + "provider": "dRPC", + "isPublic": true + }, + { + "url": "https://avalanche-fuji-c-chain-rpc.publicnode.com", + "tracking": "none", + "isOpenSource": false, + "provider": "PublicNode", + "isPublic": true + }, + { + "url": "https://api.zan.top/avax-fuji/ext/bc/C/rpc", + "tracking": "limited", + "isOpenSource": false, + "provider": "ZAN", + "isPublic": true + }, + { + "url": "https://api.avax-test.network/ext/bc/C/rpc", + "tracking": "unspecified", + "isOpenSource": false, + "provider": "Unknown", + "isPublic": true + } + ] +} diff --git a/data/rpcs/evm/43114.json b/data/rpcs/evm/43114.json index 5151c5e756..8ea672af8e 100644 --- a/data/rpcs/evm/43114.json +++ b/data/rpcs/evm/43114.json @@ -1,6 +1,6 @@ { "networkId": "eip155:43114", - "updatedAt": "2026-04-21", + "updatedAt": "2026-04-21T12:35:57.579Z", "endpoints": [ { "url": "https://1rpc.io/avax/c", diff --git a/data/rpcs/evm/56.json b/data/rpcs/evm/56.json index c209a7ccd7..0cb9d00211 100644 --- a/data/rpcs/evm/56.json +++ b/data/rpcs/evm/56.json @@ -1,6 +1,6 @@ { "networkId": "eip155:56", - "updatedAt": "2026-04-21", + "updatedAt": "2026-04-21T12:33:57.570Z", "endpoints": [ { "url": "https://1rpc.io/bnb", diff --git a/data/rpcs/evm/80002.json b/data/rpcs/evm/80002.json new file mode 100644 index 0000000000..47a33c1303 --- /dev/null +++ b/data/rpcs/evm/80002.json @@ -0,0 +1,62 @@ +{ + "networkId": "eip155:80002", + "updatedAt": "2026-04-21T12:41:57.620Z", + "endpoints": [ + { + "url": "https://polygon-amoy.drpc.org", + "tracking": "none", + "isOpenSource": false, + "provider": "dRPC", + "isPublic": true + }, + { + "url": "https://polygon-amoy-public.nodies.app", + "tracking": "limited", + "isOpenSource": false, + "provider": "Nodies", + "isPublic": true + }, + { + "url": "https://polygon-amoy.api.onfinality.io/public", + "tracking": "limited", + "isOpenSource": false, + "provider": "OnFinality", + "isPublic": true + }, + { + "url": "https://api.zan.top/polygon-amoy", + "tracking": "limited", + "isOpenSource": false, + "provider": "ZAN", + "isPublic": true + }, + { + "url": "https://polygon-amoy-bor-rpc.publicnode.com", + "tracking": "unspecified", + "isOpenSource": false, + "provider": "PublicNode", + "isPublic": true + }, + { + "url": "https://rpc-amoy.polygon.technology", + "tracking": "unspecified", + "isOpenSource": false, + "provider": "Unknown", + "isPublic": true + }, + { + "url": "https://polygon-amoy.gateway.tenderly.co", + "tracking": "yes", + "isOpenSource": false, + "provider": "Tenderly", + "isPublic": true + }, + { + "url": "https://polygon-amoy.gateway.tatum.io", + "tracking": "yes", + "isOpenSource": false, + "provider": "Unknown", + "isPublic": true + } + ] +} diff --git a/data/rpcs/evm/8453.json b/data/rpcs/evm/8453.json index 11f1dc8a85..a57e66c6b6 100644 --- a/data/rpcs/evm/8453.json +++ b/data/rpcs/evm/8453.json @@ -1,6 +1,6 @@ { "networkId": "eip155:8453", - "updatedAt": "2026-04-21", + "updatedAt": "2026-04-21T12:30:57.548Z", "endpoints": [ { "url": "https://1rpc.io/base", diff --git a/data/rpcs/evm/84532.json b/data/rpcs/evm/84532.json new file mode 100644 index 0000000000..9392ee93c6 --- /dev/null +++ b/data/rpcs/evm/84532.json @@ -0,0 +1,55 @@ +{ + "networkId": "eip155:84532", + "updatedAt": "2026-04-21T12:40:57.612Z", + "endpoints": [ + { + "url": "https://base-sepolia.drpc.org", + "tracking": "none", + "isOpenSource": false, + "provider": "dRPC", + "isPublic": true + }, + { + "url": "https://base-testnet.api.pocket.network", + "tracking": "none", + "isOpenSource": false, + "provider": "Pocket Network", + "isPublic": true + }, + { + "url": "https://base-sepolia-public.nodies.app", + "tracking": "limited", + "isOpenSource": false, + "provider": "Nodies", + "isPublic": true + }, + { + "url": "https://rpc.sentio.xyz/base-sepolia", + "tracking": "limited", + "isOpenSource": false, + "provider": "Unknown", + "isPublic": true + }, + { + "url": "https://sepolia.base.org", + "tracking": "unspecified", + "isOpenSource": false, + "provider": "Base", + "isPublic": true + }, + { + "url": "https://base-sepolia-rpc.publicnode.com", + "tracking": "unspecified", + "isOpenSource": false, + "provider": "PublicNode", + "isPublic": true + }, + { + "url": "https://base-sepolia.gateway.tenderly.co", + "tracking": "yes", + "isOpenSource": false, + "provider": "Tenderly", + "isPublic": true + } + ] +} diff --git a/data/rpcs/evm/97.json b/data/rpcs/evm/97.json index b738ce108b..35b7d991e7 100644 --- a/data/rpcs/evm/97.json +++ b/data/rpcs/evm/97.json @@ -1,6 +1,6 @@ { "networkId": "eip155:97", - "updatedAt": "2026-04-21", + "updatedAt": "2026-04-21T12:37:57.596Z", "endpoints": [ { "url": "https://bsc-testnet.drpc.org", diff --git a/data/rpcs/solana/devnet.json b/data/rpcs/solana/devnet.json index 54743e3df4..7749656519 100644 --- a/data/rpcs/solana/devnet.json +++ b/data/rpcs/solana/devnet.json @@ -1,6 +1,6 @@ { "networkId": "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1", - "updatedAt": "2026-04-07", + "updatedAt": "2026-04-07T00:00:00Z", "endpoints": [ { "url": "https://api.devnet.solana.com", diff --git a/data/rpcs/solana/mainnet.json b/data/rpcs/solana/mainnet.json index 244306473c..f36d4dfacb 100644 --- a/data/rpcs/solana/mainnet.json +++ b/data/rpcs/solana/mainnet.json @@ -1,6 +1,6 @@ { "networkId": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp", - "updatedAt": "2026-04-07", + "updatedAt": "2026-04-07T00:00:00Z", "endpoints": [ { "url": "https://api.mainnet-beta.solana.com", diff --git a/data/rpcs/solana/testnet.json b/data/rpcs/solana/testnet.json index 6f240d5aec..69fbe8357f 100644 --- a/data/rpcs/solana/testnet.json +++ b/data/rpcs/solana/testnet.json @@ -1,6 +1,6 @@ { "networkId": "solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z", - "updatedAt": "2026-04-07", + "updatedAt": "2026-04-07T00:00:00Z", "endpoints": [ { "url": "https://api.testnet.solana.com", From ccecf8b1f89ed51b97a2bf4a5076a06f2032a424 Mon Sep 17 00:00:00 2001 From: Augusto Lemble Date: Tue, 21 Apr 2026 09:47:08 -0300 Subject: [PATCH 6/9] feat(rpcs): add OnFinality public Bitcoin RPC endpoint Closes #9 --- data/rpcs/btc/mainnet.json | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/data/rpcs/btc/mainnet.json b/data/rpcs/btc/mainnet.json index e1d70bbd6d..26ae31d7e2 100644 --- a/data/rpcs/btc/mainnet.json +++ b/data/rpcs/btc/mainnet.json @@ -1,6 +1,6 @@ { "networkId": "bip122:000000000019d6689c085ae165831e93", - "updatedAt": "2026-02-12T00:00:00Z", + "updatedAt": "2026-04-21T12:46:10.004Z", "endpoints": [ { "url": "https://mempool.space/api", @@ -29,6 +29,13 @@ "isOpenSource": false, "provider": "dRPC", "isPublic": true + }, + { + "url": "https://bitcoin.api.onfinality.io/public", + "tracking": "unspecified", + "isOpenSource": false, + "provider": "OnFinality", + "isPublic": true } ] } From aa466ec7228962af903b42b1145c90eeb0cb1544 Mon Sep 17 00:00:00 2001 From: Augusto Lemble Date: Tue, 21 Apr 2026 09:51:33 -0300 Subject: [PATCH 7/9] feat(networks): add logos for new EVM testnets Sourced from SmolDapp/tokenAssets, reusing the mainnet logo for each respective testnet (Arbitrum Sepolia, OP Sepolia, Base Sepolia, Polygon Amoy, Avalanche Fuji). --- assets/networks/11155420.svg | 16 ++++++++++++++++ assets/networks/421614.svg | 13 +++++++++++++ assets/networks/43113.svg | 4 ++++ assets/networks/80002.svg | 15 +++++++++++++++ assets/networks/84532.svg | 11 +++++++++++ data/networks.json | 7 ++++++- 6 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 assets/networks/11155420.svg create mode 100644 assets/networks/421614.svg create mode 100644 assets/networks/43113.svg create mode 100644 assets/networks/80002.svg create mode 100644 assets/networks/84532.svg diff --git a/assets/networks/11155420.svg b/assets/networks/11155420.svg new file mode 100644 index 0000000000..6e3d503666 --- /dev/null +++ b/assets/networks/11155420.svg @@ -0,0 +1,16 @@ + + + + + + + + \ No newline at end of file diff --git a/assets/networks/421614.svg b/assets/networks/421614.svg new file mode 100644 index 0000000000..0be8e2667e --- /dev/null +++ b/assets/networks/421614.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/assets/networks/43113.svg b/assets/networks/43113.svg new file mode 100644 index 0000000000..bdf6b82017 --- /dev/null +++ b/assets/networks/43113.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/networks/80002.svg b/assets/networks/80002.svg new file mode 100644 index 0000000000..89b9540402 --- /dev/null +++ b/assets/networks/80002.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/assets/networks/84532.svg b/assets/networks/84532.svg new file mode 100644 index 0000000000..a9998140a2 --- /dev/null +++ b/assets/networks/84532.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/data/networks.json b/data/networks.json index f38af4a791..4a7213e99e 100644 --- a/data/networks.json +++ b/data/networks.json @@ -1,5 +1,5 @@ { - "updatedAt": "2026-04-21T12:27:17.939Z", + "updatedAt": "2026-04-21T12:50:03.113Z", "networks": [ { "type": "evm", @@ -272,6 +272,7 @@ "currency": "ETH", "color": "#28A0F0", "isTestnet": true, + "logo": "assets/networks/421614.svg", "links": [ { "name": "Bridge", @@ -295,6 +296,7 @@ "currency": "ETH", "color": "#FF0420", "isTestnet": true, + "logo": "assets/networks/11155420.svg", "links": [ { "name": "Bridge", @@ -318,6 +320,7 @@ "currency": "ETH", "color": "#0052FF", "isTestnet": true, + "logo": "assets/networks/84532.svg", "links": [ { "name": "Faucet", @@ -341,6 +344,7 @@ "currency": "POL", "color": "#8247E5", "isTestnet": true, + "logo": "assets/networks/80002.svg", "links": [ { "name": "Faucet", @@ -364,6 +368,7 @@ "currency": "AVAX", "color": "#E84142", "isTestnet": true, + "logo": "assets/networks/43113.svg", "links": [ { "name": "Faucet", From 7f496c743fc895370ea089c26c1c8250f91d2a3f Mon Sep 17 00:00:00 2001 From: Augusto Lemble Date: Tue, 21 Apr 2026 09:52:22 -0300 Subject: [PATCH 8/9] chore(assets): re-optimize stale PNGs Re-runs optimize-images on previously unoptimized assets surfaced when running the script for the new testnet logos. --- assets/apps/openscan.png | Bin 7808 -> 3195 bytes assets/organizations/openscan.png | Bin 7808 -> 3195 bytes ...39E9Bb6D8a84dd3A23fe621A30F95403F87fB9.png | Bin 7808 -> 2307 bytes ...fCA4c6E2525C09c95269055B46f16b1459BF9d.png | Bin 7808 -> 2307 bytes ...1d97673B9E0B3AA53a06439F71fDc1facE393B.png | Bin 7808 -> 2307 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/apps/openscan.png b/assets/apps/openscan.png index a745a683012e04dd4d7ea758cc5efb2c7d780da2..de7fb300854ebdce11a4deef7c8c031525db4568 100644 GIT binary patch literal 3195 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 literal 7808 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 diff --git a/assets/organizations/openscan.png b/assets/organizations/openscan.png index a745a683012e04dd4d7ea758cc5efb2c7d780da2..de7fb300854ebdce11a4deef7c8c031525db4568 100644 GIT binary patch literal 3195 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 literal 7808 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 diff --git a/assets/tokens/11155111/0x7439E9Bb6D8a84dd3A23fe621A30F95403F87fB9.png b/assets/tokens/11155111/0x7439E9Bb6D8a84dd3A23fe621A30F95403F87fB9.png index a745a683012e04dd4d7ea758cc5efb2c7d780da2..c56d873349d528a3e68c2b093144e255556a85b7 100644 GIT binary patch delta 2273 zcmW-jdpOkF8pqen7^9&bGDgTPJ>(KHNSGNjfXzPMi~xo5e=HS@VqgATC~NLdA7gJ?=2bOZtL0*b|AMP^LJonHe0 zfEmv2I zZT9Adj@quSRwPn<_Og3mp`}xx@osly2~^)BA`(+`5vH+0HNbhI09FL?7?_*{kh-!$=T)?p1G-+f7 zNo=U6s)th?Uu@%(%t?Cnc~C7rd)_BFLnc8-@mGs(=tS`*W1wlTh(A|mKv=qj9TDDC zr}~pW9mion9zjK>jNm9}Hu~HoCYXxzcF?8y$W}1jZ5mO$DVYe!*U+qAXZV>`i66z^yeZ5<=fx@9+b&F8=1hMV zIx=J0FYyyS=oX!GlOFOoHgm==aV#+TTFUEOZ_l80(4ycl^Nue(DzzZraC`t9h$)H9mMHMtxWFPR-rR+h0RKZ^34F z$uTk+8g)*-2&-{rWu0yCUKlP`8&*|P-3}K!!g91Ms1qKB;n5&gn-?sDVMnncdT*H+ zX2YUUgT13^@IqM{48sdBi(kiRI_CKBaGHFD?<}@TaASjtGUq8*tmmlAP68 zpH)_9>THR$YRy=AX8}|LKHAJuOEM=p=FoLTJMXsmf$V%tx zUhNw>I~8dlUYY6_4{mH(RmQyCl09xI?s49)Sz{AD)t?J><;}d=q@PC&$DiXJ0yyPQrLkR} z?QvJW>`7yLJ5s1RiR^?=+;`sfv=-qt<#GJ3q64}ymO~Dujd*Xi5vlYxCZAy5Qz^)5 zCQS9135|~CBuKp28wAlf4&#LctuGS#YprtOp&Hv*BlYo)-(4F2ljl&Hob%||;Pq=I$bA>&#gkud z8mqS3YKKWCPjf!DVhCq$FZUfTwK@^z==I0qsZP}r?)MqW?%|tCw)IQG8{z4Z(_f&I z>Kor9z87|v@@De9iuP%s&J5W`zP#M$ws8&Vwq1};IKf-U%R^q5g`6-S<*L!dh2Q*U zKX8$;jlLbVSsH>g$&*xrDwV`-si_sHslqgo|3>=!mOu448QEH`k-5nF$cdZ>BrovH z;O2eU^=U1L^fNV#?#v!v3lH#LPq^Dz=6e8cKABvj z#(z+Ym7EhjQ-L&ewN>e2E=4z8_-HJ)o;|_6MW|BTR2ecM37ZRe!)oRy zWARiIZqAzSmL7ZzxX?qaM{nYnOJVjyTtqUtjxYy?iuw|d&f&w(P zO8SPKfHNB9dRjilQWMBUgb<98LunV@8l_$&8pZp7QK3sC4GmsMf2!$MGrA|u7d*Vz zp;YjJi(~8TisUXL{+q?utHXWlsSHAS-V^m5 lN3z>Co_@`D8F>lgs%s21cz3OMRX=_NJ|6yzT3STb{{bbqBIW=9 literal 7808 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 diff --git a/assets/tokens/11155111/0x93fCA4c6E2525C09c95269055B46f16b1459BF9d.png b/assets/tokens/11155111/0x93fCA4c6E2525C09c95269055B46f16b1459BF9d.png index a745a683012e04dd4d7ea758cc5efb2c7d780da2..c56d873349d528a3e68c2b093144e255556a85b7 100644 GIT binary patch delta 2273 zcmW-jdpOkF8pqen7^9&bGDgTPJ>(KHNSGNjfXzPMi~xo5e=HS@VqgATC~NLdA7gJ?=2bOZtL0*b|AMP^LJonHe0 zfEmv2I zZT9Adj@quSRwPn<_Og3mp`}xx@osly2~^)BA`(+`5vH+0HNbhI09FL?7?_*{kh-!$=T)?p1G-+f7 zNo=U6s)th?Uu@%(%t?Cnc~C7rd)_BFLnc8-@mGs(=tS`*W1wlTh(A|mKv=qj9TDDC zr}~pW9mion9zjK>jNm9}Hu~HoCYXxzcF?8y$W}1jZ5mO$DVYe!*U+qAXZV>`i66z^yeZ5<=fx@9+b&F8=1hMV zIx=J0FYyyS=oX!GlOFOoHgm==aV#+TTFUEOZ_l80(4ycl^Nue(DzzZraC`t9h$)H9mMHMtxWFPR-rR+h0RKZ^34F z$uTk+8g)*-2&-{rWu0yCUKlP`8&*|P-3}K!!g91Ms1qKB;n5&gn-?sDVMnncdT*H+ zX2YUUgT13^@IqM{48sdBi(kiRI_CKBaGHFD?<}@TaASjtGUq8*tmmlAP68 zpH)_9>THR$YRy=AX8}|LKHAJuOEM=p=FoLTJMXsmf$V%tx zUhNw>I~8dlUYY6_4{mH(RmQyCl09xI?s49)Sz{AD)t?J><;}d=q@PC&$DiXJ0yyPQrLkR} z?QvJW>`7yLJ5s1RiR^?=+;`sfv=-qt<#GJ3q64}ymO~Dujd*Xi5vlYxCZAy5Qz^)5 zCQS9135|~CBuKp28wAlf4&#LctuGS#YprtOp&Hv*BlYo)-(4F2ljl&Hob%||;Pq=I$bA>&#gkud z8mqS3YKKWCPjf!DVhCq$FZUfTwK@^z==I0qsZP}r?)MqW?%|tCw)IQG8{z4Z(_f&I z>Kor9z87|v@@De9iuP%s&J5W`zP#M$ws8&Vwq1};IKf-U%R^q5g`6-S<*L!dh2Q*U zKX8$;jlLbVSsH>g$&*xrDwV`-si_sHslqgo|3>=!mOu448QEH`k-5nF$cdZ>BrovH z;O2eU^=U1L^fNV#?#v!v3lH#LPq^Dz=6e8cKABvj z#(z+Ym7EhjQ-L&ewN>e2E=4z8_-HJ)o;|_6MW|BTR2ecM37ZRe!)oRy zWARiIZqAzSmL7ZzxX?qaM{nYnOJVjyTtqUtjxYy?iuw|d&f&w(P zO8SPKfHNB9dRjilQWMBUgb<98LunV@8l_$&8pZp7QK3sC4GmsMf2!$MGrA|u7d*Vz zp;YjJi(~8TisUXL{+q?utHXWlsSHAS-V^m5 lN3z>Co_@`D8F>lgs%s21cz3OMRX=_NJ|6yzT3STb{{bbqBIW=9 literal 7808 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 diff --git a/assets/tokens/11155111/0xc21d97673B9E0B3AA53a06439F71fDc1facE393B.png b/assets/tokens/11155111/0xc21d97673B9E0B3AA53a06439F71fDc1facE393B.png index a745a683012e04dd4d7ea758cc5efb2c7d780da2..c56d873349d528a3e68c2b093144e255556a85b7 100644 GIT binary patch delta 2273 zcmW-jdpOkF8pqen7^9&bGDgTPJ>(KHNSGNjfXzPMi~xo5e=HS@VqgATC~NLdA7gJ?=2bOZtL0*b|AMP^LJonHe0 zfEmv2I zZT9Adj@quSRwPn<_Og3mp`}xx@osly2~^)BA`(+`5vH+0HNbhI09FL?7?_*{kh-!$=T)?p1G-+f7 zNo=U6s)th?Uu@%(%t?Cnc~C7rd)_BFLnc8-@mGs(=tS`*W1wlTh(A|mKv=qj9TDDC zr}~pW9mion9zjK>jNm9}Hu~HoCYXxzcF?8y$W}1jZ5mO$DVYe!*U+qAXZV>`i66z^yeZ5<=fx@9+b&F8=1hMV zIx=J0FYyyS=oX!GlOFOoHgm==aV#+TTFUEOZ_l80(4ycl^Nue(DzzZraC`t9h$)H9mMHMtxWFPR-rR+h0RKZ^34F z$uTk+8g)*-2&-{rWu0yCUKlP`8&*|P-3}K!!g91Ms1qKB;n5&gn-?sDVMnncdT*H+ zX2YUUgT13^@IqM{48sdBi(kiRI_CKBaGHFD?<}@TaASjtGUq8*tmmlAP68 zpH)_9>THR$YRy=AX8}|LKHAJuOEM=p=FoLTJMXsmf$V%tx zUhNw>I~8dlUYY6_4{mH(RmQyCl09xI?s49)Sz{AD)t?J><;}d=q@PC&$DiXJ0yyPQrLkR} z?QvJW>`7yLJ5s1RiR^?=+;`sfv=-qt<#GJ3q64}ymO~Dujd*Xi5vlYxCZAy5Qz^)5 zCQS9135|~CBuKp28wAlf4&#LctuGS#YprtOp&Hv*BlYo)-(4F2ljl&Hob%||;Pq=I$bA>&#gkud z8mqS3YKKWCPjf!DVhCq$FZUfTwK@^z==I0qsZP}r?)MqW?%|tCw)IQG8{z4Z(_f&I z>Kor9z87|v@@De9iuP%s&J5W`zP#M$ws8&Vwq1};IKf-U%R^q5g`6-S<*L!dh2Q*U zKX8$;jlLbVSsH>g$&*xrDwV`-si_sHslqgo|3>=!mOu448QEH`k-5nF$cdZ>BrovH z;O2eU^=U1L^fNV#?#v!v3lH#LPq^Dz=6e8cKABvj z#(z+Ym7EhjQ-L&ewN>e2E=4z8_-HJ)o;|_6MW|BTR2ecM37ZRe!)oRy zWARiIZqAzSmL7ZzxX?qaM{nYnOJVjyTtqUtjxYy?iuw|d&f&w(P zO8SPKfHNB9dRjilQWMBUgb<98LunV@8l_$&8pZp7QK3sC4GmsMf2!$MGrA|u7d*Vz zp;YjJi(~8TisUXL{+q?utHXWlsSHAS-V^m5 lN3z>Co_@`D8F>lgs%s21cz3OMRX=_NJ|6yzT3STb{{bbqBIW=9 literal 7808 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 From 616995f2fd16f840a543412143711f08a95619de Mon Sep 17 00:00:00 2001 From: Augusto Lemble Date: Tue, 21 Apr 2026 09:55:31 -0300 Subject: [PATCH 9/9] chore: bump version from 1.2.0-alpha.0 to 1.2.1-alpha.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ba9c6e16af..e3eb8dff4c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openscan/metadata", - "version": "1.2.0-alpha.0", + "version": "1.2.1-alpha.0", "repository": { "type": "git", "url": "https://github.com/openscan-explorer/explorer-metadata"