├── public
├── error.html
├── robots.txt
├── favicon.ico
├── unknown-logo.png
├── multichain-logo.png
├── banners
│ ├── large
│ │ ├── brave.png
│ │ ├── gmx.png
│ │ └── llamanodes.png
│ └── small
│ │ ├── brave.png
│ │ ├── gmx.png
│ │ └── llamanodes.png
├── connectors
│ ├── coinbaseWalletIcon.svg
│ ├── icn-trust.svg
│ ├── icn-imtoken.svg
│ ├── icn-xdefi.svg
│ ├── icn-metamask.svg
│ ├── icn-taho.svg
│ └── icn-bravewallet.svg
├── logo-stacked.svg
└── logo.svg
├── .prettierignore
├── styles
└── globals.css
├── .prettierrc
├── postcss.config.js
├── next.config.js
├── constants
├── hypelab.js
├── walletIcons.js
├── additionalChainRegistry
│ ├── chainid-90025.js
│ ├── chainid-10121.js
│ ├── chainid-1440000.js
│ ├── chainid-202506.js
│ ├── chainid-1990.js
│ ├── chainid-4048.js
│ ├── chainid-9.js
│ ├── chainid-10001.js
│ ├── chainid-2105.js
│ ├── chainid-9030.js
│ ├── chainid-688688.js
│ ├── chainid-210000.js
│ ├── chainid-3109.js
│ ├── chainid-13863860.js
│ ├── chainid-586.js
│ ├── chainid-657468.js
│ ├── chainid-202599.js
│ ├── chainid-612055.js
│ ├── chainid-97741.js
│ ├── chainid-2107.js
│ ├── chainid-612044.js
│ ├── chainid-5151706.js
│ ├── chainid-15000.js
│ ├── chainid-1380012617.js
│ ├── chainid-4227.js
│ ├── chainid-2020.js
│ ├── chainid-88888.js
│ ├── chainid-999.js
│ ├── chainid-239.js
│ ├── chainid-2030232745.js
│ └── chainid-1439.js
├── llamaNodesRpcs.js
└── chainIds.js
├── scripts
├── post-export.sh
├── build.sh
└── build-msg.js
├── stores
└── index.js
├── tailwind.config.js
├── pull_request_template.md
├── vercel.json
├── generate-json.js
├── .gitignore
├── serve.json
├── pages
├── _app.js
├── api
│ └── chain
│ │ └── [chain].js
├── _document.js
├── index.js
├── zh
│ ├── index.js
│ └── chain
│ │ └── [chain].js
├── add-network
│ └── [chain].js
└── chain
│ └── [chain].js
├── hooks
├── useLlamaNodesRpcData.js
├── useConnect.jsx
├── useAccount.jsx
├── useClipboard.js
├── useAnalytics.js
├── useFilteredChains.jsx
├── useAddToNetwork.jsx
└── useRPCData.js
├── translations
├── zh.json
├── en.json
├── tr.json
├── id.json
├── hi.json
└── fr.json
├── package.json
├── components
├── Tooltip
│ └── index.js
├── chain
│ └── index.js
├── header
│ └── index.js
├── AdBanner
│ └── index.js
├── Layout
│ ├── index.js
│ └── Logo.js
└── RPCList
│ └── index.js
├── README.md
├── purge-cache.js
├── generate-sitemap.js
├── .github
├── workflows
│ └── validate-chain-files.yml
└── scripts
│ └── validate-chain-files.js
└── utils
├── index.js
└── fetch.js
/public/error.html:
--------------------------------------------------------------------------------
1 | nope
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | sitemap.xml.js
2 | .next
3 | out
4 | public
5 |
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | # Allow all crawlers
2 | User-agent: *
3 | Allow: /
--------------------------------------------------------------------------------
/styles/globals.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "trailingComma": "all",
3 | "printWidth": 120,
4 | "tabWidth": 2
5 | }
6 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shahradelahi/chainlist/main/public/favicon.ico
--------------------------------------------------------------------------------
/public/unknown-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shahradelahi/chainlist/main/public/unknown-logo.png
--------------------------------------------------------------------------------
/public/multichain-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shahradelahi/chainlist/main/public/multichain-logo.png
--------------------------------------------------------------------------------
/public/banners/large/brave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shahradelahi/chainlist/main/public/banners/large/brave.png
--------------------------------------------------------------------------------
/public/banners/large/gmx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shahradelahi/chainlist/main/public/banners/large/gmx.png
--------------------------------------------------------------------------------
/public/banners/small/brave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shahradelahi/chainlist/main/public/banners/small/brave.png
--------------------------------------------------------------------------------
/public/banners/small/gmx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shahradelahi/chainlist/main/public/banners/small/gmx.png
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | };
7 |
--------------------------------------------------------------------------------
/public/banners/large/llamanodes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shahradelahi/chainlist/main/public/banners/large/llamanodes.png
--------------------------------------------------------------------------------
/public/banners/small/llamanodes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shahradelahi/chainlist/main/public/banners/small/llamanodes.png
--------------------------------------------------------------------------------
/next.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | output: 'export',
3 | // i18n: {
4 | // locales: ["en", "zh"],
5 | // defaultLocale: "en",
6 | // },
7 | reactStrictMode: true,
8 | };
9 |
--------------------------------------------------------------------------------
/constants/hypelab.js:
--------------------------------------------------------------------------------
1 | export const HYPELAB_PROPERTY_SLUG = "chainlist";
2 | export const HYPELAB_API_URL = "https://api.hypelab.com";
3 | export const HYPELAB_NATIVE_PLACEMENT_SLUG = "134be8540e";
4 |
--------------------------------------------------------------------------------
/scripts/post-export.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | sed -i '4 i "type": "module",' package.json
4 | node generate-sitemap.js
5 | node generate-json.js
6 | sed -i "4 d" package.json
7 | rm out/404.html
8 | mv out/error.html out/404.html
9 | cp serve.json out/serve.json
10 |
--------------------------------------------------------------------------------
/stores/index.js:
--------------------------------------------------------------------------------
1 | import create from "zustand";
2 |
3 | export const useChain = create((set) => ({
4 | id: null,
5 | updateChain: (id) => set(() => ({ id })),
6 | }));
7 |
8 | export const useRpcStore = create((set) => ({
9 | rpcs: [],
10 | addRpc: (value) => set((state) => ({ rpcs: [...state.rpcs, value] })),
11 | }));
12 |
--------------------------------------------------------------------------------
/tailwind.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | module.exports = {
3 | darkMode: 'class',
4 | content: ["./pages/**/*.{js,ts,jsx,tsx}", "./components/**/*.{js,ts,jsx,tsx}"],
5 | theme: {
6 | extend: {
7 | screens: {
8 | "3xl": "1680px",
9 | },
10 | },
11 | },
12 | plugins: [],
13 | };
14 |
--------------------------------------------------------------------------------
/pull_request_template.md:
--------------------------------------------------------------------------------
1 | If you are adding a new RPC, please answer the following questions.
2 |
3 | #### Link the service provider's website (the company/protocol/individual providing the RPC):
4 |
5 |
6 | #### Provide a link to your privacy policy:
7 |
8 |
9 | #### If the RPC has none of the above and you still think it should be added, please explain why:
10 |
11 | Your RPC should always be added at the end of the array.
--------------------------------------------------------------------------------
/constants/walletIcons.js:
--------------------------------------------------------------------------------
1 | export const walletIcons = {
2 | "Coinbase Wallet": "/connectors/coinbaseWalletIcon.svg",
3 | XDEFI: "/connectors/icn-xdefi.svg",
4 | Taho: "/connectors/icn-taho.svg",
5 | "Brave Wallet": "/connectors/icn-bravewallet.svg",
6 | Metamask: "/connectors/icn-metamask.svg",
7 | imToken: "/connectors/icn-imtoken.svg",
8 | Wallet: "/connectors/icn-metamask.svg",
9 | "Trust Wallet": "/connectors/icon-trust.svg",
10 | };
11 |
--------------------------------------------------------------------------------
/vercel.json:
--------------------------------------------------------------------------------
1 | {
2 | "cleanUrls": true,
3 | "redirects": [
4 | {
5 | "source": "/top-rpcs/:path*",
6 | "destination": "/chain/:path*",
7 | "permanent": true
8 | },
9 | {
10 | "source": "/best-rpcs/:path*",
11 | "destination": "/chain/:path*",
12 | "permanent": true
13 | },
14 | {
15 | "source": "/_next/image(/?):params*",
16 | "destination": "https://icons.llamao.fi/icons/misc/sus-chainlist"
17 | }
18 | ]
19 | }
20 |
--------------------------------------------------------------------------------
/constants/additionalChainRegistry/chainid-90025.js:
--------------------------------------------------------------------------------
1 | export const data = {
2 | "name": "AIPaw Mainnet",
3 | "chain": "aipaw",
4 | "rpc": [
5 | "https://rpc.aipaw.xyz",
6 | ],
7 | "faucets": [],
8 | "nativeCurrency": {
9 | "name": "Aipaw",
10 | "symbol": "AIPAW",
11 | "decimals": 18
12 | },
13 | "features": [{ "name": "EIP155" }],
14 | "infoURL": "https://aipaw.top",
15 | "shortName": "apaw",
16 | "chainId": 90025,
17 | "networkId": 90025,
18 | "icon": "aipaw",
19 | "explorers": []
20 | }
--------------------------------------------------------------------------------
/public/connectors/coinbaseWalletIcon.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/generate-json.js:
--------------------------------------------------------------------------------
1 | import {generateChainData} from "./utils/fetch.js"
2 | import {writeFileSync} from "fs"
3 |
4 |
5 | async function writeRpcsJson(){
6 | const rpcs = await generateChainData()
7 |
8 | const cleanedRpcs = rpcs.map(chain => {
9 | if (chain.rpc) {
10 | chain.rpc = chain.rpc.map(rpcEntry => {
11 | const { trackingDetails, ...rest } = rpcEntry
12 | return rest
13 | })
14 | }
15 | return chain
16 | })
17 |
18 | writeFileSync("out/rpcs.json", JSON.stringify(cleanedRpcs, null, 2))
19 | }
20 | writeRpcsJson();
--------------------------------------------------------------------------------
/constants/additionalChainRegistry/chainid-10121.js:
--------------------------------------------------------------------------------
1 | export const data = {
2 | name: "Ozone Mainnet",
3 | chain: "OZONE",
4 | icon: "ozone",
5 | rpc: ["https://chain.ozonescan.com"],
6 | features: [{ name: "EIP155" }, { name: "EIP1559" }],
7 | faucets: [],
8 | nativeCurrency: {
9 | name: "Ozone",
10 | symbol: "OZONE",
11 | decimals: 18,
12 | },
13 | infoURL: "https://ozonechain.com",
14 | shortName: "ozone",
15 | chainId: 10121,
16 | networkId: 10121,
17 | explorers: [
18 | {
19 | name: "Ozone Chain Explorer",
20 | url: "https://ozonescan.com",
21 | },
22 | ],
23 | };
24 |
--------------------------------------------------------------------------------
/constants/additionalChainRegistry/chainid-1440000.js:
--------------------------------------------------------------------------------
1 | export const data = {
2 | "name": "XRPL EVM",
3 | "chain": "XRPL",
4 | "icon": "xrpl evm",
5 | "rpc": [
6 | "https://rpc.xrplevm.org/",
7 | ],
8 | "faucets": [],
9 | "nativeCurrency": {
10 | "name": "XRP",
11 | "symbol": "XRP",
12 | "decimals": 18
13 | },
14 | "infoURL": "https://www.xrplevm.org/",
15 | "shortName": "xrplevm",
16 | "chainId": 1440000,
17 | "networkId": 1440000,
18 | "slip44": 144,
19 | "explorers": [
20 | {
21 | "name": "XRPL EVM Explorer",
22 | "url": "https://explorer.xrplevm.org",
23 | }
24 | ]
25 | }
--------------------------------------------------------------------------------
/constants/additionalChainRegistry/chainid-202506.js:
--------------------------------------------------------------------------------
1 | export const data = {
2 | "name": "Aurex Testnet",
3 | "chain": "AUREX",
4 | "rpc": [
5 | "https://aurexgold.com:3000"
6 | ],
7 | "faucets": [],
8 | "nativeCurrency": {
9 | "name": "Aurex",
10 | "symbol": "AUREX",
11 | "decimals": 18
12 | },
13 | "infoURL": "https://aurexgold.com",
14 | "shortName": "aurext",
15 | "chainId": 202506,
16 | "networkId": 202506,
17 | "slip44": 1,
18 | "explorers": [
19 | {
20 | "name": "Aurex Testnet Explorer",
21 | "url": "https://aurexgold.com:4001",
22 | "standard": "EIP3091"
23 | }
24 | ]
25 | }
26 |
--------------------------------------------------------------------------------
/constants/additionalChainRegistry/chainid-1990.js:
--------------------------------------------------------------------------------
1 | export const data = {
2 | "name": "QIE Mainnet",
3 | "chain": "QIE",
4 | "rpc": [
5 | "https://rpc1mainnet.qie.digital",
6 | ],
7 | "faucets": [],
8 | "nativeCurrency": {
9 | "name": "QIE",
10 | "symbol": "QIE",
11 | "decimals": 18
12 | },
13 | "features": [{ "name": "EIP155" }, { "name": "EIP1559" }],
14 | "infoURL": "https://www.qie.digital/",
15 | "shortName": "QIE",
16 | "chainId": 1990,
17 | "networkId": 1990,
18 | "icon": "QIE",
19 | "explorers": [{
20 | "name": "QIE mainnet explorer",
21 | "url": "https://mainnet.qie.digital/",
22 | }]
23 | };
24 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # generated files
4 | constants/additionalChainRegistry/list.js
5 |
6 | # dependencies
7 | /node_modules
8 | /.pnp
9 | .pnp.js
10 |
11 | # testing
12 | /coverage
13 |
14 | # next.js
15 | /.next/
16 | /out/
17 |
18 | # production
19 | /build
20 |
21 | # misc
22 | .DS_Store
23 | *.pem
24 |
25 | # debug
26 | npm-debug.log*
27 | yarn-debug.log*
28 | yarn-error.log*
29 |
30 | # local env files
31 | .env.local
32 | .env.development.local
33 | .env.test.local
34 | .env.production.local
35 | .env
36 |
37 | # vercel
38 | .vercel
39 |
40 | # others
41 | build.log
42 |
--------------------------------------------------------------------------------
/constants/additionalChainRegistry/chainid-4048.js:
--------------------------------------------------------------------------------
1 | export const data = {
2 | "name": "GANchain L1",
3 | "chain": "GAN",
4 | "rpc": [
5 | "https://rpc.gpu.net",
6 | ],
7 | "faucets": [],
8 | "nativeCurrency": {
9 | "name": "GPUnet",
10 | "symbol": "GPU",
11 | "decimals": 18
12 | },
13 | "features": [{ "name": "EIP155" }, { "name": "EIP1559" }],
14 | "infoURL": "https://gpu.net",
15 | "shortName": "gan",
16 | "chainId": 4048,
17 | "networkId": 4048,
18 | "icon": "gpu",
19 | "explorers": [{
20 | "name": "ganscan",
21 | "url": "https://ganscan.gpu.net",
22 | "icon": "gpu",
23 | "standard": "EIP3091"
24 | }]
25 | }
26 |
--------------------------------------------------------------------------------
/constants/additionalChainRegistry/chainid-9.js:
--------------------------------------------------------------------------------
1 | export const data = {
2 | "name": "Quai Mainnet",
3 | "chain": "QUAI",
4 | "rpc": [
5 | "https://rpc.quai.network/cyprus1",
6 | ],
7 | "faucets": [],
8 | "nativeCurrency": {
9 | "name": "Quai",
10 | "symbol": "QUAI",
11 | "decimals": 18
12 | },
13 | "features": [{ "name": "EIP155" }],
14 | "infoURL": "https://qu.ai",
15 | "shortName": "quai",
16 | "chainId": 9,
17 | "networkId": 9,
18 | "icon": "quai",
19 | "explorers": [{
20 | "name": "Quaiscan",
21 | "url": "https://quaiscan.io",
22 | "icon": "quaiscan",
23 | "standard": "EIP3091"
24 | }]
25 | }
--------------------------------------------------------------------------------
/constants/additionalChainRegistry/chainid-10001.js:
--------------------------------------------------------------------------------
1 | export const data = {
2 | "name": "ETHW-mainnet",
3 | "chain": "ETHW",
4 | "icon": "ethpow",
5 | "rpc": [
6 | "https://mainnet.ethereumpow.org/"
7 | ],
8 | "features": [{ "name": "EIP155" }],
9 | "faucets": [],
10 | "nativeCurrency": {
11 | "name": "EthereumPoW",
12 | "symbol": "ETHW",
13 | "decimals": 18
14 | },
15 | "infoURL": "https://ethereumpow.org/",
16 | "shortName": "ethw",
17 | "chainId": 10001,
18 | "networkId": 10001,
19 | "explorers": [
20 | {
21 | "name": "Oklink",
22 | "url": "https://www.oklink.com/ethw/"
23 | }
24 | ]
25 | }
--------------------------------------------------------------------------------
/constants/additionalChainRegistry/chainid-2105.js:
--------------------------------------------------------------------------------
1 | export const data = {
2 | "name": "IBVM Mainnet",
3 | "chain": "IBVM Mainnet",
4 | "icon": "ibvm",
5 | "rpc": [
6 | "https://rpc-mainnet.ibvm.io/"
7 | ],
8 | "nativeCurrency": {
9 | "name": "IBVM Bitcoin",
10 | "symbol": "BTC",
11 | "decimals": 18
12 | },
13 | "infoURL": "https://ibvm.io/",
14 | "shortName": "IBVM",
15 | "chainId": 2105,
16 | "networkId": 2105,
17 | "explorers": [
18 | {
19 | "name": "IBVM explorer",
20 | "url": "https://mainnet-explorer.ibvm.io",
21 | "standard": "EIP3091"
22 | }
23 | ],
24 | "status": "active"
25 | }
26 |
--------------------------------------------------------------------------------
/constants/additionalChainRegistry/chainid-9030.js:
--------------------------------------------------------------------------------
1 | export const data = {
2 | "name": "Qubetics Mainnet",
3 | "chain": "QUBETICS",
4 | "rpc": [
5 | "https://rpc.qubetics.com",
6 | ],
7 | "faucets": [],
8 | "nativeCurrency": {
9 | "name": "TICS",
10 | "symbol": "TICS",
11 | "decimals": 18
12 | },
13 | "features": [{ "name": "EIP155" }, { "name": "EIP1559" }],
14 | "infoURL": "https://www.qubetics.com",
15 | "shortName": "TICS",
16 | "chainId": 9030,
17 | "networkId": 9030,
18 | "icon": "TICS",
19 | "explorers": [{
20 | "name": "QUBETICS mainnet explorer",
21 | "url": "https://ticsscan.com",
22 | }]
23 | };
24 |
--------------------------------------------------------------------------------
/constants/additionalChainRegistry/chainid-688688.js:
--------------------------------------------------------------------------------
1 | export const data = {
2 | "name": "Pharos Testnet",
3 | "title": "Pharos Testnet",
4 | "chain": "Pharos",
5 | "icon": "pharostestnet",
6 | "rpc": ["https://testnet.dplabs-internal.com"],
7 | "faucets": [],
8 | "nativeCurrency": {
9 | "name": "PHRS",
10 | "symbol": "PHRS",
11 | "decimals": 18
12 | },
13 | "infoURL": "https://testnet.pharosnetwork.xyz/",
14 | "shortName": "pharos-testnet",
15 | "chainId": 688688,
16 | "networkId": 688688,
17 | "explorers": [
18 | {
19 | "name": "Pharos Testnet Explorer",
20 | "url": "https://testnet.pharosscan.xyz",
21 | "standard": "EIP3091"
22 | }
23 | ]
24 | }
25 |
--------------------------------------------------------------------------------
/constants/additionalChainRegistry/chainid-210000.js:
--------------------------------------------------------------------------------
1 | export const data = {
2 | "name": "JuChain Mainnet",
3 | "chain": "JU",
4 | "rpc": [
5 | "https://rpc.juchain.org"
6 | ],
7 | "faucets": [],
8 | "nativeCurrency": {
9 | "name": "JUcoin",
10 | "symbol": "JU",
11 | "decimals": 18
12 | },
13 | "features": [
14 | { "name": "EIP155" },
15 | { "name": "EIP1559" }
16 | ],
17 | "infoURL": "https://juchain.org",
18 | "shortName": "juchain",
19 | "chainId": 210000,
20 | "icon": "juchain",
21 | "explorers": [
22 | {
23 | "name": "juscan",
24 | "url": "https://juscan.io",
25 | "icon": "juscan",
26 | "standard": "EIP3091"
27 | }
28 | ]
29 | }
30 |
--------------------------------------------------------------------------------
/constants/additionalChainRegistry/chainid-3109.js:
--------------------------------------------------------------------------------
1 | export const data = {
2 | "name": "SatoshiVM",
3 | "chain": "BTC",
4 | "icon": "satoshivm",
5 | "rpc": [
6 | "https://alpha-rpc-node-http.svmscan.io/"
7 | ],
8 | "features": [{ "name": "EIP155" }, { "name": "EIP1559" }],
9 | "faucets": [],
10 | "nativeCurrency": {
11 | "name": "SatoshiVM",
12 | "symbol": "BTC",
13 | "decimals": 18
14 | },
15 | "infoURL": "https://www.satoshivm.io/",
16 | "shortName": "svm",
17 | "chainId": 3109,
18 | "networkId": 3109,
19 | "explorers": [
20 | {
21 | "name": "Svmscan",
22 | "url": "https://svmscan.io/"
23 | }
24 | ]
25 | }
--------------------------------------------------------------------------------
/constants/additionalChainRegistry/chainid-13863860.js:
--------------------------------------------------------------------------------
1 | export const data = {
2 | "name": "Symbiosis",
3 | "chain": "SIS",
4 | "icon": "symbiosis",
5 | "rpc": [
6 | "https://symbiosis.calderachain.xyz/http",
7 | ],
8 | "faucets": [],
9 | "nativeCurrency": {
10 | "name": "Symbiosis",
11 | "symbol": "SIS",
12 | "decimals": 18
13 | },
14 | "features": [{ "name": "EIP155" }, { "name": "EIP1559" }],
15 | "infoURL": "https://symbiosis.finance",
16 | "shortName": "sis",
17 | "chainId": 13863860,
18 | "networkId": 13863860,
19 | "explorers": [
20 | {
21 | "name": "Symbiosis explorer",
22 | "url": "https://symbiosis.calderaexplorer.xyz"
23 | }
24 | ]
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/constants/additionalChainRegistry/chainid-586.js:
--------------------------------------------------------------------------------
1 | export const data = {
2 | "name": "MarketCapy TestNet 1",
3 | "chain": "CAPY",
4 | "rpc": [
5 | "https://fraa-flashbox-4646-rpc.a.stagenet.tanssi.network"
6 | ],
7 | "features": [{ "name": "EIP155" }, { "name": "EIP1559" }],
8 | "faucets": [],
9 | "nativeCurrency": {
10 | "name": "CAPY",
11 | "symbol": "CAPY",
12 | "decimals": 18
13 | },
14 | "infoURL": "https://marketcapy.xyz/",
15 | "shortName": "capy",
16 | "chainId": 586,
17 | "networkId": 586,
18 | "explorers": [
19 | {
20 | "name": "Capy Explorer",
21 | "url": "https://explorer.marketcapy.xyz/"
22 | }
23 | ]
24 | }
25 |
--------------------------------------------------------------------------------
/serve.json:
--------------------------------------------------------------------------------
1 | {
2 | "cleanUrls": true,
3 | "redirects": [
4 | {
5 | "source": "/top-rpcs/:path*",
6 | "destination": "/chain/:path*",
7 | "type": 308
8 | },
9 | {
10 | "source": "/best-rpcs/:path*",
11 | "destination": "/chain/:path*",
12 | "type": 308
13 | },
14 | {
15 | "source": "/_next/image**",
16 | "destination": "https://icons.llamao.fi/icons/misc/sus-chainlist",
17 | "type": 302
18 | }
19 | ],
20 | "headers": [
21 | {
22 | "source" : "rpcs.json",
23 | "headers" : [{
24 | "key" : "Access-Control-Allow-Origin",
25 | "value" : "*"
26 | }]
27 | }
28 | ],
29 | "directoryListing": false
30 | }
31 |
--------------------------------------------------------------------------------
/constants/additionalChainRegistry/chainid-657468.js:
--------------------------------------------------------------------------------
1 | export const data = {
2 | "name": "Ethereal Testnet",
3 | "title": "Ethereal Testnet",
4 | "chain": "Ethereal",
5 | "icon": "etherealtestnet",
6 | "rpc": ["https://rpc.etherealtest.net"],
7 | "faucets": [],
8 | "nativeCurrency": {
9 | "name": "USDe",
10 | "symbol": "USDe",
11 | "decimals": 18
12 | },
13 | "infoURL": "https://www.ethereal.trade/",
14 | "shortName": "ethereal-testnet",
15 | "chainId": 657468,
16 | "networkId": 657468,
17 | "explorers": [
18 | {
19 | "name": "blockscout",
20 | "url": "https://explorer.etherealtest.net",
21 | "icon": "blockscout",
22 | "standard": "EIP3091"
23 | }
24 | ]
25 | }
26 |
--------------------------------------------------------------------------------
/constants/additionalChainRegistry/chainid-202599.js:
--------------------------------------------------------------------------------
1 | export const data = {
2 | "name": "JuChain Testnet",
3 | "chain": "JU",
4 | "rpc": [
5 | "https://testnet-rpc.juchain.org"
6 | ],
7 | "faucets": [],
8 | "nativeCurrency": {
9 | "name": "JUcoin",
10 | "symbol": "JU",
11 | "decimals": 18
12 | },
13 | "features": [
14 | { "name": "EIP155" },
15 | { "name": "EIP1559" }
16 | ],
17 | "infoURL": "https://juchain.org",
18 | "shortName": "ju",
19 | "chainId": 202599,
20 | "icon": "juchain",
21 | "explorers": [
22 | {
23 | "name": "juscan-testnet",
24 | "url": "https://testnet.juscan.io",
25 | "icon": "juscan",
26 | "standard": "EIP3091"
27 | }
28 | ]
29 | }
30 |
--------------------------------------------------------------------------------
/constants/additionalChainRegistry/chainid-612055.js:
--------------------------------------------------------------------------------
1 | export const data = {
2 | "name": "CROSS Mainnet",
3 | "chain": "CROSS",
4 | "rpc": [
5 | "https://mainnet.crosstoken.io:22001",
6 | "wss://mainnet.crosstoken.io:32001"
7 | ],
8 | "faucets": [],
9 | "nativeCurrency": {
10 | "name": "CROSS",
11 | "symbol": "CROSS",
12 | "decimals": 18
13 | },
14 | "infoURL": "https://to.nexus",
15 | "shortName": "cross",
16 | "chainId": 612055,
17 | "networkId": 612055,
18 | "icon": "cross",
19 | "slip44": 1100,
20 | "explorers": [
21 | {
22 | "name": "CROSS Explorer",
23 | "url": "https://www.crossscan.io",
24 | "icon": "cross",
25 | "standard": "EIP3091"
26 | }
27 | ]
28 | }
--------------------------------------------------------------------------------
/constants/additionalChainRegistry/chainid-97741.js:
--------------------------------------------------------------------------------
1 | export const data = {
2 | "name": "PEPE Unchained",
3 | "chain": "PEPU",
4 | "icon": "pepu",
5 | "rpc": [
6 | "https://rpc-pepu-v2-mainnet-0.t.conduit.xyz",
7 | ],
8 | "features": [{ "name": "EIP155" }, { "name": "EIP1559" }],
9 | "faucets": [],
10 | "nativeCurrency": {
11 | "name": "Pepe Unchained",
12 | "symbol": "PEPU",
13 | "decimals": 18
14 | },
15 | "infoURL": "https://pepeunchained.com/",
16 | "shortName": "pepu",
17 | "chainId": 97741,
18 | "networkId": 97741,
19 | "explorers": [
20 | {
21 | "name": "PEPUScan",
22 | "url": "https://pepuscan.com/"
23 | }
24 | ]
25 | }
26 |
--------------------------------------------------------------------------------
/pages/_app.js:
--------------------------------------------------------------------------------
1 | import * as React from "react";
2 | import { QueryClientProvider, QueryClient } from "@tanstack/react-query";
3 | // import { NextIntlProvider } from "next-intl";
4 | import { useAnalytics } from "../hooks/useAnalytics";
5 | import "../styles/globals.css";
6 |
7 | function App({ Component, pageProps }) {
8 | useAnalytics();
9 |
10 | const [queryClient] = React.useState(() => new QueryClient());
11 |
12 | return (
13 |