diff --git a/README.md b/README.md new file mode 100644 index 0000000000..0fcf2f11f8 --- /dev/null +++ b/README.md @@ -0,0 +1,45 @@ +# **How to build application** + +# Project Build Documentation + +## 1. Required Tools +To build the project, you will need to have **Android Studio** version 2024.1.1 or higher. The embedded version of **Java** should be version **17** or higher. + +### Steps: +1. Install **Android Studio** + - You can download the latest version from the [official Android Studio website](https://developer.android.com/studio). +2. Setup JDK + - In the Android Studio go to *Android Studio* option in top menu bar -> *Preferences* -> *Build, Execution, + Deployment* -> *Build Tools* -> *Gradle*. + - In *Gradle JDK* field check if you have JDK 17. If not, choose *Download JDK* in the drop down menu and choose **Amazon Coretto 17.0.14** + (or any other version starts with 17). + - Apply changes, press **Ok** and restart the Android Studio. + +## 2. Required Dependencies +To be able to use key dependencies, you need to be able to pull them from **GitHub Package Registry**. + +### Steps: +1. Go to [GitHub Settings → Developer settings → Personal access tokens](https://github.com/settings/tokens). +2. Click *Generate new token* -> *Generate new token (classic)* -> type any name for the token -> don’t change anything, just check the box `read:packages` -> press “Generate token” -> copy the generated token +3. Open the `local.properties` file in the root project directory (or you can press **Command+Shift+O** and type “local. + properties” to find the file) and add the following lines: + ```properties + gpr.user=YOUR_GITHUB_USERNAME + gpr.key=YOUR_GENERATED_TOKEN + ``` + - `YOUR_GITHUB_USERNAME` — your GitHub username + - `YOUR_GENERATED_TOKEN` — the token you generated in the previous step. + +## 3. Sync Gradle and Build the Project +Once all the previous steps are completed, you need to sync your Gradle files and run the build. + +### Steps: +1. Checkout the **master** branch. +2. Select **Build Variant** for the project as **googleExternal**. +3. In Android Studio, go to the **File** menu and select **Sync Project with Gradle Files**. +4. Once the sync is complete, you can build the project by selecting **Build → Make Project** or pressing **Ctrl+F9** (Windows/Linux) or **Cmd+F9** (macOS) or **Build → Build App Bundle(s) → Build APK(s)**. +5. Ensure there are no errors in the **Build Output** and that the project is successfully built. + +**Alternative:** +Instead of steps 2–5, you can build the project from the command line: +`./gradlew assembleGoogleExternal` \ No newline at end of file diff --git a/app/src/main/assets/tangem-app-config/android/keystore/debug_keystore b/app/src/main/assets/tangem-app-config/android/keystore/debug_keystore new file mode 100644 index 0000000000..c8860c97cc Binary files /dev/null and b/app/src/main/assets/tangem-app-config/android/keystore/debug_keystore differ diff --git a/app/src/main/assets/tangem-app-config/android/keystore/debug_keystore.properties b/app/src/main/assets/tangem-app-config/android/keystore/debug_keystore.properties new file mode 100644 index 0000000000..fb70d60364 --- /dev/null +++ b/app/src/main/assets/tangem-app-config/android/keystore/debug_keystore.properties @@ -0,0 +1,3 @@ +store_password=android +key_alias=dummy +key_password=android \ No newline at end of file diff --git a/app/src/main/assets/tangem-app-config/config_dev.json b/app/src/main/assets/tangem-app-config/config_dev.json new file mode 100644 index 0000000000..85c08d76d7 --- /dev/null +++ b/app/src/main/assets/tangem-app-config/config_dev.json @@ -0,0 +1,225 @@ +{ + "amplitudeApiKey": "PLACEHOLDER", + "amplitudeApiKeyDev": "PLACEHOLDER", + "appsFlyer": { + "appsFlyerDevKey": "PLACEHOLDER", + "appsFlyerAppID": "PLACEHOLDER" + }, + "blockchairApiKeys": [ + "PLACEHOLDER" + ], + "blockchairAuthorizationToken": "PLACEHOLDER", + "blockcypherTokens": [ + "PLACEHOLDER" + ], + "bscQuiknodeApiKey": "PLACEHOLDER", + "bscQuiknodeSubdomain": "PLACEHOLDER", + "getBlockAccessTokens": { + "avalanche": { + "jsonRpc": "PLACEHOLDER" + }, + "ethereum": { + "jsonRpc": "PLACEHOLDER" + }, + "ethereumClassic": { + "jsonRpc": "PLACEHOLDER" + }, + "fantom": { + "jsonRpc": "PLACEHOLDER" + }, + "rsk": { + "jsonRpc": "PLACEHOLDER" + }, + "bsc": { + "jsonRpc": "PLACEHOLDER" + }, + "polygon": { + "jsonRpc": "PLACEHOLDER" + }, + "xdai": { + "jsonRpc": "PLACEHOLDER" + }, + "cronos": { + "jsonRpc": "PLACEHOLDER" + }, + "solana": { + "jsonRpc": "PLACEHOLDER" + }, + "ton": { + "jsonRpc": "PLACEHOLDER" + }, + "tron": { + "rest": "PLACEHOLDER" + }, + "cosmos-hub": { + "rest": "PLACEHOLDER" + }, + "near": { + "jsonRpc": "PLACEHOLDER" + }, + "xrp": { + "jsonRpc": "PLACEHOLDER" + }, + "cardano": { + "rosetta": "PLACEHOLDER" + }, + "dogecoin": { + "blockBookRest": "PLACEHOLDER", + "jsonRpc": "PLACEHOLDER" + }, + "litecoin": { + "blockBookRest": "PLACEHOLDER", + "jsonRpc": "PLACEHOLDER" + }, + "dash": { + "blockBookRest": "PLACEHOLDER", + "jsonRpc": "PLACEHOLDER" + }, + "bitcoin": { + "blockBookRest": "PLACEHOLDER", + "jsonRpc": "PLACEHOLDER" + }, + "aptos": { + "rest": "PLACEHOLDER" + }, + "algorand": { + "rest": "PLACEHOLDER" + }, + "polygon-zkevm": { + "jsonRpc": "PLACEHOLDER" + }, + "zksync": { + "jsonRpc": "PLACEHOLDER" + }, + "base": { + "jsonRpc": "PLACEHOLDER" + }, + "blast": { + "jsonRpc": "PLACEHOLDER" + }, + "filecoin": { + "jsonRpc": "PLACEHOLDER" + }, + "arbitrum-one": { + "jsonRpc": "PLACEHOLDER" + }, + "bitcoinCash": { + "blockBookRest": "PLACEHOLDER", + "jsonRpc": "PLACEHOLDER" + }, + "kusama": { + "jsonRpc": "PLACEHOLDER" + }, + "moonbeam": { + "jsonRpc": "PLACEHOLDER" + }, + "optimism": { + "jsonRpc": "PLACEHOLDER" + }, + "polkadot": { + "jsonRpc": "PLACEHOLDER" + }, + "shibarium": { + "jsonRpc": "PLACEHOLDER" + }, + "sui": { + "jsonRpc": "PLACEHOLDER" + }, + "telos": { + "jsonRpc": "PLACEHOLDER" + }, + "tezos": { + "rest": "PLACEHOLDER" + }, + "monad": { + "rest": "PLACEHOLDER" + }, + "stellar": { + "rest": "PLACEHOLDER" + }, + "berachain": { + "rest": "PLACEHOLDER" + } + }, + "kaspaSecondaryApiUrl": "PLACEHOLDER", + "infuraProjectId": "PLACEHOLDER", + "mercuryoSecret": "PLACEHOLDER", + "mercuryoWidgetId": "PLACEHOLDER", + "moonPayApiKey": "PLACEHOLDER", + "moonPayApiSecretKey": "PLACEHOLDER", + "nowNodesApiKey": "PLACEHOLDER", + "tonCenterApiKey": { + "mainnet": "PLACEHOLDER", + "testnet": "PLACEHOLDER" + }, + "quiknodeApiKey": "PLACEHOLDER", + "quiknodeSubdomain": "PLACEHOLDER", + "quiknodePlasmaApiKey": "PLACEHOLDER", + "quiknodePlasmaSubdomain": "PLACEHOLDER", + "quiknodeMonadApiKey": "PLACEHOLDER", + "quiknodeMonadSubdomain": "PLACEHOLDER", + "quiknodeStellarApiKey": "PLACEHOLDER", + "quiknodeStellarSubdomain": "PLACEHOLDER", + "quiknodeBerachainApiKey": "PLACEHOLDER", + "quiknodeBerachainSubdomain": "PLACEHOLDER", + "quiknodeXRPLApiKey": "PLACEHOLDER", + "quiknodeXRPLSubdomain": "PLACEHOLDER", + "quiknodeRobinhoodApiKey": "PLACEHOLDER", + "quiknodeRobinhoodSubdomain": "PLACEHOLDER", + "quiknodeHederaApiKey": "PLACEHOLDER", + "quiknodeHederaSubdomain": "PLACEHOLDER", + "tronGridApiKey": "PLACEHOLDER", + "walletConnectProjectId": "PLACEHOLDER", + "chiaFireAcademyApiKey": "PLACEHOLDER", + "chiaTangemApiKey": "PLACEHOLDER", + "express": { + "apiKey": "PLACEHOLDER", + "signVerifierPublicKey": "PLACEHOLDER" + }, + "devExpress": { + "apiKey": "PLACEHOLDER", + "signVerifierPublicKey": "PLACEHOLDER" + }, + "hederaArkhiaKey": "PLACEHOLDER", + "polygonScanApiKey": "PLACEHOLDER", + "koinosProApiKey": "PLACEHOLDER", + "stakeKitApiKey": "PLACEHOLDER", + "bittensorDwellirKey": "PLACEHOLDER", + "dwellirApiKey": "PLACEHOLDER", + "bittensorOnfinalityKey": "PLACEHOLDER", + "alephiumTangemApiKey": "PLACEHOLDER", + "moralisApiKey": "PLACEHOLDER", + "blockaidApiKey": "PLACEHOLDER", + "tangemApiKey": "PLACEHOLDER", + "tangemApiKeyDev": "PLACEHOLDER", + "tangemApiKeyStage": "PLACEHOLDER", + "etherscanApiKey": "PLACEHOLDER", + "yieldModuleApiKey": "PLACEHOLDER", + "yieldModuleApiKeyDev": "PLACEHOLDER", + "blinkApiKey": "PLACEHOLDER", + "tatumApiKey": "PLACEHOLDER", + "bffStaticToken": "PLACEHOLDER", + "bffStaticTokenDev": "PLACEHOLDER", + "p2pApiKey": { + "mainnet": "PLACEHOLDER", + "hoodi": "PLACEHOLDER" + }, + "customerIO": { + "androidApiKey": "PLACEHOLDER" + }, + "surveySparrow": { + "clientID": "PLACEHOLDER", + "clientSecret": "PLACEHOLDER", + "apiKey": "PLACEHOLDER", + "swapRating": { + "surveyId": "PLACEHOLDER", + "ratingQuestionId": "PLACEHOLDER", + "feedbackQuestionId": "PLACEHOLDER" + } + }, + "gaslessTxApiKey": "PLACEHOLDER", + "gaslessTxApiKeyDev": "PLACEHOLDER", + "alchemyApiKey": "PLACEHOLDER", + "authServiceKey": "PLACEHOLDER", + "otplApiKey": "PLACEHOLDER" +} diff --git a/app/src/main/assets/tangem-app-config/config_prod.json b/app/src/main/assets/tangem-app-config/config_prod.json new file mode 100644 index 0000000000..85c08d76d7 --- /dev/null +++ b/app/src/main/assets/tangem-app-config/config_prod.json @@ -0,0 +1,225 @@ +{ + "amplitudeApiKey": "PLACEHOLDER", + "amplitudeApiKeyDev": "PLACEHOLDER", + "appsFlyer": { + "appsFlyerDevKey": "PLACEHOLDER", + "appsFlyerAppID": "PLACEHOLDER" + }, + "blockchairApiKeys": [ + "PLACEHOLDER" + ], + "blockchairAuthorizationToken": "PLACEHOLDER", + "blockcypherTokens": [ + "PLACEHOLDER" + ], + "bscQuiknodeApiKey": "PLACEHOLDER", + "bscQuiknodeSubdomain": "PLACEHOLDER", + "getBlockAccessTokens": { + "avalanche": { + "jsonRpc": "PLACEHOLDER" + }, + "ethereum": { + "jsonRpc": "PLACEHOLDER" + }, + "ethereumClassic": { + "jsonRpc": "PLACEHOLDER" + }, + "fantom": { + "jsonRpc": "PLACEHOLDER" + }, + "rsk": { + "jsonRpc": "PLACEHOLDER" + }, + "bsc": { + "jsonRpc": "PLACEHOLDER" + }, + "polygon": { + "jsonRpc": "PLACEHOLDER" + }, + "xdai": { + "jsonRpc": "PLACEHOLDER" + }, + "cronos": { + "jsonRpc": "PLACEHOLDER" + }, + "solana": { + "jsonRpc": "PLACEHOLDER" + }, + "ton": { + "jsonRpc": "PLACEHOLDER" + }, + "tron": { + "rest": "PLACEHOLDER" + }, + "cosmos-hub": { + "rest": "PLACEHOLDER" + }, + "near": { + "jsonRpc": "PLACEHOLDER" + }, + "xrp": { + "jsonRpc": "PLACEHOLDER" + }, + "cardano": { + "rosetta": "PLACEHOLDER" + }, + "dogecoin": { + "blockBookRest": "PLACEHOLDER", + "jsonRpc": "PLACEHOLDER" + }, + "litecoin": { + "blockBookRest": "PLACEHOLDER", + "jsonRpc": "PLACEHOLDER" + }, + "dash": { + "blockBookRest": "PLACEHOLDER", + "jsonRpc": "PLACEHOLDER" + }, + "bitcoin": { + "blockBookRest": "PLACEHOLDER", + "jsonRpc": "PLACEHOLDER" + }, + "aptos": { + "rest": "PLACEHOLDER" + }, + "algorand": { + "rest": "PLACEHOLDER" + }, + "polygon-zkevm": { + "jsonRpc": "PLACEHOLDER" + }, + "zksync": { + "jsonRpc": "PLACEHOLDER" + }, + "base": { + "jsonRpc": "PLACEHOLDER" + }, + "blast": { + "jsonRpc": "PLACEHOLDER" + }, + "filecoin": { + "jsonRpc": "PLACEHOLDER" + }, + "arbitrum-one": { + "jsonRpc": "PLACEHOLDER" + }, + "bitcoinCash": { + "blockBookRest": "PLACEHOLDER", + "jsonRpc": "PLACEHOLDER" + }, + "kusama": { + "jsonRpc": "PLACEHOLDER" + }, + "moonbeam": { + "jsonRpc": "PLACEHOLDER" + }, + "optimism": { + "jsonRpc": "PLACEHOLDER" + }, + "polkadot": { + "jsonRpc": "PLACEHOLDER" + }, + "shibarium": { + "jsonRpc": "PLACEHOLDER" + }, + "sui": { + "jsonRpc": "PLACEHOLDER" + }, + "telos": { + "jsonRpc": "PLACEHOLDER" + }, + "tezos": { + "rest": "PLACEHOLDER" + }, + "monad": { + "rest": "PLACEHOLDER" + }, + "stellar": { + "rest": "PLACEHOLDER" + }, + "berachain": { + "rest": "PLACEHOLDER" + } + }, + "kaspaSecondaryApiUrl": "PLACEHOLDER", + "infuraProjectId": "PLACEHOLDER", + "mercuryoSecret": "PLACEHOLDER", + "mercuryoWidgetId": "PLACEHOLDER", + "moonPayApiKey": "PLACEHOLDER", + "moonPayApiSecretKey": "PLACEHOLDER", + "nowNodesApiKey": "PLACEHOLDER", + "tonCenterApiKey": { + "mainnet": "PLACEHOLDER", + "testnet": "PLACEHOLDER" + }, + "quiknodeApiKey": "PLACEHOLDER", + "quiknodeSubdomain": "PLACEHOLDER", + "quiknodePlasmaApiKey": "PLACEHOLDER", + "quiknodePlasmaSubdomain": "PLACEHOLDER", + "quiknodeMonadApiKey": "PLACEHOLDER", + "quiknodeMonadSubdomain": "PLACEHOLDER", + "quiknodeStellarApiKey": "PLACEHOLDER", + "quiknodeStellarSubdomain": "PLACEHOLDER", + "quiknodeBerachainApiKey": "PLACEHOLDER", + "quiknodeBerachainSubdomain": "PLACEHOLDER", + "quiknodeXRPLApiKey": "PLACEHOLDER", + "quiknodeXRPLSubdomain": "PLACEHOLDER", + "quiknodeRobinhoodApiKey": "PLACEHOLDER", + "quiknodeRobinhoodSubdomain": "PLACEHOLDER", + "quiknodeHederaApiKey": "PLACEHOLDER", + "quiknodeHederaSubdomain": "PLACEHOLDER", + "tronGridApiKey": "PLACEHOLDER", + "walletConnectProjectId": "PLACEHOLDER", + "chiaFireAcademyApiKey": "PLACEHOLDER", + "chiaTangemApiKey": "PLACEHOLDER", + "express": { + "apiKey": "PLACEHOLDER", + "signVerifierPublicKey": "PLACEHOLDER" + }, + "devExpress": { + "apiKey": "PLACEHOLDER", + "signVerifierPublicKey": "PLACEHOLDER" + }, + "hederaArkhiaKey": "PLACEHOLDER", + "polygonScanApiKey": "PLACEHOLDER", + "koinosProApiKey": "PLACEHOLDER", + "stakeKitApiKey": "PLACEHOLDER", + "bittensorDwellirKey": "PLACEHOLDER", + "dwellirApiKey": "PLACEHOLDER", + "bittensorOnfinalityKey": "PLACEHOLDER", + "alephiumTangemApiKey": "PLACEHOLDER", + "moralisApiKey": "PLACEHOLDER", + "blockaidApiKey": "PLACEHOLDER", + "tangemApiKey": "PLACEHOLDER", + "tangemApiKeyDev": "PLACEHOLDER", + "tangemApiKeyStage": "PLACEHOLDER", + "etherscanApiKey": "PLACEHOLDER", + "yieldModuleApiKey": "PLACEHOLDER", + "yieldModuleApiKeyDev": "PLACEHOLDER", + "blinkApiKey": "PLACEHOLDER", + "tatumApiKey": "PLACEHOLDER", + "bffStaticToken": "PLACEHOLDER", + "bffStaticTokenDev": "PLACEHOLDER", + "p2pApiKey": { + "mainnet": "PLACEHOLDER", + "hoodi": "PLACEHOLDER" + }, + "customerIO": { + "androidApiKey": "PLACEHOLDER" + }, + "surveySparrow": { + "clientID": "PLACEHOLDER", + "clientSecret": "PLACEHOLDER", + "apiKey": "PLACEHOLDER", + "swapRating": { + "surveyId": "PLACEHOLDER", + "ratingQuestionId": "PLACEHOLDER", + "feedbackQuestionId": "PLACEHOLDER" + } + }, + "gaslessTxApiKey": "PLACEHOLDER", + "gaslessTxApiKeyDev": "PLACEHOLDER", + "alchemyApiKey": "PLACEHOLDER", + "authServiceKey": "PLACEHOLDER", + "otplApiKey": "PLACEHOLDER" +} diff --git a/app/src/main/assets/tangem-app-config/providers_order.json b/app/src/main/assets/tangem-app-config/providers_order.json new file mode 100644 index 0000000000..4cc280c4e8 --- /dev/null +++ b/app/src/main/assets/tangem-app-config/providers_order.json @@ -0,0 +1,1524 @@ +{ + "aleph-zero": [ + { + "type": "public", + "url": "https://rpc.azero.dev/" + }, + { + "type": "public", + "url": "https://aleph-zero.api.onfinality.io/public/" + } + ], + "alephium": [ + { + "type": "public", + "url": "https://node.mainnet.alephium.org/" + }, + { + "type": "private", + "name": "tangemAlephium" + }, + { + "type": "private", + "name": "nownodes" + } + ], + "algorand": [ + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + }, + { + "type": "public", + "url": "https://mainnet-api.algonode.cloud/" + } + ], + "aptos": [ + { + "type": "public", + "url": "https://fullnode.mainnet.aptoslabs.com/" + }, + { + "type": "private", + "name": "getblock" + }, + { + "type": "private", + "name": "nownodes" + } + ], + "arbitrum-one": [ + { + "type": "private", + "name": "blink" + }, + { + "type": "public", + "url": "https://arb1.arbitrum.io/rpc/" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + }, + { + "type": "private", + "name": "infura" + }, + { + "type": "public", + "url": "https://1rpc.io/arb/" + }, + { + "type": "public", + "url": "https://arbitrum-one-rpc.publicnode.com/" + }, + { + "type": "public", + "url": "https://rpc.ankr.com/arbitrum/" + }, + { + "type": "public", + "url": "https://arbitrum-one.public.blastapi.io/" + } + ], + "areon-network": [ + { + "type": "public", + "url": "https://mainnet-rpc.areon.network/" + }, + { + "type": "public", + "url": "https://mainnet-rpc2.areon.network/" + }, + { + "type": "public", + "url": "https://mainnet-rpc3.areon.network/" + }, + { + "type": "public", + "url": "https://mainnet-rpc4.areon.network/" + }, + { + "type": "public", + "url": "https://mainnet-rpc5.areon.network/" + } + ], + "aurora": [ + { + "type": "public", + "url": "https://mainnet.aurora.dev/" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "public", + "url": "https://aurora.drpc.org/" + }, + { + "type": "public", + "url": "https://1rpc.io/aurora/" + } + ], + "avalanche": [ + { + "type": "public", + "url": "https://api.avax.network/ext/bc/C/rpc/" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + } + ], + "base": [ + { + "type": "private", + "name": "blink" + }, + { + "type": "public", + "url": "https://mainnet.base.org/" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + }, + { + "type": "public", + "url": "https://base.meowrpc.com/" + }, + { + "type": "public", + "url": "https://base-rpc.publicnode.com/" + }, + { + "type": "public", + "url": "https://base.llamarpc.com/" + } + ], + "binance-smart-chain": [ + { + "type": "private", + "name": "blink" + }, + { + "type": "public", + "url": "https://bsc-dataseed.binance.org/" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + }, + { + "type": "private", + "name": "quicknode" + } + ], + "bitcoin": [ + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + }, + { + "type": "private", + "name": "blockchair" + }, + { + "type": "private", + "name": "blockcypher" + } + ], + "bitcoin-cash": [ + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + }, + { + "type": "private", + "name": "blockchair" + } + ], + "bittensor": [ + { + "type": "public", + "url": "https://entrypoint-finney.opentensor.ai/" + }, + { + "type": "private", + "name": "dwellirBittensor" + }, + { + "type": "private", + "name": "onfinalityBittensor" + } + ], + "blast": [ + { + "type": "public", + "url": "https://rpc.blast.io/" + }, + { + "type": "public", + "url": "https://blast-rpc.publicnode.com/" + }, + { + "type": "public", + "url": "https://rpc.ankr.com/blast/" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + } + ], + "canxium": [ + { + "type": "public", + "url": "https://rpc.canxium.org/" + }, + { + "type": "public", + "url": "https://canxium.rpc.thirdweb.com/" + } + ], + "cardano": [ + { + "type": "private", + "name": "getblock" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "adalite" + } + ], + "casper-network": [ + { + "type": "public", + "url": "https://node.mainnet.casper.network/rpc/" + }, + { + "type": "private", + "name": "nownodes" + } + ], + "chia": [ + { + "type": "private", + "name": "tangemChia" + }, + { + "type": "private", + "name": "tangemChia3" + } + ], + "chiliz": [ + { + "type": "public", + "url": "https://rpc.chiliz.com/" + }, + { + "type": "public", + "url": "https://rpc.ankr.com/chiliz/" + }, + { + "type": "public", + "url": "https://chiliz.publicnode.com/" + } + ], + "core": [ + { + "type": "public", + "url": "https://rpc.ankr.com/core/" + }, + { + "type": "public", + "url": "https://rpc.coredao.org/" + }, + { + "type": "public", + "url": "https://core.public.infstones.com/" + } + ], + "cosmos": [ + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + }, + { + "type": "public", + "url": "https://rest.cosmos.directory/cosmoshub/" + }, + { + "type": "public", + "url": "https://rest-cosmoshub.ecostake.com/" + } + ], + "cronos": [ + { + "type": "public", + "url": "https://evm.cronos.org/" + }, + { + "type": "public", + "url": "https://evm-cronos.crypto.org/" + }, + { + "type": "private", + "name": "getblock" + } + ], + "cyber": [ + { + "type": "public", + "url": "https://rpc.cyber.co/" + }, + { + "type": "public", + "url": "https://cyber.alt.technology/" + } + ], + "dash": [ + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + }, + { + "type": "private", + "name": "blockchair" + }, + { + "type": "private", + "name": "blockcypher" + } + ], + "decimal": [ + { + "type": "public", + "url": "https://node.decimalchain.com/web3/" + }, + { + "type": "public", + "url": "https://node1-mainnet.decimalchain.com/web3/" + }, + { + "type": "public", + "url": "https://node2-mainnet.decimalchain.com/web3/" + }, + { + "type": "public", + "url": "https://node3-mainnet.decimalchain.com/web3/" + }, + { + "type": "public", + "url": "https://node4-mainnet.decimalchain.com/web3/" + } + ], + "dogecoin": [ + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + }, + { + "type": "private", + "name": "blockchair" + }, + { + "type": "private", + "name": "blockcypher" + } + ], + "energy-web-chain": [ + { + "type": "public", + "url": "https://rpc.energyweb.org/" + }, + { + "type": "public", + "url": "https://consortia-rpc.energyweb.org/" + }, + { + "type": "public", + "url": "https://energy-web-chain.rpc.thirdweb.com/" + }, + { + "type": "public", + "url": "https://explorer.energyweb.org/api/" + } + ], + "energy-web-x": [ + { + "type": "public", + "url": "https://public-rpc.mainnet.energywebx.com/" + }, + { + "type": "public", + "url": "https://wnp-rpc.mainnet.energywebx.com/" + } + ], + "ethereum": [ + { + "type": "private", + "name": "blink" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + }, + { + "type": "private", + "name": "infura" + } + ], + "ethereum-classic": [ + { + "type": "private", + "name": "getblock" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "public", + "url": "https://etc.etcdesktop.com/" + }, + { + "type": "public", + "url": "https://etc.mytokenpocket.vip/" + }, + { + "type": "public", + "url": "https://geth-at.etc-network.info/" + } + ], + "ethereumfair": [ + { + "type": "public", + "url": "https://rpc.dischain.xyz/" + } + ], + "ethereum-pow-iou": [ + { + "type": "private", + "name": "nownodes" + }, + { + "type": "public", + "url": "https://mainnet.ethereumpow.org/" + } + ], + "fact0rn": [ + { + "type": "public", + "url": "wss://electrumx.fact0rn.io:443/" + }, + { + "type": "public", + "url": "wss://electrumx2.fact0rn.io:443/" + }, + { + "type": "public", + "url": "wss://electrumx3.fact0rn.io:443/" + } + ], + "fantom": [ + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + }, + { + "type": "public", + "url": "https://rpcapi.fantom.network/" + }, + { + "type": "public", + "url": "https://fantom-mainnet.public.blastapi.io/" + }, + { + "type": "public", + "url": "https://rpc.ankr.com/fantom/" + } + ], + "filecoin": [ + { + "type": "public", + "url": "https://rpc.ankr.com/filecoin/" + }, + { + "type": "public", + "url": "https://filecoin.chainup.net/rpc/v1/" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + } + ], + "flare-network": [ + { + "type": "public", + "url": "https://flare-api.flare.network/ext/bc/C/rpc/" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "public", + "url": "https://flare.rpc.thirdweb.com/" + }, + { + "type": "public", + "url": "https://rpc.ankr.com/flare/" + }, + { + "type": "public", + "url": "https://flare.solidifi.app/ext/C/rpc/" + } + ], + "gonka": [ + { + "type": "public", + "url": "https://rpc.gonka.gg/chain-api/" + } + ], + "hedera-hashgraph": [ + { + "type": "public", + "url": "https://mainnet-public.mirrornode.hedera.com/api/v1/" + }, + { + "type": "private", + "name": "arkhiaHedera" + } + ], + "hyperevm": [ + { + "type": "public", + "url": "https://rpc.hyperliquid.xyz/evm/" + }, + { + "type": "public", + "url": "https://rpc.hypurrscan.io/" + } + ], + "internet-computer": [ + { + "type": "public", + "url": "https://icp-api.io/" + } + ], + "joystream": [ + { + "type": "public", + "url": "https://rpc.joyutils.org/" + }, + { + "type": "public", + "url": "https://rpc.joystream.org/" + } + ], + "kaspa": [ + { + "type": "public", + "url": "https://api.kaspa.org/" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "kaspa" + } + ], + "kava": [ + { + "type": "public", + "url": "https://evm.kava.io/" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "public", + "url": "https://evm2.kava.io/" + } + ], + "koinos": [ + { + "type": "public", + "url": "https://api.koinos.io/" + }, + { + "type": "public", + "url": "https://api.koinosblocks.com/" + } + ], + "kusama": [ + { + "type": "public", + "url": "https://asset-hub-kusama-rpc.n.dwellir.com/" + }, + { + "type": "private", + "name": "tatum" + }, + { + "type": "public", + "url": "https://statemine-rpc-tn.dwellir.com/" + }, + { + "type": "public", + "url": "https://sys.ibp.network/asset-hub-kusama/" + }, + { + "type": "public", + "url": "https://asset-hub-kusama.dotters.network/" + }, + { + "type": "public", + "url": "https://rpc-asset-hub-kusama.luckyfriday.io/" + }, + { + "type": "public", + "url": "https://assethub-kusama.api.onfinality.io/public/" + }, + { + "type": "public", + "url": "https://kusama-asset-hub-rpc.polkadot.io/" + }, + { + "type": "public", + "url": "https://ksm-rpc.stakeworld.io/assethub/" + }, + { + "type": "private", + "name": "nownodes" + } + ], + "litecoin": [ + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + }, + { + "type": "private", + "name": "blockchair" + }, + { + "type": "private", + "name": "blockcypher" + } + ], + "manta-pacific": [ + { + "type": "public", + "url": "https://manta-pacific.drpc.org/" + }, + { + "type": "public", + "url": "https://pacific-rpc.manta.network/http/" + }, + { + "type": "public", + "url": "https://1rpc.io/manta/" + } + ], + "mantle": [ + { + "type": "public", + "url": "https://rpc.mantle.xyz/" + }, + { + "type": "public", + "url": "https://mantle-rpc.publicnode.com/" + }, + { + "type": "public", + "url": "https://mantle-mainnet.public.blastapi.io/" + }, + { + "type": "public", + "url": "https://1rpc.io/mantle/" + } + ], + "moonbeam": [ + { + "type": "public", + "url": "https://rpc.api.moonbeam.network/" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + }, + { + "type": "public", + "url": "https://1rpc.io/glmr/" + }, + { + "type": "public", + "url": "https://moonbeam.public.blastapi.io/" + }, + { + "type": "public", + "url": "https://moonbeam-rpc.dwellir.com/" + }, + { + "type": "public", + "url": "https://moonbeam.unitedbloc.com/" + }, + { + "type": "public", + "url": "https://moonbeam-rpc.publicnode.com/" + }, + { + "type": "public", + "url": "https://rpc.ankr.com/moonbeam/" + } + ], + "moonriver": [ + { + "type": "public", + "url": "https://moonriver-rpc.dwellir.com/" + }, + { + "type": "public", + "url": "https://moonriver.unitedbloc.com/" + }, + { + "type": "public", + "url": "https://moonriver-rpc.publicnode.com/" + } + ], + "near-protocol": [ + { + "type": "public", + "url": "https://rpc.mainnet.near.org/" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + } + ], + "octaspace": [ + { + "type": "public", + "url": "https://rpc.octa.space/" + }, + { + "type": "public", + "url": "https://octaspace.rpc.thirdweb.com/" + } + ], + "optimistic-ethereum": [ + { + "type": "public", + "url": "https://mainnet.optimism.io/" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + }, + { + "type": "public", + "url": "https://optimism-mainnet.public.blastapi.io/" + } + ], + "playa3ull-games": [ + { + "type": "public", + "url": "https://api.mainnet.playa3ull.games/" + } + ], + "polkadot": [ + { + "type": "public", + "url": "https://rpc.polkadot.io/" + }, + { + "type": "private", + "name": "getblock" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "public", + "url": "https://polkadot.api.onfinality.io/public-ws/" + }, + { + "type": "public", + "url": "https://polkadot-rpc.dwellir.com/" + } + ], + "polygon-pos": [ + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + }, + { + "type": "public", + "url": "https://rpc-mainnet.matic.quiknode.pro/" + } + ], + "polygon-zkevm": [ + { + "type": "public", + "url": "https://zkevm-rpc.com/" + }, + { + "type": "private", + "name": "getblock" + }, + { + "type": "public", + "url": "https://1rpc.io/polygon/zkevm/" + }, + { + "type": "public", + "url": "https://polygon-zkevm.drpc.org/" + }, + { + "type": "public", + "url": "https://polygon-zkevm-mainnet.public.blastapi.io/" + } + ], + "pulsechain": [ + { + "type": "public", + "url": "https://rpc.pulsechain.com/" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "public", + "url": "https://rpc-pulsechain.g4mm4.io/" + } + ], + "radiant": [ + { + "type": "public", + "url": "wss://electrumx.radiant4people.com:50022/" + }, + { + "type": "public", + "url": "wss://electrumx2.radiant4people.com:50022/" + }, + { + "type": "public", + "url": "wss://electrumx-dex02.radiantexplorer.com:50022/" + }, + { + "type": "public", + "url": "wss://electrumx-01-ssl.radiant4people.com:51002/" + }, + { + "type": "public", + "url": "wss://electrumx-02-ssl.radiant4people.com:51002/" + } + ], + "ravencoin": [ + { + "type": "public", + "url": "https://explorer.rvn.zelcore.io/api/" + }, + { + "type": "private", + "name": "nownodes" + } + ], + "rootstock": [ + { + "type": "public", + "url": "https://public-node.rsk.co/" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + } + ], + "sei-network": [ + { + "type": "public", + "url": "https://rest.wallet.pacific-1.sei.io/" + }, + { + "type": "public", + "url": "https://rest.sei-apis.com/" + }, + { + "type": "public", + "url": "https://sei-api.polkachu.com/" + }, + { + "type": "public", + "url": "https://sei-rest.brocha.in/" + } + ], + "shibarium": [ + { + "type": "public", + "url": "https://www.shibrpc.com/" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + } + ], + "solana": [ + { + "type": "private", + "name": "blink" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "quicknode" + }, + { + "type": "private", + "name": "solana" + }, + { + "type": "private", + "name": "getblock" + } + ], + "stellar": [ + { + "type": "public", + "url": "https://horizon.stellar.org/" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "quicknode" + }, + { + "type": "private", + "name": "getblock" + } + ], + "taraxa": [ + { + "type": "public", + "url": "https://rpc.mainnet.taraxa.io/" + } + ], + "telos": [ + { + "type": "public", + "url": "https://mainnet.telos.net/evm/" + }, + { + "type": "private", + "name": "getblock" + }, + { + "type": "public", + "url": "https://telos-evm.rpc.thirdweb.com/" + } + ], + "terra": [ + { + "type": "private", + "name": "nownodes" + }, + { + "type": "public", + "url": "https://terra-classic-lcd.publicnode.com/" + } + ], + "terra-2": [ + { + "type": "private", + "name": "nownodes" + }, + { + "type": "public", + "url": "https://phoenix-lcd.terra.dev/" + } + ], + "tezos": [ + { + "type": "public", + "url": "https://rpc.tzbeta.net/" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + }, + { + "type": "public", + "url": "https://mainnet.smartpy.io/" + } + ], + "the-open-network": [ + { + "type": "private", + "name": "ton" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + } + ], + "tron": [ + { + "type": "public", + "url": "https://api.trongrid.io/" + }, + { + "type": "private", + "name": "tron" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + }, + { + "type": "private", + "name": "quicknode" + } + ], + "vechain": [ + { + "type": "private", + "name": "nownodes" + }, + { + "type": "public", + "url": "https://mainnet.vecha.in/" + }, + { + "type": "public", + "url": "https://sync-mainnet.vechain.org/" + }, + { + "type": "public", + "url": "https://mainnet.veblocks.net/" + }, + { + "type": "public", + "url": "https://mainnetc1.vechain.network/" + }, + { + "type": "public", + "url": "https://us.node.vechain.energy/" + } + ], + "xdai": [ + { + "type": "private", + "name": "getblock" + }, + { + "type": "public", + "url": "https://rpc.gnosischain.com/" + }, + { + "type": "public", + "url": "https://gnosis-mainnet.public.blastapi.io/" + }, + { + "type": "public", + "url": "https://rpc.ankr.com/gnosis/" + } + ], + "xdc-network": [ + { + "type": "private", + "name": "nownodes" + }, + { + "type": "public", + "url": "https://rpc.xdcrpc.com/" + }, + { + "type": "public", + "url": "https://erpc.xdcrpc.com/" + }, + { + "type": "public", + "url": "https://rpc.xinfin.network/" + }, + { + "type": "public", + "url": "https://erpc.xinfin.network/" + }, + { + "type": "public", + "url": "https://rpc.ankr.com/xdc/" + }, + { + "type": "public", + "url": "https://rpc1.xinfin.network/" + } + ], + "xodex": [ + { + "type": "public", + "url": "https://mainnet.xo-dex.com/rpc/" + }, + { + "type": "public", + "url": "https://2415.rpc.thirdweb.com/" + } + ], + "xrp": [ + { + "type": "public", + "url": "https://xrplcluster.com/" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + } + ], + "zksync": [ + { + "type": "public", + "url": "https://mainnet.era.zksync.io/" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + }, + { + "type": "public", + "url": "https://1rpc.io/zksync2-era/" + }, + { + "type": "public", + "url": "https://zksync.meowrpc.com/" + } + ], + "sui": [ + { + "type": "public", + "url": "https://fullnode.mainnet.sui.io/" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "private", + "name": "getblock" + }, + { + "type": "public", + "url": "https://rpc-mainnet.suiscan.xyz/" + } + ], + "clore-ai": [ + { + "type": "public", + "url": "https://blockbook.clore.ai/" + }, + { + "type": "public", + "url": "https://blockbook.clore.zelcore.io/" + } + ], + "dione": [ + { + "type": "public", + "url": "https://node.dioneprotocol.com/ext/bc/D/rpc/" + }, + { + "type": "private", + "name": "nownodes" + } + ], + "bitrock": [ + { + "type": "public", + "url": "https://connect.bit-rock.io/" + }, + { + "type": "public", + "url": "https://brockrpc.io/" + } + ], + "sonic": [ + { + "type": "public", + "url": "https://rpc.soniclabs.com/" + }, + { + "type": "private", + "name": "nownodes" + }, + { + "type": "public", + "url": "https://sonic-rpc.publicnode.com/" + } + ], + "apechain": [ + { + "type": "public", + "url": "https://rpc.apechain.com/" + }, + { + "type": "public", + "url": "https://apechain.drpc.org/" + }, + { + "type": "public", + "url": "https://apechain.calderachain.xyz/http/" + } + ], + "vanar-chain": [ + { + "type": "public", + "url": "https://rpc.vanarchain.com/" + } + ], + "zklink": [ + { + "type": "public", + "url": "https://rpc.zklink.io/" + }, + { + "type": "public", + "url": "https://rpc.zklink.network/" + } + ], + "pepecoin": [ + { + "type": "public", + "url": "wss://electrum.pepeblocks.com:50004/" + }, + { + "type": "public", + "url": "wss://electrum.pepelum.site:50004/" + }, + { + "type": "public", + "url": "wss://electrum.pepe.tips:50004/" + } + ], + "quai-network": [ + { + "type": "public", + "url": "https://rpc.quai.network/cyprus1/" + }, + { + "type": "public", + "url": "https://9.rpc.thirdweb.com/" + } + ], + "scroll": [ + { + "type": "public", + "url": "https://rpc.scroll.io/" + }, + { + "type": "public", + "url": "https://scroll-rpc.publicnode.com/" + }, + { + "type": "public", + "url": "https://scroll-mainnet.public.blastapi.io/" + } + ], + "linea": [ + { + "type": "public", + "url": "https://rpc.linea.build/" + }, + { + "type": "public", + "url": "https://linea-rpc.publicnode.com/" + }, + { + "type": "private", + "name": "nownodes" + } + ], + "arbitrum-nova": [ + { + "type": "public", + "url": "https://nova.arbitrum.io/rpc/" + }, + { + "type": "public", + "url": "https://arbitrum-nova-rpc.publicnode.com/" + }, + { + "type": "public", + "url": "https://arbitrum-nova.public.blastapi.io/" + } + ], + "plasma": [ + { + "type": "public", + "url": "https://rpc.plasma.to/" + }, + { + "type": "public", + "url": "https://plasma.drpc.org/" + }, + { + "type": "private", + "name": "quicknode" + } + ], + "monad": [ + { + "type": "public", + "url": "https://rpc.monad.xyz" + }, + { + "type": "public", + "url": "https://rpc3.monad.xyz" + }, + { + "type": "public", + "url": "https://rpc-mainnet.monadinfra.com" + }, + { + "type": "public", + "url": "https://www.quicknode.com/chains/monad" + }, + { + "type": "private", + "name": "getblock" + }, + { + "type": "private", + "name": "quicknode" + } + ], + "adi-token": [ + { + "type": "public", + "url": "https://rpc.adifoundation.ai/" + }, + { + "type": "private", + "name": "alchemy" + } + ], + "sei-v2": [ + { + "type": "public", + "url": "https://sei-evm-rpc.stakeme.pro/" + }, + { + "type": "public", + "url": "https://evm-rpc.sei-apis.com/" + }, + { + "type": "public", + "url": "https://sei-public.nodies.app/" + }, + { + "type": "private", + "name": "quicknode" + }, + { + "type": "private", + "name": "nownodes" + } + ], + "robinhood": [ + { + "type": "public", + "url": "https://rpc.mainnet.chain.robinhood.com" + }, + { + "type": "private", + "name": "quicknode" + } + ], + "igra": [ + { + "type": "public", + "url": "https://rpc.igralabs.com:8545/" + }, + { + "type": "public", + "url": "https://igra-mainnet.jobberwocky.co/" + } + ] +}