diff --git a/README.md b/README.md
index 5c8a579bed2..a5bc9b39ca3 100644
--- a/README.md
+++ b/README.md
@@ -312,6 +312,7 @@ These are the ones where a key is necessary:
- Whale Alert API:
- Ethplorer API:
- Cryptopanic API:
+- BitQuery API:
- Glassnode API:
- Coinglass API:
@@ -342,6 +343,7 @@ Alternatively, you can also set them to the following environment variables:
| [Cryptopanic](https://cryptopanic.com/developers/api/) | GT_API_CRYPTO_PANIC_KEY |
| [Glassnode](https://docs.glassnode.com/basic-api/api-key#how-to-get-an-api-key) | GT_API_GLASSNODE_KEY |
| [Coinglass](https://coinglass.github.io/API-Reference/#api-key) | GT_API_COINGLASS_KEY |
+| [BitQuery](https://bitquery.io/pricing) | GT_API_BITQUERY_KEY |
Example:
diff --git a/gamestonk_terminal/config_terminal.py b/gamestonk_terminal/config_terminal.py
index c942695c9fe..87b23a3eb5c 100644
--- a/gamestonk_terminal/config_terminal.py
+++ b/gamestonk_terminal/config_terminal.py
@@ -111,3 +111,6 @@ API_ETHPLORER_KEY = os.getenv("GT_API_ETHPLORER_KEY") or "freekey"
# https://cryptopanic.com/developers/api/
API_CRYPTO_PANIC_KEY = os.getenv("GT_API_CRYPTO_PANIC_KEY") or "REPLACE_ME"
+
+# https://bitquery.io/pricing
+API_BITQUERY_KEY = os.getenv("GT_API_BITQUERY_KEY") or "REPLACE_ME"
diff --git a/gamestonk_terminal/cryptocurrency/data/erc20_coins.json b/gamestonk_terminal/cryptocurrency/data/erc20_coins.json
new file mode 100644
index 00000000000..517e87d346f
--- /dev/null
+++ b/gamestonk_terminal/cryptocurrency/data/erc20_coins.json
@@ -0,0 +1,5058 @@
+[
+ {
+ "baseCurrency": {
+ "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
+ "symbol": "WETH",
+ "name": "Wrapped Ether"
+ },
+ "count": 309473
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
+ "symbol": "USDC",
+ "name": "USD//C"
+ },
+ "count": 188320
+ },
+ {
+ "baseCurrency": {
+ "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
+ "symbol": "USDT",
+ "name": "Tether USD"
+ },
+ "count": 88082
+ },
+ {
+ "baseCurrency": {
+ "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
+ "symbol": "DAI",
+ "name": "Dai Stablecoin"
+ },
+ "count": 53210
+ },
+ {
+ "baseCurrency": {
+ "address": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
+ "symbol": "WBTC",
+ "name": "Wrapped BTC"
+ },
+ "count": 37920
+ },
+ {
+ "baseCurrency": {
+ "address": "0x956f47f50a910163d8bf957cf5846d573e7f87ca",
+ "symbol": "FEI",
+ "name": "Fei USD"
+ },
+ "count": 10731
+ },
+ {
+ "baseCurrency": {
+ "address": "0x57ab1ec28d129707052df4df418d58a2d46d5f51",
+ "symbol": "sUSD",
+ "name": "Synth sUSD"
+ },
+ "count": 6528
+ },
+ {
+ "baseCurrency": {
+ "address": "0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce",
+ "symbol": "SHIB",
+ "name": "SHIBA INU"
+ },
+ "count": 5281
+ },
+ {
+ "baseCurrency": {
+ "address": "0x6b3595068778dd592e39a122f4f5a5cf09c90fe2",
+ "symbol": "SUSHI",
+ "name": "SushiToken"
+ },
+ "count": 4919
+ },
+ {
+ "baseCurrency": {
+ "address": "-",
+ "symbol": "ETH",
+ "name": "Ether"
+ },
+ "count": 3684
+ },
+ {
+ "baseCurrency": {
+ "address": "0x383518188c0c6d7730d91b2c03a03c837814a899",
+ "symbol": "OHM",
+ "name": "Olympus"
+ },
+ "count": 3609
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984",
+ "symbol": "UNI",
+ "name": "Uniswap"
+ },
+ "count": 2943
+ },
+ {
+ "baseCurrency": {
+ "address": "0x514910771af9ca656af840dff83e8264ecf986ca",
+ "symbol": "LINK",
+ "name": "ChainLink Token"
+ },
+ "count": 2813
+ },
+ {
+ "baseCurrency": {
+ "address": "0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9",
+ "symbol": "AAVE",
+ "name": "Aave Token"
+ },
+ "count": 2487
+ },
+ {
+ "baseCurrency": {
+ "address": "0xeb4c2781e4eba804ce9a9803c67d0893436bb27d",
+ "symbol": "renBTC",
+ "name": "renBTC"
+ },
+ "count": 2204
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0000000000085d4780b73119b644ae5ecd22b376",
+ "symbol": "TUSD",
+ "name": "TrueUSD"
+ },
+ "count": 1853
+ },
+ {
+ "baseCurrency": {
+ "address": "-",
+ "symbol": "-",
+ "name": "-"
+ },
+ "count": 1722
+ },
+ {
+ "baseCurrency": {
+ "address": "0x5e74c9036fb86bd7ecdcb084a0673efc32ea31cb",
+ "symbol": "sETH",
+ "name": "Synth sETH"
+ },
+ "count": 1713
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0bc529c00c6401aef6d220be8c6ea1667f6ad93e",
+ "symbol": "YFI",
+ "name": "yearn.finance"
+ },
+ "count": 1698
+ },
+ {
+ "baseCurrency": {
+ "address": "0x3212b29e33587a00fb1c83346f5dbfa69a458923",
+ "symbol": "imBTC",
+ "name": "The Tokenized Bitcoin"
+ },
+ "count": 1439
+ },
+ {
+ "baseCurrency": {
+ "address": "0xdbdb4d16eda451d0503b854cf79d55697f90c8df",
+ "symbol": "ALCX",
+ "name": "Alchemix"
+ },
+ "count": 1399
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc7283b66eb1eb5fb86327f08e1b5816b0720212b",
+ "symbol": "TRIBE",
+ "name": "Tribe"
+ },
+ "count": 1294
+ },
+ {
+ "baseCurrency": {
+ "address": "0x2b591e99afe9f32eaa6214f7b7629768c40eeb39",
+ "symbol": "HEX",
+ "name": "HEX"
+ },
+ "count": 1270
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1f573d6fb3f13d689ff844b4ce37794d79a7ff1c",
+ "symbol": "BNT",
+ "name": "Bancor Network Token"
+ },
+ "count": 1157
+ },
+ {
+ "baseCurrency": {
+ "address": "0x090185f2135308bad17527004364ebcc2d37e5f6",
+ "symbol": "SPELL",
+ "name": "Spell Token"
+ },
+ "count": 1053
+ },
+ {
+ "baseCurrency": {
+ "address": "0xfe18be6b3bd88a2d2a7f928d00292e7a9963cfc6",
+ "symbol": "sBTC",
+ "name": "Synth sBTC"
+ },
+ "count": 1041
+ },
+ {
+ "baseCurrency": {
+ "address": "0x4fabb145d64652a948d72533023f6e7a623c7c53",
+ "symbol": "BUSD",
+ "name": "Binance USD"
+ },
+ "count": 1036
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa47c8bf37f92abed4a126bda807a7b7498661acd",
+ "symbol": "UST",
+ "name": "Wrapped UST Token"
+ },
+ "count": 1034
+ },
+ {
+ "baseCurrency": {
+ "address": "0x4e3fbd56cd56c3e72c1403e103b45db9da5b9d2b",
+ "symbol": "CVX",
+ "name": "Convex Token"
+ },
+ "count": 1018
+ },
+ {
+ "baseCurrency": {
+ "address": "0x7c3e3eae4d893d11c61e74d5187c962ba5744a3b",
+ "symbol": "KOKO",
+ "name": "Kokoswap Token"
+ },
+ "count": 1000
+ },
+ {
+ "baseCurrency": {
+ "address": "0x853d955acef822db058eb8505911ed77f175b99e",
+ "symbol": "FRAX",
+ "name": "Frax"
+ },
+ "count": 962
+ },
+ {
+ "baseCurrency": {
+ "address": "0xaa6e8127831c9de45ae56bb1b0d4d4da6e5665bd",
+ "symbol": "ETH2x-FLI",
+ "name": "ETH 2x Flexible Leverage Index"
+ },
+ "count": 947
+ },
+ {
+ "baseCurrency": {
+ "address": "0x5f98805a4e8be255a32880fdec7f6728c6568ba0",
+ "symbol": "LUSD",
+ "name": "LUSD Stablecoin"
+ },
+ "count": 742
+ },
+ {
+ "baseCurrency": {
+ "address": "0x761d38e5ddf6ccf6cf7c55759d5210750b5d60f3",
+ "symbol": "ELON",
+ "name": "Dogelon"
+ },
+ "count": 731
+ },
+ {
+ "baseCurrency": {
+ "address": "0x27c70cd1946795b66be9d954418546998b546634",
+ "symbol": "LEASH",
+ "name": "DOGE KILLER"
+ },
+ "count": 670
+ },
+ {
+ "baseCurrency": {
+ "address": "0x03ab458634910aad20ef5f1c8ee96f1d6ac54919",
+ "symbol": "RAI",
+ "name": "Rai Reflex Index"
+ },
+ "count": 666
+ },
+ {
+ "baseCurrency": {
+ "address": "0x949d48eca67b17269629c7194f4b727d4ef9e5d6",
+ "symbol": "MC",
+ "name": "Merit Circle"
+ },
+ "count": 590
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1559fa1b8f28238fd5d76d9f434ad86fd20d1559",
+ "symbol": "EDEN",
+ "name": "Eden"
+ },
+ "count": 581
+ },
+ {
+ "baseCurrency": {
+ "address": "0x92d6c1e31e14520e676a687f0a93788b716beff5",
+ "symbol": "DYDX",
+ "name": "dYdX"
+ },
+ "count": 574
+ },
+ {
+ "baseCurrency": {
+ "address": "0x111111111117dc0aa78b770fa6a738034120c302",
+ "symbol": "1INCH",
+ "name": "1INCH Token"
+ },
+ "count": 574
+ },
+ {
+ "baseCurrency": {
+ "address": "0xdb25f211ab05b1c97d595516f45794528a807ad8",
+ "symbol": "EURS",
+ "name": "STASIS EURS Token"
+ },
+ "count": 573
+ },
+ {
+ "baseCurrency": {
+ "address": "0x6123b0049f904d730db3c36a31167d9d4121fa6b",
+ "symbol": "RBN",
+ "name": "Ribbon"
+ },
+ "count": 546
+ },
+ {
+ "baseCurrency": {
+ "address": "0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2",
+ "symbol": "MKR",
+ "name": "Maker"
+ },
+ "count": 499
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc18360217d8f7ab5e7c516566761ea12ce7f9d72",
+ "symbol": "ENS",
+ "name": "Ethereum Name Service"
+ },
+ "count": 453
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1a4b46696b2bb4794eb3d4c26f1c55f9170fa4c5",
+ "symbol": "BIT",
+ "name": "BitDAO"
+ },
+ "count": 448
+ },
+ {
+ "baseCurrency": {
+ "address": "0x767fe9edc9e0df98e07454847909b5e959d7ca0e",
+ "symbol": "ILV",
+ "name": "Illuvium"
+ },
+ "count": 441
+ },
+ {
+ "baseCurrency": {
+ "address": "0xd533a949740bb3306d119cc777fa900ba034cd52",
+ "symbol": "CRV",
+ "name": "Curve DAO Token"
+ },
+ "count": 437
+ },
+ {
+ "baseCurrency": {
+ "address": "0x9ea3b5b4ec044b70375236a281986106457b20ef",
+ "symbol": "DELTA",
+ "name": "DELTA.financial - deep DeFi derivatives"
+ },
+ "count": 400
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f",
+ "symbol": "SNX",
+ "name": "Synthetix Network Token"
+ },
+ "count": 387
+ },
+ {
+ "baseCurrency": {
+ "address": "0x2e9d63788249371f1dfc918a52f8d799f4a38c94",
+ "symbol": "TOKE",
+ "name": "Tokemak"
+ },
+ "count": 385
+ },
+ {
+ "baseCurrency": {
+ "address": "0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0",
+ "symbol": "MATIC",
+ "name": "Matic Token"
+ },
+ "count": 381
+ },
+ {
+ "baseCurrency": {
+ "address": "0x21ad647b8f4fe333212e735bfc1f36b4941e6ad2",
+ "symbol": "SQUID",
+ "name": "Squid"
+ },
+ "count": 370
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0f2d719407fdbeff09d87557abb7232601fd9f29",
+ "symbol": "SYN",
+ "name": "Synapse"
+ },
+ "count": 345
+ },
+ {
+ "baseCurrency": {
+ "address": "0x8b3192f5eebd8579568a2ed41e6feb402f93f73f",
+ "symbol": "SAITAMA",
+ "name": "Saitama Inu"
+ },
+ "count": 342
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc00e94cb662c3520282e6f5717214004a7f26888",
+ "symbol": "COMP",
+ "name": "Compound"
+ },
+ "count": 335
+ },
+ {
+ "baseCurrency": {
+ "address": "0x32353a6c91143bfd6c7d363b546e62a9a2489a20",
+ "symbol": "AGLD",
+ "name": "Adventure Gold"
+ },
+ "count": 332
+ },
+ {
+ "baseCurrency": {
+ "address": "0x4c2e59d098df7b6cbae0848d66de2f8a4889b9c3",
+ "symbol": "FODL",
+ "name": "Fodl"
+ },
+ "count": 325
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc581b735a1688071a1746c968e0798d642ede491",
+ "symbol": "EURT",
+ "name": "Euro Tether"
+ },
+ "count": 324
+ },
+ {
+ "baseCurrency": {
+ "address": "0x9813037ee2218799597d83d4a5b6f3b6778218d9",
+ "symbol": "BONE",
+ "name": "BONE SHIBASWAP"
+ },
+ "count": 320
+ },
+ {
+ "baseCurrency": {
+ "address": "0xbaac2b4491727d78d2b78815144570b9f2fe8899",
+ "symbol": "DOG",
+ "name": "The Doge NFT"
+ },
+ "count": 313
+ },
+ {
+ "baseCurrency": {
+ "address": "0x3845badade8e6dff049820680d1f14bd3903a5d0",
+ "symbol": "SAND",
+ "name": "SAND"
+ },
+ "count": 310
+ },
+ {
+ "baseCurrency": {
+ "address": "0xd46ba6d942050d489dbd938a2c909a5d5039a161",
+ "symbol": "AMPL",
+ "name": "Ampleforth"
+ },
+ "count": 295
+ },
+ {
+ "baseCurrency": {
+ "address": "0xb5fe099475d3030dde498c3bb6f3854f762a48ad",
+ "symbol": "FNK",
+ "name": "Finiko"
+ },
+ "count": 292
+ },
+ {
+ "baseCurrency": {
+ "address": "0x8e870d67f660d95d5be530380d0ec0bd388289e1",
+ "symbol": "PAX",
+ "name": "Paxos Token"
+ },
+ "count": 287
+ },
+ {
+ "baseCurrency": {
+ "address": "0x3449fc1cd036255ba1eb19d65ff4ba2b8903a69a",
+ "symbol": "BAC",
+ "name": "BAC"
+ },
+ "count": 257
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf3dcbc6d72a4e1892f7917b7c43b74131df8480e",
+ "symbol": "BDP",
+ "name": "BDPToken"
+ },
+ "count": 256
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1494ca1f11d487c2bbe4543e90080aeba4ba3c2b",
+ "symbol": "DPI",
+ "name": "DefiPulse Index"
+ },
+ "count": 255
+ },
+ {
+ "baseCurrency": {
+ "address": "0x368b3a58b5f49392e5c9e4c998cb0bb966752e51",
+ "symbol": "MIC",
+ "name": "MIC"
+ },
+ "count": 255
+ },
+ {
+ "baseCurrency": {
+ "address": "0x4e15361fd6b4bb609fa63c81a2be19d873717870",
+ "symbol": "FTM",
+ "name": "Fantom Token"
+ },
+ "count": 254
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf65b5c5104c4fafd4b709d9d60a185eae063276c",
+ "symbol": "TRU",
+ "name": "Truebit"
+ },
+ "count": 246
+ },
+ {
+ "baseCurrency": {
+ "address": "0x3472a5a71965499acd81997a54bba8d852c6e53d",
+ "symbol": "BADGER",
+ "name": "Badger"
+ },
+ "count": 242
+ },
+ {
+ "baseCurrency": {
+ "address": "0xba100000625a3754423978a60c9317c58a424e3d",
+ "symbol": "BAL",
+ "name": "Balancer"
+ },
+ "count": 241
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0316eb71485b0ab14103307bf65a021042c6d380",
+ "symbol": "HBTC",
+ "name": "Huobi BTC"
+ },
+ "count": 234
+ },
+ {
+ "baseCurrency": {
+ "address": "0xbb0e17ef65f82ab018d8edd776e8dd940327b28b",
+ "symbol": "AXS",
+ "name": "Axie Infinity Shard"
+ },
+ "count": 230
+ },
+ {
+ "baseCurrency": {
+ "address": "0x3432b6a60d23ca0dfca7761b7ab56459d9c964d0",
+ "symbol": "FXS",
+ "name": "Frax Share"
+ },
+ "count": 221
+ },
+ {
+ "baseCurrency": {
+ "address": "0xbbbbca6a901c926f240b89eacb641d8aec7aeafd",
+ "symbol": "LRC",
+ "name": "LoopringCoin V2"
+ },
+ "count": 208
+ },
+ {
+ "baseCurrency": {
+ "address": "0x60ef10edff6d600cd91caeca04caed2a2e605fe5",
+ "symbol": "MOCHI",
+ "name": "Mochi Inu"
+ },
+ "count": 207
+ },
+ {
+ "baseCurrency": {
+ "address": "0x66a0f676479cee1d7373f3dc2e2952778bff5bd6",
+ "symbol": "WISE",
+ "name": "Wise Token"
+ },
+ "count": 195
+ },
+ {
+ "baseCurrency": {
+ "address": "0x249e38ea4102d0cf8264d3701f1a0e39c4f2dc3b",
+ "symbol": "UFO",
+ "name": "THE TRUTH"
+ },
+ "count": 184
+ },
+ {
+ "baseCurrency": {
+ "address": "0x5218e472cfcfe0b64a064f055b43b4cdc9efd3a6",
+ "symbol": "eRSDL",
+ "name": "UnFederalReserveToken"
+ },
+ "count": 177
+ },
+ {
+ "baseCurrency": {
+ "address": "0x36f3fd68e7325a35eb768f1aedaae9ea0689d723",
+ "symbol": "ESD",
+ "name": "Empty Set Dollar"
+ },
+ "count": 176
+ },
+ {
+ "baseCurrency": {
+ "address": "0xbbc455cb4f1b9e4bfc4b73970d360c8f032efee6",
+ "symbol": "sLINK",
+ "name": "Synth sLINK"
+ },
+ "count": 174
+ },
+ {
+ "baseCurrency": {
+ "address": "0xd291e7a03283640fdc51b121ac401383a46cc623",
+ "symbol": "RGT",
+ "name": "Rari Governance Token"
+ },
+ "count": 165
+ },
+ {
+ "baseCurrency": {
+ "address": "0x8e6cd950ad6ba651f6dd608dc70e5886b1aa6b24",
+ "symbol": "STARL",
+ "name": "StarLink"
+ },
+ "count": 163
+ },
+ {
+ "baseCurrency": {
+ "address": "0x961c8c0b1aad0c0b10a51fef6a867e3091bcef17",
+ "symbol": "DYP",
+ "name": "DeFiYieldProtocol"
+ },
+ "count": 152
+ },
+ {
+ "baseCurrency": {
+ "address": "0xdec41db0c33f3f6f3cb615449c311ba22d418a8d",
+ "symbol": "LOBI",
+ "name": "Lobi"
+ },
+ "count": 148
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf8e9f10c22840b613cda05a0c5fdb59a4d6cd7ef",
+ "symbol": "DOE",
+ "name": "Dogs Of Elon"
+ },
+ "count": 144
+ },
+ {
+ "baseCurrency": {
+ "address": "0xbc396689893d065f41bc2c6ecbee5e0085233447",
+ "symbol": "PERP",
+ "name": "Perpetual"
+ },
+ "count": 138
+ },
+ {
+ "baseCurrency": {
+ "address": "0x24e89bdf2f65326b94e36978a7edeac63623dafa",
+ "symbol": "TKING",
+ "name": "Tiger King"
+ },
+ "count": 136
+ },
+ {
+ "baseCurrency": {
+ "address": "0x7a58c0be72be218b41c608b7fe7c5bb630736c71",
+ "symbol": "PEOPLE",
+ "name": "ConstitutionDAO"
+ },
+ "count": 132
+ },
+ {
+ "baseCurrency": {
+ "address": "0x3301ee63fb29f863f2333bd4466acb46cd8323e6",
+ "symbol": "AKITA",
+ "name": "Akita Inu"
+ },
+ "count": 131
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0391d2021f89dc339f60fff84546ea23e337750f",
+ "symbol": "BOND",
+ "name": "BarnBridge Governance Token"
+ },
+ "count": 131
+ },
+ {
+ "baseCurrency": {
+ "address": "0x35a532d376ffd9a705d0bb319532837337a398e7",
+ "symbol": "WDOGE",
+ "name": "Wrapped DogeCoin"
+ },
+ "count": 126
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1b40183efb4dd766f11bda7a7c3ad8982e998421",
+ "symbol": "VSP",
+ "name": "VesperToken"
+ },
+ "count": 123
+ },
+ {
+ "baseCurrency": {
+ "address": "0x6b4c7a5e3f0b99fcd83e9c089bddd6c7fce5c611",
+ "symbol": "MM",
+ "name": "Million"
+ },
+ "count": 120
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf16e81dce15b08f326220742020379b855b87df9",
+ "symbol": "ICE",
+ "name": "IceToken"
+ },
+ "count": 119
+ },
+ {
+ "baseCurrency": {
+ "address": "0x5a98fcbea516cf06857215779fd812ca3bef1b32",
+ "symbol": "LDO",
+ "name": "Lido DAO Token"
+ },
+ "count": 114
+ },
+ {
+ "baseCurrency": {
+ "address": "0xba5bde662c17e2adff1075610382b9b691296350",
+ "symbol": "RARE",
+ "name": "SuperRare"
+ },
+ "count": 113
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1122b6a0e00dce0563082b6e2953f3a943855c1f",
+ "symbol": "CENNZ",
+ "name": "Centrality Token"
+ },
+ "count": 111
+ },
+ {
+ "baseCurrency": {
+ "address": "0x8798249c2e607446efb7ad49ec89dd1865ff4272",
+ "symbol": "xSUSHI",
+ "name": "SushiBar"
+ },
+ "count": 109
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0309c98b1bffa350bcb3f9fb9780970ca32a5060",
+ "symbol": "BDI",
+ "name": "BasketDAO DeFi Index"
+ },
+ "count": 108
+ },
+ {
+ "baseCurrency": {
+ "address": "0xbc7250c8c3eca1dfc1728620af835fca489bfdf3",
+ "symbol": "GM",
+ "name": "GM"
+ },
+ "count": 106
+ },
+ {
+ "baseCurrency": {
+ "address": "0x3d6f0dea3ac3c607b3998e6ce14b6350721752d9",
+ "symbol": "CARDS",
+ "name": "CARD.STARTER"
+ },
+ "count": 105
+ },
+ {
+ "baseCurrency": {
+ "address": "0xbd2f0cd039e0bfcf88901c98c0bfac5ab27566e3",
+ "symbol": "DSD",
+ "name": "Dynamic Set Dollar"
+ },
+ "count": 104
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa0246c9032bc3a600820415ae600c6388619a14d",
+ "symbol": "FARM",
+ "name": "FARM Reward Token"
+ },
+ "count": 104
+ },
+ {
+ "baseCurrency": {
+ "address": "0x09a3ecafa817268f77be1283176b946c4ff2e608",
+ "symbol": "MIR",
+ "name": "Wrapped MIR Token"
+ },
+ "count": 104
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa2b4c0af19cc16a6cfacce81f192b024d625817d",
+ "symbol": "KISHU",
+ "name": "Kishu Inu"
+ },
+ "count": 103
+ },
+ {
+ "baseCurrency": {
+ "address": "0xff20817765cb7f73d4bde2e66e067e58d11095c2",
+ "symbol": "AMP",
+ "name": "Amp"
+ },
+ "count": 96
+ },
+ {
+ "baseCurrency": {
+ "address": "0xb4efd85c19999d84251304bda99e90b92300bd93",
+ "symbol": "RPL",
+ "name": "Rocket Pool"
+ },
+ "count": 93
+ },
+ {
+ "baseCurrency": {
+ "address": "0x43f11c02439e2736800433b4594994bd43cd066d",
+ "symbol": "FLOKI",
+ "name": "FLOKI"
+ },
+ "count": 93
+ },
+ {
+ "baseCurrency": {
+ "address": "0x798d1be841a82a273720ce31c822c61a67a601c3",
+ "symbol": "DIGG",
+ "name": "Digg"
+ },
+ "count": 92
+ },
+ {
+ "baseCurrency": {
+ "address": "0x4b4d2e899658fb59b1d518b68fe836b100ee8958",
+ "symbol": "MIS",
+ "name": "MIS"
+ },
+ "count": 88
+ },
+ {
+ "baseCurrency": {
+ "address": "0xdb5c3c46e28b53a39c255aa39a411dd64e5fed9c",
+ "symbol": "NCR",
+ "name": "Neos Credits"
+ },
+ "count": 85
+ },
+ {
+ "baseCurrency": {
+ "address": "0x25f8087ead173b73d6e8b84329989a8eea16cf73",
+ "symbol": "YGG",
+ "name": "Yield Guild Games Token"
+ },
+ "count": 84
+ },
+ {
+ "baseCurrency": {
+ "address": "0x62b9c7356a2dc64a1969e19c23e4f579f9810aa7",
+ "symbol": "cvxCRV",
+ "name": "Convex CRV"
+ },
+ "count": 78
+ },
+ {
+ "baseCurrency": {
+ "address": "0xcbfef8fdd706cde6f208460f2bf39aa9c785f05d",
+ "symbol": "KINE",
+ "name": "Kine Governance Token"
+ },
+ "count": 75
+ },
+ {
+ "baseCurrency": {
+ "address": "0xaaaebe6fe48e54f431b0c390cfaf0b017d09d42d",
+ "symbol": "CEL",
+ "name": "Celsius"
+ },
+ "count": 75
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf629cbd94d3791c9250152bd8dfbdf380e2a3b9c",
+ "symbol": "ENJ",
+ "name": "Enjin Coin"
+ },
+ "count": 74
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0000000000095413afc295d19edeb1ad7b71c952",
+ "symbol": "LON",
+ "name": "Tokenlon"
+ },
+ "count": 69
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0f5d2fb29fb7d3cfee444a200298f468908cc942",
+ "symbol": "MANA",
+ "name": "Decentraland MANA"
+ },
+ "count": 68
+ },
+ {
+ "baseCurrency": {
+ "address": "0x6810e776880c02933d47db1b9fc05908e5386b96",
+ "symbol": "GNO",
+ "name": "Gnosis Token"
+ },
+ "count": 66
+ },
+ {
+ "baseCurrency": {
+ "address": "0x4fe83213d56308330ec302a8bd641f1d0113a4cc",
+ "symbol": "NU",
+ "name": "NuCypher"
+ },
+ "count": 65
+ },
+ {
+ "baseCurrency": {
+ "address": "0xb78b3320493a4efaa1028130c5ba26f0b6085ef8",
+ "symbol": "DRC",
+ "name": "Dracula Token"
+ },
+ "count": 64
+ },
+ {
+ "baseCurrency": {
+ "address": "0xba7970f10d9f0531941dced1dda7ef3016b24e5b",
+ "symbol": "BGLD",
+ "name": "Based Gold"
+ },
+ "count": 64
+ },
+ {
+ "baseCurrency": {
+ "address": "0x29a5c1db7321c5c9eae57f9366ee8eef00ca11fb",
+ "symbol": "SHKOOBY",
+ "name": "SHKOOBY INU"
+ },
+ "count": 62
+ },
+ {
+ "baseCurrency": {
+ "address": "0xdfdb7f72c1f195c5951a234e8db9806eb0635346",
+ "symbol": "NFD",
+ "name": "Feisty Doge NFT"
+ },
+ "count": 60
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa1faa113cbe53436df28ff0aee54275c13b40975",
+ "symbol": "ALPHA",
+ "name": "AlphaToken"
+ },
+ "count": 57
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa7ed29b253d8b4e3109ce07c80fc570f81b63696",
+ "symbol": "BAS",
+ "name": "BAS"
+ },
+ "count": 55
+ },
+ {
+ "baseCurrency": {
+ "address": "0x429881672b9ae42b8eba0e26cd9c73711b891ca5",
+ "symbol": "PICKLE",
+ "name": "PickleToken"
+ },
+ "count": 55
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf1f955016ecbcd7321c7266bccfb96c68ea5e49b",
+ "symbol": "RLY",
+ "name": "Rally"
+ },
+ "count": 55
+ },
+ {
+ "baseCurrency": {
+ "address": "0x96e61422b6a9ba0e068b6c5add4ffabc6a4aae27",
+ "symbol": "ibEUR",
+ "name": "Iron Bank EUR"
+ },
+ "count": 54
+ },
+ {
+ "baseCurrency": {
+ "address": "0x87d73e916d7057945c9bcd8cdd94e42a6f47f776",
+ "symbol": "NFTX",
+ "name": "NFTX"
+ },
+ "count": 53
+ },
+ {
+ "baseCurrency": {
+ "address": "0x389999216860ab8e0175387a0c90e5c52522c945",
+ "symbol": "FEG",
+ "name": "FEGtoken"
+ },
+ "count": 53
+ },
+ {
+ "baseCurrency": {
+ "address": "0x15d4c048f83bd7e37d49ea4c83a07267ec4203da",
+ "symbol": "GALA",
+ "name": "Gala"
+ },
+ "count": 53
+ },
+ {
+ "baseCurrency": {
+ "address": "0x4691937a7508860f876c9c0a2a617e7d9e945d4b",
+ "symbol": "WOO",
+ "name": "Wootrade Network"
+ },
+ "count": 51
+ },
+ {
+ "baseCurrency": {
+ "address": "0x3d7e683fc9c86b4d653c9e47ca12517440fad14e",
+ "symbol": "welp",
+ "name": "You don't blacklist delta.financial"
+ },
+ "count": 50
+ },
+ {
+ "baseCurrency": {
+ "address": "0x05934eba98486693aaec2d00b0e9ce918e37dc3f",
+ "symbol": "SCAMMY",
+ "name": "You don't blacklist delta.financial"
+ },
+ "count": 50
+ },
+ {
+ "baseCurrency": {
+ "address": "0x7296368fe9bcb25d3ecc19af13655b907818cc09",
+ "symbol": "generalize fix for rebass tokens",
+ "name": "You don't blacklist delta.financial"
+ },
+ "count": 50
+ },
+ {
+ "baseCurrency": {
+ "address": "0x31c8eacbffdd875c74b94b077895bd78cf1e64a3",
+ "symbol": "RAD",
+ "name": "Radicle"
+ },
+ "count": 50
+ },
+ {
+ "baseCurrency": {
+ "address": "0xfae9c647ad7d89e738aba720acf09af93dc535f7",
+ "symbol": "Ian Laphan fan token",
+ "name": "You don't blacklist delta.financial"
+ },
+ "count": 50
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1ceb5cb57c4d4e2b2433641b95dd330a33185a44",
+ "symbol": "KP3R",
+ "name": "Keep3rV1"
+ },
+ "count": 49
+ },
+ {
+ "baseCurrency": {
+ "address": "0xe53ec727dbdeb9e2d5456c3be40cff031ab40a55",
+ "symbol": "SUPER",
+ "name": "SuperFarm"
+ },
+ "count": 49
+ },
+ {
+ "baseCurrency": {
+ "address": "0xfa5047c9c78b8877af97bdcb85db743fd7313d4a",
+ "symbol": "ROOK",
+ "name": "ROOK"
+ },
+ "count": 48
+ },
+ {
+ "baseCurrency": {
+ "address": "0x6243d8cea23066d098a15582d81a598b4e8391f4",
+ "symbol": "FLX",
+ "name": "Flex Ungovernance Token"
+ },
+ "count": 48
+ },
+ {
+ "baseCurrency": {
+ "address": "0x408e41876cccdc0f92210600ef50372656052a38",
+ "symbol": "REN",
+ "name": "Republic Token"
+ },
+ "count": 47
+ },
+ {
+ "baseCurrency": {
+ "address": "0x99d8a9c45b2eca8864373a26d1459e3dff1e17f3",
+ "symbol": "MIM",
+ "name": "Magic Internet Money"
+ },
+ "count": 46
+ },
+ {
+ "baseCurrency": {
+ "address": "0xcafe001067cdef266afb7eb5a286dcfd277f3de5",
+ "symbol": "PSP",
+ "name": "ParaSwap"
+ },
+ "count": 45
+ },
+ {
+ "baseCurrency": {
+ "address": "0x83e6f1e41cdd28eaceb20cb649155049fac3d5aa",
+ "symbol": "POLS",
+ "name": "PolkastarterToken"
+ },
+ "count": 45
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1a7e4e63778b4f12a199c062f3efdd288afcbce8",
+ "symbol": "agEUR",
+ "name": "agEUR"
+ },
+ "count": 45
+ },
+ {
+ "baseCurrency": {
+ "address": "0x24a6a37576377f63f194caa5f518a60f45b42921",
+ "symbol": "BANK",
+ "name": "Float Bank"
+ },
+ "count": 45
+ },
+ {
+ "baseCurrency": {
+ "address": "0xb62132e35a6c13ee1ee0f84dc5d40bad8d815206",
+ "symbol": "NEXO",
+ "name": "Nexo"
+ },
+ "count": 45
+ },
+ {
+ "baseCurrency": {
+ "address": "0x62359ed7505efc61ff1d56fef82158ccaffa23d7",
+ "symbol": "CORE",
+ "name": "cVault.finance"
+ },
+ "count": 44
+ },
+ {
+ "baseCurrency": {
+ "address": "0xfe2e637202056d30016725477c5da089ab0a043a",
+ "symbol": "sETH2",
+ "name": "StakeWise Staked ETH2"
+ },
+ "count": 44
+ },
+ {
+ "baseCurrency": {
+ "address": "0xb35ed5c39f371f2cd4bc2edab1f8da314168186a",
+ "symbol": "FLOOR",
+ "name": "PUNK Floor"
+ },
+ "count": 44
+ },
+ {
+ "baseCurrency": {
+ "address": "0x3155ba85d5f96b2d030a4966af206230e46849cb",
+ "symbol": "RUNE",
+ "name": "THORChain ETH.RUNE"
+ },
+ "count": 43
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf938424f7210f31df2aee3011291b658f872e91e",
+ "symbol": "VISR",
+ "name": "VISOR"
+ },
+ "count": 43
+ },
+ {
+ "baseCurrency": {
+ "address": "0x4e352cf164e64adcbad318c3a1e222e9eba4ce42",
+ "symbol": "MCB",
+ "name": "MCDEX Token"
+ },
+ "count": 43
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa80f2c8f61c56546001f5fc2eb8d6e4e72c45d4c",
+ "symbol": "UNQT",
+ "name": "Unique Utility Token"
+ },
+ "count": 42
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf57e7e7c23978c3caec3c3548e3d615c346e79ff",
+ "symbol": "IMX",
+ "name": "Immutable X"
+ },
+ "count": 41
+ },
+ {
+ "baseCurrency": {
+ "address": "0x725c263e32c72ddc3a19bea12c5a0479a81ee688",
+ "symbol": "BMI",
+ "name": "Bridge Mutual"
+ },
+ "count": 40
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa8b919680258d369114910511cc87595aec0be6d",
+ "symbol": "LYXe",
+ "name": "LUKSO Token"
+ },
+ "count": 40
+ },
+ {
+ "baseCurrency": {
+ "address": "0x990f341946a3fdb507ae7e52d17851b87168017c",
+ "symbol": "STRONG",
+ "name": "Strong"
+ },
+ "count": 40
+ },
+ {
+ "baseCurrency": {
+ "address": "0xe6279e1c65dd41b30ba3760dcac3cd8bbb4420d6",
+ "symbol": "REB",
+ "name": "Rebased"
+ },
+ "count": 40
+ },
+ {
+ "baseCurrency": {
+ "address": "0xba2184520a1cc49a6159c57e61e1844e085615b6",
+ "symbol": "HGT",
+ "name": "HelloGold Token"
+ },
+ "count": 39
+ },
+ {
+ "baseCurrency": {
+ "address": "0x04fa0d235c4abf4bcf4787af4cf447de572ef828",
+ "symbol": "UMA",
+ "name": "UMA Voting Token v1"
+ },
+ "count": 39
+ },
+ {
+ "baseCurrency": {
+ "address": "0x48c276e8d03813224bb1e55f953adb6d02fd3e02",
+ "symbol": "KUMA",
+ "name": "Kuma Inu"
+ },
+ "count": 39
+ },
+ {
+ "baseCurrency": {
+ "address": "0x9dfad1b7102d46b1b197b90095b5c4e9f5845bba",
+ "symbol": "BOTTO",
+ "name": "Botto"
+ },
+ "count": 37
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc4a11aaf6ea915ed7ac194161d2fc9384f15bff2",
+ "symbol": "WTON",
+ "name": "Wrapped TON"
+ },
+ "count": 37
+ },
+ {
+ "baseCurrency": {
+ "address": "0xba11d00c5f74255f56a5e366f4f77f5a186d7f55",
+ "symbol": "BAND",
+ "name": "BandToken"
+ },
+ "count": 35
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0f51bb10119727a7e5ea3538074fb341f56b09ad",
+ "symbol": "DAO",
+ "name": "DAO Maker"
+ },
+ "count": 33
+ },
+ {
+ "baseCurrency": {
+ "address": "0x18aaa7115705e8be94bffebde57af9bfc265b998",
+ "symbol": "AUDIO",
+ "name": "Audius"
+ },
+ "count": 33
+ },
+ {
+ "baseCurrency": {
+ "address": "0x40fd72257597aa14c7231a7b1aaa29fce868f677",
+ "symbol": "XOR",
+ "name": "Sora Token"
+ },
+ "count": 32
+ },
+ {
+ "baseCurrency": {
+ "address": "0x79c75e2e8720b39e258f41c37cc4f309e0b0ff80",
+ "symbol": "SOUL",
+ "name": "Phantasma Stake"
+ },
+ "count": 32
+ },
+ {
+ "baseCurrency": {
+ "address": "0x7a5ce6abd131ea6b148a022cb76fc180ae3315a6",
+ "symbol": "bALPHA",
+ "name": "bAlpha"
+ },
+ "count": 32
+ },
+ {
+ "baseCurrency": {
+ "address": "0x77777feddddffc19ff86db637967013e6c6a116c",
+ "symbol": "TORN",
+ "name": "TornadoCash"
+ },
+ "count": 32
+ },
+ {
+ "baseCurrency": {
+ "address": "0x3ec8798b81485a254928b70cda1cf0a2bb0b74d7",
+ "symbol": "GRO",
+ "name": "Gro DAO Token"
+ },
+ "count": 32
+ },
+ {
+ "baseCurrency": {
+ "address": "0x80fb784b7ed66730e8b1dbd9820afd29931aab03",
+ "symbol": "LEND",
+ "name": "EthLend Token"
+ },
+ "count": 32
+ },
+ {
+ "baseCurrency": {
+ "address": "0xbbc2ae13b23d715c30720f079fcd9b4a74093505",
+ "symbol": "ERN",
+ "name": "@EthernityChain $ERN Token"
+ },
+ "count": 32
+ },
+ {
+ "baseCurrency": {
+ "address": "0x11e003e9ecc5a2320e8b11098acd550b928b6df2",
+ "symbol": "XXi",
+ "name": "Xi Transfer Coin"
+ },
+ "count": 32
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc08512927d12348f6620a698105e1baac6ecd911",
+ "symbol": "GYEN",
+ "name": "GMO JPY"
+ },
+ "count": 32
+ },
+ {
+ "baseCurrency": {
+ "address": "0x5f64ab1544d28732f0a24f4713c2c8ec0da089f0",
+ "symbol": "DEXTF",
+ "name": "DEXTF Token"
+ },
+ "count": 31
+ },
+ {
+ "baseCurrency": {
+ "address": "0x6f40d4a6237c257fff2db00fa0510deeecd303eb",
+ "symbol": "INST",
+ "name": "Instadapp"
+ },
+ "count": 31
+ },
+ {
+ "baseCurrency": {
+ "address": "0x2ba592f78db6436527729929aaf6c908497cb200",
+ "symbol": "CREAM",
+ "name": "Cream"
+ },
+ "count": 31
+ },
+ {
+ "baseCurrency": {
+ "address": "0xcfeb09c3c5f0f78ad72166d55f9e6e9a60e96eec",
+ "symbol": "VEMP",
+ "name": "vEmpire Gamer Token"
+ },
+ "count": 31
+ },
+ {
+ "baseCurrency": {
+ "address": "0x64b986211c0cc675143f895c437b79c3cadf364a",
+ "symbol": "GRPFT",
+ "name": "GRAPEFRUIT"
+ },
+ "count": 30
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc0829421c1d260bd3cb3e0f06cfe2d52db2ce315",
+ "symbol": "ETH",
+ "name": "Ether Token"
+ },
+ "count": 29
+ },
+ {
+ "baseCurrency": {
+ "address": "0x6b4d5e9ec2acea23d4110f4803da99e25443c5df",
+ "symbol": "aKLIMA",
+ "name": "AlphaKlima"
+ },
+ "count": 28
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc52c326331e9ce41f04484d3b5e5648158028804",
+ "symbol": "ZCX",
+ "name": "ZEN Exchange Token"
+ },
+ "count": 28
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc4e15973e6ff2a35cc804c2cf9d2a1b817a8b40f",
+ "symbol": "ibBTC",
+ "name": "Interest-Bearing BTC"
+ },
+ "count": 27
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0d438f3b5175bebc262bf23753c1e53d03432bde",
+ "symbol": "wNXM",
+ "name": "Wrapped NXM"
+ },
+ "count": 27
+ },
+ {
+ "baseCurrency": {
+ "address": "0x147e3d644d53adadd18a28201b91e2b98aeb7f94",
+ "symbol": "USE",
+ "name": "ElenaUSD"
+ },
+ "count": 26
+ },
+ {
+ "baseCurrency": {
+ "address": "0x50d1c9771902476076ecfc8b2a83ad6b9355a4c9",
+ "symbol": "FTX Token",
+ "name": "FTT"
+ },
+ "count": 26
+ },
+ {
+ "baseCurrency": {
+ "address": "0x2602278ee1882889b946eb11dc0e810075650983",
+ "symbol": "VADER",
+ "name": "Vader"
+ },
+ "count": 26
+ },
+ {
+ "baseCurrency": {
+ "address": "0x47da5456bc2e1ce391b645ce80f2e97192e4976a",
+ "symbol": "PLUG",
+ "name": "Pl^g Token"
+ },
+ "count": 25
+ },
+ {
+ "baseCurrency": {
+ "address": "0x37c997b35c619c21323f3518b9357914e8b99525",
+ "symbol": "PILOT",
+ "name": "Unipilot"
+ },
+ "count": 25
+ },
+ {
+ "baseCurrency": {
+ "address": "0xae7ab96520de3a18e5e111b5eaab095312d7fe84",
+ "symbol": "stETH",
+ "name": "Liquid staked Ether 2.0"
+ },
+ "count": 24
+ },
+ {
+ "baseCurrency": {
+ "address": "0x8355dbe8b0e275abad27eb843f3eaf3fc855e525",
+ "symbol": "WOOL",
+ "name": "WOOL"
+ },
+ "count": 24
+ },
+ {
+ "baseCurrency": {
+ "address": "0x85eee30c52b0b379b046fb0f85f4f3dc3009afec",
+ "symbol": "KEEP",
+ "name": "KEEP Token"
+ },
+ "count": 23
+ },
+ {
+ "baseCurrency": {
+ "address": "0x6468e79a80c0eab0f9a2b574c8d5bc374af59414",
+ "symbol": "eXRD",
+ "name": "E-RADIX"
+ },
+ "count": 23
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf99d58e463a2e07e5692127302c20a191861b4d6",
+ "symbol": "ANY",
+ "name": "Anyswap"
+ },
+ "count": 23
+ },
+ {
+ "baseCurrency": {
+ "address": "0xda86006036540822e0cd2861dbd2fd7ff9caa0e8",
+ "symbol": "TUBE2",
+ "name": "TUBE2"
+ },
+ "count": 23
+ },
+ {
+ "baseCurrency": {
+ "address": "0x7ae0d42f23c33338de15bfa89c7405c068d9dc0a",
+ "symbol": "VERSE",
+ "name": "Shibaverse"
+ },
+ "count": 22
+ },
+ {
+ "baseCurrency": {
+ "address": "0x7ff4169a6b5122b664c51c95727d87750ec07c84",
+ "symbol": "10SET",
+ "name": "10Set Token"
+ },
+ "count": 22
+ },
+ {
+ "baseCurrency": {
+ "address": "0x43dfc4159d86f3a37a5a4b3d4580b888ad7d4ddd",
+ "symbol": "DODO",
+ "name": "DODO bird"
+ },
+ "count": 22
+ },
+ {
+ "baseCurrency": {
+ "address": "0xbe9375c6a420d2eeb258962efb95551a5b722803",
+ "symbol": "STMX",
+ "name": "StormX"
+ },
+ "count": 22
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0ae055097c6d159879521c384f1d2123d1f195e6",
+ "symbol": "STAKE",
+ "name": "STAKE"
+ },
+ "count": 21
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc770eefad204b5180df6a14ee197d99d808ee52d",
+ "symbol": "FOX",
+ "name": "FOX"
+ },
+ "count": 21
+ },
+ {
+ "baseCurrency": {
+ "address": "0x7a2bc711e19ba6aff6ce8246c546e8c4b4944dfd",
+ "symbol": "WAXE",
+ "name": "WAX Economic Token"
+ },
+ "count": 20
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc944e90c64b2c07662a292be6244bdf05cda44a7",
+ "symbol": "GRT",
+ "name": "Graph Token"
+ },
+ "count": 20
+ },
+ {
+ "baseCurrency": {
+ "address": "0x9af15d7b8776fa296019979e70a5be53c714a7ec",
+ "symbol": "EVN",
+ "name": "Evn Token"
+ },
+ "count": 20
+ },
+ {
+ "baseCurrency": {
+ "address": "0x12bb890508c125661e03b09ec06e404bc9289040",
+ "symbol": "RACA",
+ "name": "Radio Caca V2"
+ },
+ "count": 20
+ },
+ {
+ "baseCurrency": {
+ "address": "0x9783b81438c24848f85848f8df31845097341771",
+ "symbol": "COLLAR",
+ "name": "DOG COLLAR"
+ },
+ "count": 20
+ },
+ {
+ "baseCurrency": {
+ "address": "0xe6c3502997f97f9bde34cb165fbce191065e068f",
+ "symbol": "KBTC",
+ "name": "KBTC"
+ },
+ "count": 20
+ },
+ {
+ "baseCurrency": {
+ "address": "0x70e8de73ce538da2beed35d14187f6959a8eca96",
+ "symbol": "XSGD",
+ "name": "XSGD"
+ },
+ "count": 19
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc5bddf9843308380375a611c18b50fb9341f502a",
+ "symbol": "yveCRV-DAO",
+ "name": "veCRV-DAO yVault"
+ },
+ "count": 19
+ },
+ {
+ "baseCurrency": {
+ "address": "0xe95a203b1a91a908f9b9ce46459d101078c2c3cb",
+ "symbol": "aEth",
+ "name": "aEthereum"
+ },
+ "count": 19
+ },
+ {
+ "baseCurrency": {
+ "address": "0xd2877702675e6ceb975b4a1dff9fb7baf4c91ea9",
+ "symbol": "LUNA",
+ "name": "Wrapped LUNA Token"
+ },
+ "count": 19
+ },
+ {
+ "baseCurrency": {
+ "address": "0x269616d549d7e8eaa82dfb17028d0b212d11232a",
+ "symbol": "PUNK",
+ "name": "CryptoPunks"
+ },
+ "count": 18
+ },
+ {
+ "baseCurrency": {
+ "address": "0x888888435fde8e7d4c54cab67f206e4199454c60",
+ "symbol": "DFX",
+ "name": "DFX Token"
+ },
+ "count": 18
+ },
+ {
+ "baseCurrency": {
+ "address": "0x6dea81c8171d0ba574754ef6f8b412f2ed88c54d",
+ "symbol": "LQTY",
+ "name": "LQTY"
+ },
+ "count": 18
+ },
+ {
+ "baseCurrency": {
+ "address": "0x9fa69536d1cda4a04cfb50688294de75b505a9ae",
+ "symbol": "DERC",
+ "name": "DeRace Token"
+ },
+ "count": 18
+ },
+ {
+ "baseCurrency": {
+ "address": "0x232fb065d9d24c34708eedbf03724f2e95abe768",
+ "symbol": "SHEESHA",
+ "name": "Sheesha Finance"
+ },
+ "count": 18
+ },
+ {
+ "baseCurrency": {
+ "address": "0x249f71f8d9da86c60f485e021b509a206667a079",
+ "symbol": "SNGJ",
+ "name": "Singular Japan"
+ },
+ "count": 18
+ },
+ {
+ "baseCurrency": {
+ "address": "0x7bb594b3c757801346801f025699e39e7aaf5a49",
+ "symbol": "ORB",
+ "name": "Orb"
+ },
+ "count": 18
+ },
+ {
+ "baseCurrency": {
+ "address": "0x037a54aab062628c9bbae1fdb1583c195585fe41",
+ "symbol": "LCX",
+ "name": "LCX"
+ },
+ "count": 18
+ },
+ {
+ "baseCurrency": {
+ "address": "0x793b176a8b4833ea4aabcedfea55f2898bd6b753",
+ "symbol": "BRAIN",
+ "name": "BRAIN"
+ },
+ "count": 18
+ },
+ {
+ "baseCurrency": {
+ "address": "0x89472e02e3550fd52971ed89a2682613b2c97199",
+ "symbol": "RC_WETH_750_DAI_2021_3_31",
+ "name": "Ruler Protocol rToken"
+ },
+ "count": 17
+ },
+ {
+ "baseCurrency": {
+ "address": "0x2a8e1e676ec238d8a992307b495b45b3feaa5e86",
+ "symbol": "OUSD",
+ "name": "Origin Dollar"
+ },
+ "count": 17
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc4c2614e694cf534d407ee49f8e44d125e4681c4",
+ "symbol": "CHAIN",
+ "name": "Chain Games"
+ },
+ "count": 17
+ },
+ {
+ "baseCurrency": {
+ "address": "0x8c15ef5b4b21951d50e53e4fbda8298ffad25057",
+ "symbol": "FX",
+ "name": "Function X"
+ },
+ "count": 16
+ },
+ {
+ "baseCurrency": {
+ "address": "0x476c5e26a75bd202a9683ffd34359c0cc15be0ff",
+ "symbol": "SRM",
+ "name": "Serum"
+ },
+ "count": 16
+ },
+ {
+ "baseCurrency": {
+ "address": "0xe9f84de264e91529af07fa2c746e934397810334",
+ "symbol": "SAK3",
+ "name": "Sake"
+ },
+ "count": 16
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1712aad2c773ee04bdc9114b32163c058321cd85",
+ "symbol": "LIMIT",
+ "name": "LimitSwap"
+ },
+ "count": 16
+ },
+ {
+ "baseCurrency": {
+ "address": "0x4a220e6096b25eadb88358cb44068a3248254675",
+ "symbol": "QNT",
+ "name": "Quant"
+ },
+ "count": 16
+ },
+ {
+ "baseCurrency": {
+ "address": "0x15874d65e649880c2614e7a480cb7c9a55787ff6",
+ "symbol": "eMax",
+ "name": "EthereumMax"
+ },
+ "count": 16
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1d350417d9787e000cc1b95d70e9536dcd91f373",
+ "symbol": "mIAU",
+ "name": "Wrapped Mirror IAU Token"
+ },
+ "count": 16
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa150db9b1fa65b44799d4dd949d922c0a33ee606",
+ "symbol": "DRC",
+ "name": "Digital Reserve Currency"
+ },
+ "count": 16
+ },
+ {
+ "baseCurrency": {
+ "address": "0xe254e0878605a3d8b24d6cf7b4737a8431df1da1",
+ "symbol": "PLUG",
+ "name": "Pl^g Token Series A"
+ },
+ "count": 15
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa0b73e1ff0b80914ab6fe0444e65848c4c34450b",
+ "symbol": "CRO",
+ "name": "CRO"
+ },
+ "count": 15
+ },
+ {
+ "baseCurrency": {
+ "address": "0x674c6ad92fd080e4004b2312b45f796a192d27a0",
+ "symbol": "USDN",
+ "name": "Neutrino USD"
+ },
+ "count": 15
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf5581dfefd8fb0e4aec526be659cfab1f8c781da",
+ "symbol": "HOPR",
+ "name": "HOPR Token"
+ },
+ "count": 15
+ },
+ {
+ "baseCurrency": {
+ "address": "0x3e5d9d8a63cc8a88748f229999cf59487e90721e",
+ "symbol": "XMT",
+ "name": "MetalSwap"
+ },
+ "count": 15
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa0afaa285ce85974c3c881256cb7f225e3a1178a",
+ "symbol": "wCRES",
+ "name": "Wrapped CRES"
+ },
+ "count": 15
+ },
+ {
+ "baseCurrency": {
+ "address": "0x6c3f90f043a72fa612cbac8115ee7e52bde6e490",
+ "symbol": "3Crv",
+ "name": "Curve.fi DAI/USDC/USDT"
+ },
+ "count": 15
+ },
+ {
+ "baseCurrency": {
+ "address": "0x8d85f8d69451d41dc266c920971b4aac1120257a",
+ "symbol": "CENNZ",
+ "name": "Centrality TOKEN"
+ },
+ "count": 14
+ },
+ {
+ "baseCurrency": {
+ "address": "0x2b5ca2f9510cf1e3595ff219f24d75d4244585ea",
+ "symbol": "EPAY",
+ "name": "EthereumPay"
+ },
+ "count": 14
+ },
+ {
+ "baseCurrency": {
+ "address": "0x69af81e73a73b40adf4f3d4223cd9b1ece623074",
+ "symbol": "MASK",
+ "name": "Mask Network"
+ },
+ "count": 14
+ },
+ {
+ "baseCurrency": {
+ "address": "0x5ca30702d169637e656e7c655d9b9acb7a160e7e",
+ "symbol": "UFODOGE",
+ "name": "THE DOGE TRUTH"
+ },
+ "count": 14
+ },
+ {
+ "baseCurrency": {
+ "address": "0x68a118ef45063051eac49c7e647ce5ace48a68a5",
+ "symbol": "$BASED",
+ "name": "$BASED"
+ },
+ "count": 14
+ },
+ {
+ "baseCurrency": {
+ "address": "0xef2e239b21a81719abaabc6239e2e90859b44d9b",
+ "symbol": "TTX",
+ "name": "TTX NFT"
+ },
+ "count": 14
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0ada190c81b814548ddc2f6adc4a689ce7c1fe73",
+ "symbol": "YAXIS",
+ "name": "yAxis V2"
+ },
+ "count": 14
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc40af1e4fecfa05ce6bab79dcd8b373d2e436c4e",
+ "symbol": "HOKK",
+ "name": "Hokkaidu Inu"
+ },
+ "count": 14
+ },
+ {
+ "baseCurrency": {
+ "address": "0x054d64b73d3d8a21af3d764efd76bcaa774f3bb2",
+ "symbol": "PPAY",
+ "name": "Plasma"
+ },
+ "count": 14
+ },
+ {
+ "baseCurrency": {
+ "address": "0x367b072d50ac465ba47ab474c6d381bfc0e45f86",
+ "symbol": "CAPY",
+ "name": "Capy"
+ },
+ "count": 14
+ },
+ {
+ "baseCurrency": {
+ "address": "0x80ab141f324c3d6f2b18b030f1c4e95d4d658778",
+ "symbol": "DEA",
+ "name": "DEA"
+ },
+ "count": 14
+ },
+ {
+ "baseCurrency": {
+ "address": "0x368df85396be56f1d475e5d10339211a77e13c32",
+ "symbol": "RC_WBTC_25000_DAI_2021_3_31",
+ "name": "Ruler Protocol rToken"
+ },
+ "count": 14
+ },
+ {
+ "baseCurrency": {
+ "address": "0x967da4048cd07ab37855c090aaf366e4ce1b9f48",
+ "symbol": "OCEAN",
+ "name": "Ocean Token"
+ },
+ "count": 14
+ },
+ {
+ "baseCurrency": {
+ "address": "0x3b62f3820e0b035cc4ad602dece6d796bc325325",
+ "symbol": "DEUS",
+ "name": "DEUS"
+ },
+ "count": 14
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0dd1989e4b0e82f154b729ff47f8c9a4f4b2cc1c",
+ "symbol": "MILF",
+ "name": "Milf Token"
+ },
+ "count": 13
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa7de087329bfcda5639247f96140f9dabe3deed1",
+ "symbol": "STA",
+ "name": "Statera"
+ },
+ "count": 13
+ },
+ {
+ "baseCurrency": {
+ "address": "0x5228a22e72ccc52d415ecfd199f99d0665e7733b",
+ "symbol": "pBTC",
+ "name": "pTokens BTC"
+ },
+ "count": 13
+ },
+ {
+ "baseCurrency": {
+ "address": "0x69681f8fde45345c3870bcd5eaf4a05a60e7d227",
+ "symbol": "ibGBP",
+ "name": "Iron Bank GBP"
+ },
+ "count": 13
+ },
+ {
+ "baseCurrency": {
+ "address": "0x6149c26cd2f7b5ccdb32029af817123f6e37df5b",
+ "symbol": "LPOOL",
+ "name": "Launchpool token"
+ },
+ "count": 13
+ },
+ {
+ "baseCurrency": {
+ "address": "0xe31debd7abff90b06bca21010dd860d8701fd901",
+ "symbol": "UBOMB",
+ "name": "UniBomb"
+ },
+ "count": 12
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf411903cbc70a74d22900a5de66a2dda66507255",
+ "symbol": "VRA",
+ "name": "VERA"
+ },
+ "count": 12
+ },
+ {
+ "baseCurrency": {
+ "address": "0xddd6a0ecc3c6f6c102e5ea3d8af7b801d1a77ac8",
+ "symbol": "UNIX",
+ "name": "UniX Gaming"
+ },
+ "count": 12
+ },
+ {
+ "baseCurrency": {
+ "address": "0x632fd938b98d740faee69112ed41257be3f83c7c",
+ "symbol": "MXS",
+ "name": "Matrix Samurai Token"
+ },
+ "count": 12
+ },
+ {
+ "baseCurrency": {
+ "address": "0x327673ae6b33bd3d90f0096870059994f30dc8af",
+ "symbol": "LMT",
+ "name": "Lympo Market Token"
+ },
+ "count": 12
+ },
+ {
+ "baseCurrency": {
+ "address": "0x21e783bcf445b515957a10e992ad3c8e9ff51288",
+ "symbol": "LGB",
+ "name": "Let's Go Brandon"
+ },
+ "count": 12
+ },
+ {
+ "baseCurrency": {
+ "address": "0x9c2dc0c3cc2badde84b0025cf4df1c5af288d835",
+ "symbol": "COR",
+ "name": "COR Token"
+ },
+ "count": 12
+ },
+ {
+ "baseCurrency": {
+ "address": "0xd075e95423c5c4ba1e122cae0f4cdfa19b82881b",
+ "symbol": "wPE",
+ "name": "OPES Finance"
+ },
+ "count": 12
+ },
+ {
+ "baseCurrency": {
+ "address": "0x3431f91b3a388115f00c5ba9fdb899851d005fb5",
+ "symbol": "GERO",
+ "name": "GeroWallet"
+ },
+ "count": 12
+ },
+ {
+ "baseCurrency": {
+ "address": "0x09ce2b746c32528b7d864a1e3979bd97d2f095ab",
+ "symbol": "DFL",
+ "name": "DeFIL-V2"
+ },
+ "count": 12
+ },
+ {
+ "baseCurrency": {
+ "address": "0xe4815ae53b124e7263f08dcdbbb757d41ed658c6",
+ "symbol": "ZKS",
+ "name": "Zks"
+ },
+ "count": 12
+ },
+ {
+ "baseCurrency": {
+ "address": "0xeec2be5c91ae7f8a338e1e5f3b5de49d07afdc81",
+ "symbol": "DPX",
+ "name": "Dopex Governance Token"
+ },
+ "count": 11
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1e18821e69b9faa8e6e75dffe54e7e25754beda0",
+ "symbol": "KIMCHI",
+ "name": "KIMCHI.finance"
+ },
+ "count": 11
+ },
+ {
+ "baseCurrency": {
+ "address": "0x48fb253446873234f2febbf9bdeaa72d9d387f94",
+ "symbol": "vBNT",
+ "name": "Bancor Governance Token"
+ },
+ "count": 11
+ },
+ {
+ "baseCurrency": {
+ "address": "0xbc4171f45ef0ef66e76f979df021a34b46dcc81d",
+ "symbol": "DORA",
+ "name": "Dorayaki"
+ },
+ "count": 11
+ },
+ {
+ "baseCurrency": {
+ "address": "0x9e32b13ce7f2e80a01932b42553652e053d6ed8e",
+ "symbol": "Metis",
+ "name": "Metis Token"
+ },
+ "count": 11
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1614f18fc94f47967a3fbe5ffcd46d4e7da3d787",
+ "symbol": "PAID",
+ "name": "PAID Network"
+ },
+ "count": 11
+ },
+ {
+ "baseCurrency": {
+ "address": "0x9d409a0a012cfba9b15f6d4b36ac57a46966ab9a",
+ "symbol": "yvBOOST",
+ "name": "Yearn Compounding veCRV yVault"
+ },
+ "count": 11
+ },
+ {
+ "baseCurrency": {
+ "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0",
+ "symbol": "wstETH",
+ "name": "Wrapped liquid staked Ether 2.0"
+ },
+ "count": 11
+ },
+ {
+ "baseCurrency": {
+ "address": "0x67b6d479c7bb412c54e03dca8e1bc6740ce6b99c",
+ "symbol": "KYL",
+ "name": "Kylin Network"
+ },
+ "count": 11
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0c7d5ae016f806603cb1782bea29ac69471cab9c",
+ "symbol": "BFC",
+ "name": "Bifrost"
+ },
+ "count": 11
+ },
+ {
+ "baseCurrency": {
+ "address": "0x7c8155909cd385f120a56ef90728dd50f9ccbe52",
+ "symbol": "NII",
+ "name": "Nahmii"
+ },
+ "count": 10
+ },
+ {
+ "baseCurrency": {
+ "address": "0x22b6c31c2beb8f2d0d5373146eed41ab9ede3caf",
+ "symbol": "COC",
+ "name": "CocktailBar"
+ },
+ "count": 10
+ },
+ {
+ "baseCurrency": {
+ "address": "0xdfe66b14d37c77f4e9b180ceb433d1b164f0281d",
+ "symbol": "stETH",
+ "name": "stakedETH"
+ },
+ "count": 10
+ },
+ {
+ "baseCurrency": {
+ "address": "0x936ff029bcefb5a12275b9a72f79f2bed17a85fd",
+ "symbol": "BLACKHOLE",
+ "name": "Black Hole"
+ },
+ "count": 10
+ },
+ {
+ "baseCurrency": {
+ "address": "0x72e5390edb7727e3d4e3436451dadaff675dbcc0",
+ "symbol": "HANU",
+ "name": "Hanu Yokia"
+ },
+ "count": 10
+ },
+ {
+ "baseCurrency": {
+ "address": "0xddb3422497e61e13543bea06989c0789117555c5",
+ "symbol": "COTI",
+ "name": "COTI Token"
+ },
+ "count": 10
+ },
+ {
+ "baseCurrency": {
+ "address": "0xdc59ac4fefa32293a95889dc396682858d52e5db",
+ "symbol": "BEAN",
+ "name": "Bean"
+ },
+ "count": 10
+ },
+ {
+ "baseCurrency": {
+ "address": "0x5caf454ba92e6f2c929df14667ee360ed9fd5b26",
+ "symbol": "DEV",
+ "name": "Dev"
+ },
+ "count": 10
+ },
+ {
+ "baseCurrency": {
+ "address": "0x62786eeacc9246b4018e0146cb7a3efeacd9459d",
+ "symbol": "LESS",
+ "name": "LessToken"
+ },
+ "count": 10
+ },
+ {
+ "baseCurrency": {
+ "address": "0x398aea1c9ceb7de800284bb399a15e0efe5a9ec2",
+ "symbol": "sILV",
+ "name": "Escrowed Illuvium"
+ },
+ "count": 10
+ },
+ {
+ "baseCurrency": {
+ "address": "0x04f2694c8fcee23e8fd0dfea1d4f5bb8c352111f",
+ "symbol": "sOHM",
+ "name": "Staked Olympus"
+ },
+ "count": 10
+ },
+ {
+ "baseCurrency": {
+ "address": "0xdc98c5543f3004debfaad8966ec403093d0aa4a8",
+ "symbol": "PEBBLE",
+ "name": "Etherrock #72"
+ },
+ "count": 10
+ },
+ {
+ "baseCurrency": {
+ "address": "0xb1191f691a355b43542bea9b8847bc73e7abb137",
+ "symbol": "KIRO",
+ "name": "Kirobo"
+ },
+ "count": 10
+ },
+ {
+ "baseCurrency": {
+ "address": "0x8ca33160a8a2a9cb6d435f843bdd176241e2237e",
+ "symbol": "XES",
+ "name": "Proxeus Pre"
+ },
+ "count": 10
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa9b1eb5908cfc3cdf91f9b8b3a74108598009096",
+ "symbol": "Auction",
+ "name": "Bounce Token"
+ },
+ "count": 10
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0258f474786ddfd37abce6df6bbb1dd5dfc4434a",
+ "symbol": "ORN",
+ "name": "Orion Protocol"
+ },
+ "count": 10
+ },
+ {
+ "baseCurrency": {
+ "address": "0x056fd409e1d7a124bd7017459dfea2f387b6d5cd",
+ "symbol": "GUSD",
+ "name": "Gemini dollar"
+ },
+ "count": 10
+ },
+ {
+ "baseCurrency": {
+ "address": "0x7f0693074f8064cfbcf9fa6e5a3fa0e4f58ccccf",
+ "symbol": "gm",
+ "name": "we love gm"
+ },
+ "count": 10
+ },
+ {
+ "baseCurrency": {
+ "address": "0xcc4304a31d09258b0029ea7fe63d032f52e44efe",
+ "symbol": "SWAP",
+ "name": "TrustSwap Token"
+ },
+ "count": 9
+ },
+ {
+ "baseCurrency": {
+ "address": "0x89d24a6b4ccb1b6faa2625fe562bdd9a23260359",
+ "symbol": "DAI",
+ "name": "Dai Stablecoin v1.0"
+ },
+ "count": 9
+ },
+ {
+ "baseCurrency": {
+ "address": "0x8f8221afbb33998d8584a2b05749ba73c37a938a",
+ "symbol": "REQ",
+ "name": "Request Token"
+ },
+ "count": 9
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1c7bbadc81e18f7177a95eb1593e5f5f35861b10",
+ "symbol": "AUSCM",
+ "name": "Auric Network"
+ },
+ "count": 9
+ },
+ {
+ "baseCurrency": {
+ "address": "0x33349b282065b0284d756f0577fb39c158f935e6",
+ "symbol": "MPL",
+ "name": "Maple Token"
+ },
+ "count": 9
+ },
+ {
+ "baseCurrency": {
+ "address": "0x68037790a0229e9ce6eaa8a99ea92964106c4703",
+ "symbol": "PAR",
+ "name": "PAR Stablecoin"
+ },
+ "count": 9
+ },
+ {
+ "baseCurrency": {
+ "address": "0x4c19596f5aaff459fa38b0f7ed92f11ae6543784",
+ "symbol": "TRU",
+ "name": "TrueFi"
+ },
+ "count": 9
+ },
+ {
+ "baseCurrency": {
+ "address": "0x7f3edcdd180dbe4819bd98fee8929b5cedb3adeb",
+ "symbol": "XTK",
+ "name": "xToken"
+ },
+ "count": 9
+ },
+ {
+ "baseCurrency": {
+ "address": "0x2367012ab9c3da91290f71590d5ce217721eefe4",
+ "symbol": "xSNXa",
+ "name": "xSNX"
+ },
+ "count": 9
+ },
+ {
+ "baseCurrency": {
+ "address": "0x10be9a8dae441d276a5027936c3aaded2d82bc15",
+ "symbol": "UMX",
+ "name": "https://unimex.network/"
+ },
+ "count": 9
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa4eed63db85311e22df4473f87ccfc3dadcfa3e3",
+ "symbol": "RBC",
+ "name": "Rubic"
+ },
+ "count": 9
+ },
+ {
+ "baseCurrency": {
+ "address": "0x20f6a313cb250062331fe70b9567e3ee5f01888b",
+ "symbol": "WGMI",
+ "name": "WGMI"
+ },
+ "count": 9
+ },
+ {
+ "baseCurrency": {
+ "address": "0x80d55c03180349fff4a229102f62328220a96444",
+ "symbol": "OPUL",
+ "name": "OpulousToken"
+ },
+ "count": 9
+ },
+ {
+ "baseCurrency": {
+ "address": "0x26ce25148832c04f3d7f26f32478a9fe55197166",
+ "symbol": "DEXT",
+ "name": "DEXTools"
+ },
+ "count": 9
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa499648fd0e80fd911972bbeb069e4c20e68bf22",
+ "symbol": "uJENNY",
+ "name": "Jenny Metaverse DAO Token"
+ },
+ "count": 9
+ },
+ {
+ "baseCurrency": {
+ "address": "0x9bb6fd000109e24eb38b0deb806382ff9247e478",
+ "symbol": "HXB",
+ "name": "hex.bet"
+ },
+ "count": 8
+ },
+ {
+ "baseCurrency": {
+ "address": "0x808507121b80c02388fad14726482e061b8da827",
+ "symbol": "PENDLE",
+ "name": "Pendle"
+ },
+ "count": 8
+ },
+ {
+ "baseCurrency": {
+ "address": "0x5d8d9f5b96f4438195be9b99eee6118ed4304286",
+ "symbol": "COVER",
+ "name": "Cover Protocol"
+ },
+ "count": 8
+ },
+ {
+ "baseCurrency": {
+ "address": "0x02fdeea649d0291a987438fdaab5a71ed623471f",
+ "symbol": "ArtDeco",
+ "name": "ArtDeco"
+ },
+ "count": 8
+ },
+ {
+ "baseCurrency": {
+ "address": "0xb5a1779af011d64e0958e5af33d7e0c1dd658b8e",
+ "symbol": "mFloki",
+ "name": "MiniFloki"
+ },
+ "count": 8
+ },
+ {
+ "baseCurrency": {
+ "address": "0x467bccd9d29f223bce8043b84e8c8b282827790f",
+ "symbol": "TEL",
+ "name": "Telcoin"
+ },
+ "count": 8
+ },
+ {
+ "baseCurrency": {
+ "address": "0x14eb60f5f270b059b0c788de0ddc51da86f8a06d",
+ "symbol": "KCAL",
+ "name": "Phantasma Energy"
+ },
+ "count": 8
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc276a3d9c5443de32fde5b5719763c6ff7790a10",
+ "symbol": "FREN",
+ "name": "DogeFren"
+ },
+ "count": 8
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0dc7d0192c148d7d2d6fa32dc280f953c0ad6a34",
+ "symbol": "MetaCat",
+ "name": "MetaCat"
+ },
+ "count": 8
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc3d088842dcf02c13699f936bb83dfbbc6f721ab",
+ "symbol": "vETH",
+ "name": "Voucher Ethereum"
+ },
+ "count": 8
+ },
+ {
+ "baseCurrency": {
+ "address": "0xd4b3949b10490a9e596697e052652ca2d55abba0",
+ "symbol": "NAUSICAA",
+ "name": " Nausicaa Inu "
+ },
+ "count": 8
+ },
+ {
+ "baseCurrency": {
+ "address": "0xde30da39c46104798bb5aa3fe8b9e0e1f348163f",
+ "symbol": "GTC",
+ "name": "Gitcoin"
+ },
+ "count": 8
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc2bd7a597391f31d2e36c2cb769fce0e5bd6d482",
+ "symbol": "FREE",
+ "name": "Anti-Lockdown"
+ },
+ "count": 8
+ },
+ {
+ "baseCurrency": {
+ "address": "0x71f85b2e46976bd21302b64329868fd15eb0d127",
+ "symbol": "AXN",
+ "name": "Axion"
+ },
+ "count": 8
+ },
+ {
+ "baseCurrency": {
+ "address": "0xe2311ae37502105b442bbef831e9b53c5d2e9b3b",
+ "symbol": "BANANA",
+ "name": "Banana"
+ },
+ "count": 8
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf063fe1ab7a291c5d06a86e14730b00bf24cb589",
+ "symbol": "SALE",
+ "name": "DxSale.Network"
+ },
+ "count": 8
+ },
+ {
+ "baseCurrency": {
+ "address": "0x2b6e03f3137b41d30d54e87517c053a1f2d96390",
+ "symbol": "AST1",
+ "name": "Aster-1H"
+ },
+ "count": 8
+ },
+ {
+ "baseCurrency": {
+ "address": "0x8b39b70e39aa811b69365398e0aace9bee238aeb",
+ "symbol": "PKF",
+ "name": "PolkaFoundry"
+ },
+ "count": 8
+ },
+ {
+ "baseCurrency": {
+ "address": "0x8a6d4c8735371ebaf8874fbd518b56edd66024eb",
+ "symbol": "BLOCKS",
+ "name": "BLOCKS"
+ },
+ "count": 8
+ },
+ {
+ "baseCurrency": {
+ "address": "0x27054b13b1b798b345b591a4d22e6562d47ea75a",
+ "symbol": "AST",
+ "name": "AirSwap Token"
+ },
+ "count": 8
+ },
+ {
+ "baseCurrency": {
+ "address": "0x03066da434e5264ef0b32f787923f974a5726fdc",
+ "symbol": "BCS",
+ "name": "BCS"
+ },
+ "count": 8
+ },
+ {
+ "baseCurrency": {
+ "address": "0x8a14897ea5f668f36671678593fae44ae23b39fb",
+ "symbol": "3DOG",
+ "name": "Cerberus"
+ },
+ "count": 8
+ },
+ {
+ "baseCurrency": {
+ "address": "0xd23ac27148af6a2f339bd82d0e3cff380b5093de",
+ "symbol": "SI",
+ "name": "SIREN"
+ },
+ "count": 7
+ },
+ {
+ "baseCurrency": {
+ "address": "0xeb269732ab75a6fd61ea60b06fe994cd32a83549",
+ "symbol": "",
+ "name": ""
+ },
+ "count": 7
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf5a562597d5fb5cc19482379755e1a5275a6607b",
+ "symbol": "XFOC",
+ "name": "FOOT COIN"
+ },
+ "count": 7
+ },
+ {
+ "baseCurrency": {
+ "address": "0x26a79bd709a7ef5e5f747b8d8f83326ea044d8cc",
+ "symbol": "BSOCIAL",
+ "name": "BankSocial"
+ },
+ "count": 7
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa3bed4e1c75d00fa6f4e5e6922db7261b5e9acd2",
+ "symbol": "MTA",
+ "name": "Meta"
+ },
+ "count": 7
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0d8775f648430679a709e98d2b0cb6250d2887ef",
+ "symbol": "BAT",
+ "name": "Basic Attention Token"
+ },
+ "count": 7
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0aacfbec6a24756c20d41914f2caba817c0d8521",
+ "symbol": "YAM",
+ "name": "YAM"
+ },
+ "count": 7
+ },
+ {
+ "baseCurrency": {
+ "address": "0xd13c7342e1ef687c5ad21b27c2b65d772cab5c8c",
+ "symbol": "UOS",
+ "name": "Ultra Token"
+ },
+ "count": 7
+ },
+ {
+ "baseCurrency": {
+ "address": "0xee06a81a695750e71a662b51066f2c74cf4478a0",
+ "symbol": "$DG",
+ "name": "decentral.games"
+ },
+ "count": 7
+ },
+ {
+ "baseCurrency": {
+ "address": "0xffffffff2ba8f66d4e51811c5190992176930278",
+ "symbol": "COMBO",
+ "name": "Furucombo"
+ },
+ "count": 7
+ },
+ {
+ "baseCurrency": {
+ "address": "0xfa6de2697d59e88ed7fc4dfe5a33dac43565ea41",
+ "symbol": "DEFI5",
+ "name": "DEFI Top 5 Tokens Index"
+ },
+ "count": 7
+ },
+ {
+ "baseCurrency": {
+ "address": "0x9355372396e3f6daf13359b7b607a3374cc638e0",
+ "symbol": "WHALE",
+ "name": "WHALE"
+ },
+ "count": 7
+ },
+ {
+ "baseCurrency": {
+ "address": "0x95a4492f028aa1fd432ea71146b433e7b4446611",
+ "symbol": "APY",
+ "name": "APY Governance Token"
+ },
+ "count": 7
+ },
+ {
+ "baseCurrency": {
+ "address": "0x4e0fca55a6c3a94720ded91153a27f60e26b9aa8",
+ "symbol": "BOOST",
+ "name": "Boost"
+ },
+ "count": 7
+ },
+ {
+ "baseCurrency": {
+ "address": "0xd0660cd418a64a1d44e9214ad8e459324d8157f1",
+ "symbol": "WOOFY",
+ "name": "Woofy"
+ },
+ "count": 7
+ },
+ {
+ "baseCurrency": {
+ "address": "0x73968b9a57c6e53d41345fd57a6e6ae27d6cdb2f",
+ "symbol": "SDT",
+ "name": "Stake DAO Token"
+ },
+ "count": 7
+ },
+ {
+ "baseCurrency": {
+ "address": "0x4a3e164684812dfb684ac36457e7fa805087c68e",
+ "symbol": "YUAN",
+ "name": "YUAN"
+ },
+ "count": 7
+ },
+ {
+ "baseCurrency": {
+ "address": "0xe4cfe9eaa8cdb0942a80b7bc68fd8ab0f6d44903",
+ "symbol": "XEND",
+ "name": "XEND"
+ },
+ "count": 7
+ },
+ {
+ "baseCurrency": {
+ "address": "0x8207c1ffc5b6804f6024322ccf34f29c3541ae26",
+ "symbol": "OGN",
+ "name": "OriginToken"
+ },
+ "count": 7
+ },
+ {
+ "baseCurrency": {
+ "address": "0x33d0568941c0c64ff7e0fb4fba0b11bd37deed9f",
+ "symbol": "RAMP",
+ "name": "RAMP DEFI"
+ },
+ "count": 7
+ },
+ {
+ "baseCurrency": {
+ "address": "0x5dbcf33d8c2e976c6b560249878e6f1491bca25c",
+ "symbol": "yyDAI+yUSDC+yUSDT+yTUSD",
+ "name": "yearn Curve.fi yDAI/yUSDC/yUSDT/yTUSD"
+ },
+ "count": 7
+ },
+ {
+ "baseCurrency": {
+ "address": "0xe85ca2779645705185009a4ca33b9a7f0e3aaf1e",
+ "symbol": "LEAFA",
+ "name": " Leafa Inu "
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x7418a4d1a8aaecb45d0bc32aa2a171f42aa0df81",
+ "symbol": "SHAMAN",
+ "name": " SHAMAN INU "
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0xfc0d6cf33e38bce7ca7d89c0e292274031b7157a",
+ "symbol": "NTVRK",
+ "name": "NETVRK"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x491d6b7d6822d5d4bc88a1264e1b47791fd8e904",
+ "symbol": "LONDON",
+ "name": "LONDON"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x7b123f53421b1bf8533339bfbdc7c98aa94163db",
+ "symbol": "buidl",
+ "name": "dfohub"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc73c167e7a4ba109e4052f70d5466d0c312a344d",
+ "symbol": "SANSHU",
+ "name": "Sanshu Inu"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0xcc8fa225d80b9c7d42f96e9570156c65d6caaa25",
+ "symbol": "SLP",
+ "name": "Smooth Love Potion"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0xd4fffa07929b1901fdb30c1c67f80e1185d4210f",
+ "symbol": "CERTI",
+ "name": "CERTI"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x45804880de22913dafe09f4980848ece6ecbaf78",
+ "symbol": "PAXG",
+ "name": "Paxos Gold"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc690f7c7fcffa6a82b79fab7508c466fefdfc8c5",
+ "symbol": "LYM",
+ "name": "Lympo tokens"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x41f7b8b9b897276b7aae926a9016935280b44e97",
+ "symbol": "",
+ "name": " (Wormhole)"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x8ecd8139bfda5fb572983a2a097c1c84dd2ed613",
+ "symbol": "eCum",
+ "name": "EthereumCum "
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0xed0c64681cd4c4c4ee94776f87b20951dbdda1ef",
+ "symbol": "SMINU",
+ "name": "Smart-Inu"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x90b831fa3bebf58e9744a14d638e25b4ee06f9bc",
+ "symbol": "MIMO",
+ "name": "MIMO Parallel Governance Token"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x9ed8e7c9604790f7ec589f99b94361d8aab64e5e",
+ "symbol": "UNISTAKE",
+ "name": "Unistake"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x00a8b738e453ffd858a7edf03bccfe20412f0eb0",
+ "symbol": "ALBT",
+ "name": "AllianceBlock Token"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x2772b0dd22381932b104d683e73c5ecb5a3a2408",
+ "symbol": "mLOOT",
+ "name": "LootMart"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0xd6daecbba57eae35026a92b972e731932b0434a5",
+ "symbol": "SHB5",
+ "name": "Super Heavy Booster 5 | https://t.me/superheavybooster5"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x3e3cda3218212503883c79f6d2feef29e6bbb87d",
+ "symbol": "GPYX",
+ "name": "GpyxToken"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x9a86aabb4fbaa547b007a0ffaf86748db0f50774",
+ "symbol": "NOS",
+ "name": "NoScam"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x3622d034fbf3baec7060c7cb484a121389684986",
+ "symbol": "RKYU",
+ "name": "RyukyuToken"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x321c2fe4446c7c963dc41dd58879af648838f98d",
+ "symbol": "CTX",
+ "name": "Cryptex"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x9b7f62b942bc707e14bc0189b0f95c75a06f50e6",
+ "symbol": "K9",
+ "name": " K9 Inu "
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x01d8531005ce845485e7150e7ef8761c7ba63e20",
+ "symbol": "CZ",
+ "name": "ChangPengZhao Token"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf1a91c7d44768070f711c68f33a7ca25c8d30268",
+ "symbol": "C3",
+ "name": "CHARLI3"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0xdeaf554114b3481a3ed820fc06bfb51174ef84ac",
+ "symbol": "3TH",
+ "name": "3TH"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x9521c632fca479d8800aa42910d1a45efd76943a",
+ "symbol": "CHARLOTTE",
+ "name": " Charlotte Inu "
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x87b008e57f640d94ee44fd893f0323af933f9195",
+ "symbol": "COIN",
+ "name": "coin_artist"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x89ab32156e46f46d02ade3fecbe5fc4243b9aaed",
+ "symbol": "PNT",
+ "name": "pNetwork Token"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x939a7a577d93ad29b64c1595b1284ce660a479b9",
+ "symbol": "JEJUDOGE",
+ "name": "Jejudoge"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa184c89d44dfe9692a71f9f936cc80749cde42af",
+ "symbol": "GMGN",
+ "name": "GMGN"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0xad4f86a25bbc20ffb751f2fac312a0b4d8f88c64",
+ "symbol": "ROOM",
+ "name": "OptionRoom Token"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x60e46a4dd91d10506d8efa2caa266e7191fe7ea8",
+ "symbol": "FEWGO",
+ "name": "Fewmans Gold"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x00c83aecc790e8a4453e5dd3b0b4b3680501a7a7",
+ "symbol": "SKL",
+ "name": "SKALE"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0xfc98e825a2264d890f9a1e68ed50e1526abccacd",
+ "symbol": "MCO2",
+ "name": "Moss Carbon Credit"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0xd2dda223b2617cb616c1580db421e4cfae6a8a85",
+ "symbol": "BONDLY",
+ "name": "Bondly Token"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc67b12049c2d0cf6e476bc64c7f82fc6c63cffc5",
+ "symbol": "GDT",
+ "name": "GDT"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x7659ce147d0e714454073a5dd7003544234b6aa0",
+ "symbol": "XCAD",
+ "name": "XCAD Token"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x695106ad73f506f9d0a9650a78019a93149ae07c",
+ "symbol": "BNS",
+ "name": "BNS Token"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x509eece4793b46e4d81c0d4cb0a5a0c26c45e304",
+ "symbol": "FGLD",
+ "name": "First Gold"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x4aa41bc1649c9c3177ed16caaa11482295fc7441",
+ "symbol": "XFIT",
+ "name": "XFIT"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x6fb1e018f107d3352506c23777e4cd62e063584a",
+ "symbol": "IDTT",
+ "name": "Identity"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x656c00e1bcd96f256f224ad9112ff426ef053733",
+ "symbol": "EFI",
+ "name": "Efinity Token"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0xfb130d93e49dca13264344966a611dc79a456bc5",
+ "symbol": "DOGEGF",
+ "name": "DogeGF"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x511a17a6bfa199d9437f348a24be04cd2945bb29",
+ "symbol": "HUMAN",
+ "name": "Humankind"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0x948c70dc6169bfb10028fdbe96cbc72e9562b2ac",
+ "symbol": "XP",
+ "name": "PolkaFantasy"
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf397ad6deb26428cf65748b538becaf3f9a04294",
+ "symbol": "Eevee Inu ",
+ "name": " Eevee Inu "
+ },
+ "count": 6
+ },
+ {
+ "baseCurrency": {
+ "address": "0xd5525d397898e5502075ea5e830d8914f6f0affe",
+ "symbol": "MEME",
+ "name": "MEME"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0xe66894c93cbbe66e0fb2fcf5e430229bf5bb5ed9",
+ "symbol": "PLUG-B",
+ "name": "Pl^g Token Series B"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0xd0345d30fd918d7682398acbcdf139c808998709",
+ "symbol": "LIX",
+ "name": "Lixir Token"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0x7d29a64504629172a429e64183d6673b9dacbfce",
+ "symbol": "VXV",
+ "name": "VectorspaceAI"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0x2f109021afe75b949429fe30523ee7c0d5b27207",
+ "symbol": "OCC",
+ "name": "OCC"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0xdddddd4301a082e62e84e43f474f044423921918",
+ "symbol": "DVF",
+ "name": "DeversiFi Token"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0x8c8687fc965593dfb2f0b4eaefd55e9d8df348df",
+ "symbol": "PAID",
+ "name": "PAID Network"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0x8400d94a5cb0fa0d041a3788e395285d61c9ee5e",
+ "symbol": "UBT",
+ "name": "UniBright"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0xaba8cac6866b83ae4eec97dd07ed254282f6ad8a",
+ "symbol": "YAMv2",
+ "name": "YAMv2"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa8b12cc90abf65191532a12bb5394a714a46d358",
+ "symbol": "pBTC35A",
+ "name": "POW BTC-35W/T"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0x7ddc52c4de30e94be3a6a0a2b259b2850f421989",
+ "symbol": "GMT",
+ "name": "GoMining Token"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0xdf801468a808a32656d2ed2d2d80b72a129739f4",
+ "symbol": "CUBE",
+ "name": "Somnium Space Cubes"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1a7981d87e3b6a95c1516eb820e223fe979896b3",
+ "symbol": "MCC",
+ "name": "MultiChainCapital"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0xeef9f339514298c6a857efcfc1a762af84438dee",
+ "symbol": "HEZ",
+ "name": "Hermez Network Token"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0x379ec11344929da69ddfd805d564608089c97e55",
+ "symbol": "DRF",
+ "name": "DragonFruit"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf418588522d5dd018b425e472991e52ebbeeeeee",
+ "symbol": "PUSH",
+ "name": "Ethereum Push Notification Service"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa36fdbbae3c9d55a1d67ee5821d53b50b63a1ab9",
+ "symbol": "TEMP",
+ "name": "Tempus"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0xe76c6c83af64e4c60245d8c7de953df673a7a33d",
+ "symbol": "RAIL",
+ "name": "Rail"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0xdf5e0e81dff6faf3a7e52ba697820c5e32d806a8",
+ "symbol": "yDAI+yUSDC+yUSDT+yTUSD",
+ "name": "Curve.fi yDAI/yUSDC/yUSDT/yTUSD"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0x4ceda7906a5ed2179785cd3a40a69ee8bc99c466",
+ "symbol": "AION",
+ "name": "AION"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0x6399c842dd2be3de30bf99bc7d1bbf6fa3650e70",
+ "symbol": "PREMIA",
+ "name": "Premia"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0xfc05205ff402849b081e72ae4f8fc93cbdf40db1",
+ "symbol": "Lelouch",
+ "name": "Lelouch Lamperouge"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0x4ece5c5cfb9b960a49aae739e15cdb6cfdcc5782",
+ "symbol": "DBUY",
+ "name": "Doont Buy"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0x68749665ff8d2d112fa859aa293f07a622782f38",
+ "symbol": "XAUt",
+ "name": "Tether Gold"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0x4123a133ae3c521fd134d7b13a2dec35b56c2463",
+ "symbol": "QRDO",
+ "name": "Qredo Token"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0x3383c5a8969dc413bfddc9656eb80a1408e4ba20",
+ "symbol": "wANATHA",
+ "name": "Wrapped ANATHA"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0x16c52ceece2ed57dad87319d91b5e3637d50afa4",
+ "symbol": "TCAP",
+ "name": "TCAP Token"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0xdc349913d53b446485e98b76800b6254f43df695",
+ "symbol": "BEZOGE",
+ "name": "Bezoge Earth"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0x3ec99d9ab6e6f144d47bce3c0f6183b23f9ff0ec",
+ "symbol": "SYLO",
+ "name": "SYLO Series A Token"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1f8a626883d7724dbd59ef51cbd4bf1cf2016d13",
+ "symbol": "STAK",
+ "name": "Jigstack"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1036c90a7dea8a392901147870f74a40af812bb4",
+ "symbol": "RUSD",
+ "name": "Ring USD"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0x8290d7a64f25e6b5002d98367e8367c1b532b534",
+ "symbol": "oneUNI",
+ "name": "oneUNI"
+ },
+ "count": 5
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0d3b8cdd9748a1f6fa67a0ca89111de92901e29a",
+ "symbol": "PSHIB",
+ "name": "Polkashiba"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x704de5696df237c5b9ba0de9ba7e0c63da8ea0df",
+ "symbol": "xAAVEb",
+ "name": "xAAVE"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xfeee0b5ec835932e42f0c029e918ffa4ded19a70",
+ "symbol": "SBC DAO",
+ "name": " Small Brain Capital DAO "
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xebd9d99a3982d547c5bb4db7e3b1f9f14b67eb83",
+ "symbol": "ID",
+ "name": "Everest ID"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x3d56b44d1eccdeadffd5be1282762317455cda32",
+ "symbol": "FOMO",
+ "name": "FOMO World"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x2924f92520297d5b188c90d319836c93a7271c7f",
+ "symbol": "SCREAMINU",
+ "name": " Scream Inu "
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc5c8465293cb140d3f98bd644233e93871bd604a",
+ "symbol": "SqINU",
+ "name": "Squirtle Inu"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x417e1a6393596f2a4eb3ad667ca2fbe57802575d",
+ "symbol": "CHAIN",
+ "name": "CHAIN FURY | t.me/ChainFury"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x55296f69f40ea6d20e478533c15a6b08b654e758",
+ "symbol": "XYO",
+ "name": "XY Oracle"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xcd1faff6e578fa5cac469d2418c95671ba1a62fe",
+ "symbol": "XTM",
+ "name": "Torum"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0575112525f2778c14c4ca3658430c85de400045",
+ "symbol": "WAGMI",
+ "name": "WAGMI"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa42fa7e43354cefbea5c822362367dfaee092cb3",
+ "symbol": "STARB",
+ "name": "StarbaseGQ"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x19d4beb2bc410b80084fcbd0ac024326f4d3a370",
+ "symbol": "ViCA",
+ "name": "ViCA Token"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf80d589b3dbe130c270a69f1a69d050f268786df",
+ "symbol": "DAM",
+ "name": "Datamine"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x31429d1856ad1377a8a0079410b297e1a9e214c2",
+ "symbol": "ANGLE",
+ "name": "ANGLE"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x626e8036deb333b408be468f951bdb42433cbf18",
+ "symbol": "AIOZ",
+ "name": "AIOZ Network"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xe0e05c43c097b0982db6c9d626c4eb9e95c3b9ce",
+ "symbol": "USF",
+ "name": "Unslashed Finance Governance Token"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0e192d382a36de7011f795acc4391cd302003606",
+ "symbol": "FST",
+ "name": "Futureswap Token"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x6710c63432a2de02954fc0f851db07146a6c0312",
+ "symbol": "MFG",
+ "name": "SyncFab Smart Manufacturing Blockchain"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x64b4aba89b57400199b5b7785cad0b5c2bfcc296",
+ "symbol": "SOCRAT",
+ "name": "Socrat"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x799ebfabe77a6e34311eeee9825190b9ece32824",
+ "symbol": "BTRST",
+ "name": "BTRST"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x7ae1d57b58fa6411f32948314badd83583ee0e8c",
+ "symbol": "PAPER",
+ "name": "Paper"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc834fa996fa3bec7aad3693af486ae53d8aa8b50",
+ "symbol": "CONV",
+ "name": "Convergence"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xd478161c952357f05f0292b56012cd8457f1cfbf",
+ "symbol": "POLK",
+ "name": "Polkamarkets"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1aa61c196e76805fcbe394ea00e4ffced24fc469",
+ "symbol": "SAFE",
+ "name": "yieldfarming.insure"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x37da95e0aa5a2edb84189f9aea6f9f4c38c0f038",
+ "symbol": "69",
+ "name": "SixtyNine"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x120a3879da835a5af037bb2d1456bebd6b54d4ba",
+ "symbol": "RVST",
+ "name": "Revest"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xcb3df3108635932d912632ef7132d03ecfc39080",
+ "symbol": "WING",
+ "name": "Wings"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x83eed088eb2b7005ae4b4c94cfc17fb4ffab3393",
+ "symbol": "CHINU",
+ "name": "Charmander Inu"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x47d94ab5e824090f3fd8ab14d9033a079a97d6db",
+ "symbol": "MSHIBA",
+ "name": "Momma Shiba"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xab5d99d2c931d2bb4a9f0168a2a9778fa1e4fdb0",
+ "symbol": "GIZMO",
+ "name": " Gizmo Token "
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x5968a5d4cc5bf135d787486824c8031cd9e2291f",
+ "symbol": "COPE",
+ "name": "COPE"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0e4e860f8bdc0a494cc9c4649ba1d0291d8d5f6b",
+ "symbol": "OOP",
+ "name": "OcarinaOfPump.com"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xe66b3aa360bb78468c00bebe163630269db3324f",
+ "symbol": "MTO",
+ "name": "Merchant Token"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xd8dfe718f9522525ecc44e5ddd1d7141a012c4fb",
+ "symbol": "METAGOKU",
+ "name": "Meta Goku"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x12a24acb8867f02fb06614728d0b6b64ff3c4bae",
+ "symbol": "BLACKSTALLION",
+ "name": "BLACKSTALLION"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x2bfe554b98db945d87c6262b88bb4a98ab39ae7f",
+ "symbol": "AKITACASH",
+ "name": "AkitaCash Token"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf4259815fe2410937ab2e5148acfcfbd27b7a5fd",
+ "symbol": "Interstellar",
+ "name": "? Interstellar ?"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa1d6df714f91debf4e0802a542e13067f31b8262",
+ "symbol": "RFOX",
+ "name": "RFOX"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x9275e8386a5bdda160c0e621e9a6067b8fd88ea2",
+ "symbol": "NBNG",
+ "name": "NOBUNAGA"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x9a7af5307a4277d2dc95cdcd5709c806c095a44d",
+ "symbol": "DIADOGE",
+ "name": "Diamond Doge"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xfa898efdb91e35bd311c45b9b955f742b6719aa2",
+ "symbol": "APED",
+ "name": "Baddest Alpha Ape Bundle "
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0b498ff89709d3838a063f1dfa463091f9801c2b",
+ "symbol": "BTC2x-FLI",
+ "name": "BTC 2x Flexible Leverage Index"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xec1b7eb3d3cfac7027fa60b5376e5eadef4f1300",
+ "symbol": "HZM",
+ "name": "HZMCOIN"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x6286a9e6f7e745a6d884561d88f94542d6715698",
+ "symbol": "TECH",
+ "name": "Cryptomeda"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x68a3637ba6e75c0f66b61a42639c4e9fcd3d4824",
+ "symbol": "MOON",
+ "name": "MoonToken"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x5979f50f1d4c08f9a53863c2f39a7b0492c38d0f",
+ "symbol": "pLTC",
+ "name": "pTokens LTC"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x550fd2fc0998ce37246a0a5359709f97423ae2e0",
+ "symbol": "MPY",
+ "name": "Meta Puppy"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa77e9683c394ac065c355f6683e5a523cba388a5",
+ "symbol": "WOGE",
+ "name": "White Doge"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xb05097849bca421a3f51b249ba6cca4af4b97cb9",
+ "symbol": "FLOAT",
+ "name": "Float Protocol: FLOAT"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x8c9d0e9d27fb15a96cd8ad714929502f4f1995bf",
+ "symbol": "SHFL",
+ "name": "SHUFFLE!"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x83695d4a8b007c4dcbbed05c6ab8abf8263ffa71",
+ "symbol": "CAKEINU",
+ "name": "Cake Inu"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x5b102768672cae6b64d06b8033ae1977e0dbfedf",
+ "symbol": "LEBRON",
+ "name": "Lebron Doge"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x8762db106b2c2a0bccb3a80d1ed41273552616e8",
+ "symbol": "RSR",
+ "name": "Reserve Rights"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xfca59cd816ab1ead66534d82bc21e7515ce441cf",
+ "symbol": "RARI",
+ "name": "Rarible"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa02120696c7b8fe16c09c749e4598819b2b0e915",
+ "symbol": "WXT",
+ "name": "Wirex Token"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x2aeccb42482cc64e087b6d2e5da39f5a7a7001f8",
+ "symbol": "RULER",
+ "name": "Ruler Protocol"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf29cdfc5b50cbb396d674042a62286d2035ffbdf",
+ "symbol": "ODA",
+ "name": " Oda Inu "
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x6b785a0322126826d8226d77e173d75dafb84d11",
+ "symbol": "VLT",
+ "name": "Bankroll Vault"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xeda5b6e0a37b3ddd7f0ab1ace26b917db49b0384",
+ "symbol": "PKINU",
+ "name": "PINKY INU www.pinkyinu.site"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc3761eb917cd790b30dad99f6cc5b4ff93c4f9ea",
+ "symbol": "ERC20",
+ "name": "ERC20"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xffd93c0252ada18ca06b881282800d9893b06223",
+ "symbol": "MFS",
+ "name": "My First Shiba"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x07ca256267128fbe1a79b74fc7b0e6ed3359ad08",
+ "symbol": "WWT",
+ "name": "Wormhole Wrapped - 1-c261d86cf5cf877128ba1f5652e5f3dda599270c1556a15bc0a9aacf8063e563"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x5166e09628b696285e3a151e84fb977736a83575",
+ "symbol": "VOL",
+ "name": "Volatility Protocol Token"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x3322ce66fb4b657333e2140c00934a618848bdca",
+ "symbol": "HINU",
+ "name": "High Inu"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf94b5c5651c888d928439ab6514b93944eee6f48",
+ "symbol": "YLD",
+ "name": "Yield"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1e05f68b29b286fb3bbad3c688d7e2abda549b80",
+ "symbol": "PICIPO",
+ "name": "PICIPO"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x639ae8f3eed18690bf451229d14953a5a5627b72",
+ "symbol": "GNBU",
+ "name": "Nimbus Governance Token"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x87edffde3e14c7a66c9b9724747a1c5696b742e6",
+ "symbol": "SWAG",
+ "name": "Swag Token"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa1e72267084192db7387c8cc1328fade470e4149",
+ "symbol": "TFI-LP",
+ "name": "TrueFi LP"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xd796b8eff23d5c4c71f43c99ffd7d8a3119f7475",
+ "symbol": "METACEX",
+ "name": "Metaverse Exchange"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xcbd55d4ffc43467142761a764763652b48b969ff",
+ "symbol": "ASTRO",
+ "name": "AstroTools.io"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x48271da3a74834f30534f5019483b89c4021736a",
+ "symbol": "OPM",
+ "name": "OnePunchManETH"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf431dec6a097b5f4436fe952cc63db7fddb46cc9",
+ "symbol": "LEECH",
+ "name": "Parasite"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf4cd3d3fda8d7fd6c5a500203e38640a70bf9577",
+ "symbol": "Yf-DAI",
+ "name": "YfDAI.finance"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa1ab427451f19df7445a22dea7073800ea3b687f",
+ "symbol": "SHINU",
+ "name": "Shinigami Inu"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x62c8179b08b72acd4e745b33415aa512f2aa4097",
+ "symbol": "HOUND",
+ "name": "The Hound"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xac042d9284df95cc6bd35982f6a61e3e7a6f875b",
+ "symbol": "LBY",
+ "name": "Lobby"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xb48b3a30b297fd9a765daa2b7520765b640d486b",
+ "symbol": "AFT",
+ "name": "Another Fucking Token"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x194302204f275a532d005c6388bf7559042634bc",
+ "symbol": "ANIME",
+ "name": "Anime Inu"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0ff5a8451a839f5f0bb3562689d9a44089738d11",
+ "symbol": "rDPX",
+ "name": "Dopex Rebate Token"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xaea2350f80420e15e8a1f21124eddaedd482ffa5",
+ "symbol": "RAICHU",
+ "name": "RAICHU | t.me/raichutoken"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x63b8b7d4a3efd0735c4bffbd95b332a55e4eb851",
+ "symbol": "DGCL",
+ "name": "DigiCol Token"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x42d6622dece394b54999fbd73d108123806f6a18",
+ "symbol": "SPANK",
+ "name": "SPANK"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x39dd84dd2a6b9a731f0de21d5e3f476e5bed3f47",
+ "symbol": "CHININU",
+ "name": "CHIN-INU"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x642e2e81a7c5e1f1528657c1dfeddb4e4b5f1810",
+ "symbol": "MGC",
+ "name": "Multi Gains Capital"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x903bef1736cddf2a537176cf3c64579c3867a881",
+ "symbol": "ICHI",
+ "name": "ichi.farm"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xb3e14c863ab04c84fe6b4bad72c101f0ffe8af10",
+ "symbol": "ZENDOGE",
+ "name": "Zen Doge"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x878cf148ccbb50426043a9affe54ba408221c7fa",
+ "symbol": "KOMBAT",
+ "name": "Crypto Kombat Token"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf5b1fd29d23e98db2d9ebb8435e1082e3b38fb65",
+ "symbol": "KISHIMOTO",
+ "name": "Kishimoto Inu"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xaa0045b09e96027210e3a0bd3c912171d5e9c7ec",
+ "symbol": "LEEEEECH",
+ "name": "Parasite2"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x73037dbf56716e6e7df24f87abb9860ae36552c2",
+ "symbol": "SAPINU",
+ "name": "Sapsal INU Coin"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x2956356cd2a2bf3202f771f50d3d14a367b48070",
+ "symbol": "WETH",
+ "name": "Ether Token"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x9203f0f60a2e49f2de2f177bb5f882559de465d5",
+ "symbol": "SPIDEYINU ",
+ "name": " Spidey Inu"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x33e07f5055173cf8febede8b21b12d1e2b523205",
+ "symbol": "ELAND",
+ "name": "Etherland"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xb05d22ef2d41ba68ab6795c49565ae3faf8fe473",
+ "symbol": "SCOOP",
+ "name": "Pooper Scooper"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf3950f3a1f9cfd0b9601275a8f9d87cb0254e70b",
+ "symbol": "DONI",
+ "name": "Dogo Inu"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x537edd52ebcb9f48ff2f8a28c51fcdb9d6a6e0d4",
+ "symbol": "SDOG",
+ "name": "SDOG"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x80e7fe192709b926b3d6ddef8ff158829f48624e",
+ "symbol": "ZINU",
+ "name": " Zombie Inu "
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1cbf37694de7f75cf10505e727420eeedb7ed6c3",
+ "symbol": "GIVE",
+ "name": "Give Global"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x7b8a9965de29f52d30b49d68e3b7194e59aeb957",
+ "symbol": "SUPER HEAVY ",
+ "name": "ETH"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x72271efca94e4fd7c49fa66fcab77d418bc3b4a1",
+ "symbol": "LGBTSHIBA",
+ "name": "Lgbt Shiba"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x49828c1453d317ca3fffa60c8b5f7f42eeaae56a",
+ "symbol": "SHIB2",
+ "name": "SHIBA INU 2.0"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xae3e8fe316b3fefe62f75ce25b355d4b3b985ae6",
+ "symbol": "CIAO",
+ "name": "Ciao Bella"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x6a3fe7d0171bc8fc897171dd29d3c422940f12aa",
+ "symbol": "BARK",
+ "name": "Bark Inu"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc8f9882b3cc6d0d920ca7ca376e6f10d4e0c295b",
+ "symbol": "TOKYOGHOUL",
+ "name": "Tokyo Ghoul Inu"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf1ca9cb74685755965c7458528a36934df52a3ef",
+ "symbol": "AVINOC",
+ "name": "AVINOC Token"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x9412d561930470e73938c10bfdba5a478f08d6cc",
+ "symbol": "BIN",
+ "name": "Bineon Game | t.me/bineon"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x00000000000045166c45af0fc6e4cf31d9e14b9a",
+ "symbol": "BID",
+ "name": "TopBidder"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x10086399dd8c1e3de736724af52587a2044c9fa2",
+ "symbol": "TMTG",
+ "name": "The Midas Touch Gold"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xe208060ee58ab4ea18aa51f399541683533632b8",
+ "symbol": "MLINK",
+ "name": "Memelink"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xb525ecee288b99216cd481c56b6efbdbe9bf90b5",
+ "symbol": "KUMA",
+ "name": "Kuma Inu"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1cbb83ebcd552d5ebf8131ef8c9cd9d9bab342bc",
+ "symbol": "NFY",
+ "name": "Non-Fungible Yearn"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc2eb69ac2828ae4874fca025caf453f758b99acc",
+ "symbol": "KISHU",
+ "name": "Kishu Inu"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x39a3c6f5009e3f7db08cf69fdf5183c8e1d11e56",
+ "symbol": "VAMINU",
+ "name": "Vampire Inu"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x2a2005849982f0f2b734bcbf206d8a2db067cde0",
+ "symbol": "GG",
+ "name": "Gorillion"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x727f064a78dc734d33eec18d5370aef32ffd46e4",
+ "symbol": "ORION",
+ "name": "Orion Money Token"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x896e145568624a498c5a909187363ae947631503",
+ "symbol": "WASABI",
+ "name": "Wasabi"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xb7c8ca3d212eaf881ebc3209cc07635bb32e3eee",
+ "symbol": "GP",
+ "name": "GP"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x13215d37f94703db513b01c86d4673eca7d4c689",
+ "symbol": "ROLL?",
+ "name": "High Roller ?"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x898bad2774eb97cf6b94605677f43b41871410b1",
+ "symbol": "vETH2",
+ "name": "validator-Eth2"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x26c8afbbfe1ebaca03c2bb082e69d0476bffe099",
+ "symbol": "CELL",
+ "name": "Cellframe Token"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x7a74a44d9e4e2cc1990fe723fcd6c4258c0b0b38",
+ "symbol": "TINYSAITAMA",
+ "name": " Tiny Saitama "
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x2b622288827098ac11cd3dacd238a3478e41b2ad",
+ "symbol": "1Punch",
+ "name": "1Punch"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc22b30e4cce6b78aaaadae91e44e73593929a3e9",
+ "symbol": "RAC",
+ "name": "RAC"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x3a5c99d8e43aaa5099e3bf4ea1d2762ff501311c",
+ "symbol": "MACROHARD",
+ "name": "MACROHARD ELON"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x84810bcf08744d5862b8181f12d17bfd57d3b078",
+ "symbol": "SGT",
+ "name": "SharedStake Governance Token"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa49dc04d118bdf4a3471f593c1bba0c99b2187ea",
+ "symbol": "ODI",
+ "name": "odius.ai"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x997be9f68df07ee507a772c09cfb86a0d0b16f8c",
+ "symbol": "SCOOBY",
+ "name": "SCOOBYDOO"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x4da08a1bff50be96bded5c7019227164b49c2bfc",
+ "symbol": "Mononoke-Inu",
+ "name": "Mononoke Inu"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf12815f5ecb6c4f9ec77a4a7e06a3be372017820",
+ "symbol": "CLAKE",
+ "name": "CrystalLake"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc9f1016d336ef77aee75fc11ad64c5ecf9121332",
+ "symbol": "SAT",
+ "name": "SoMee Advertising Token V2"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc3dd23a0a854b4f9ae80670f528094e9eb607ccb",
+ "symbol": "TRND",
+ "name": "Trendering"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1997830b5beb723f5089bb8fc38766d419a0444d",
+ "symbol": "NEWINU",
+ "name": "New Guinea Singing Dog Inu"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xbc17729fdf562723f0267f79ff25ade441056d87",
+ "symbol": "KST",
+ "name": "KSM Starter Token"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1b7cb8fc659ec17c4bc1e7cdff13022308885437",
+ "symbol": "Rainbows",
+ "name": "NoundlesRainbows"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x178c820f862b14f316509ec36b13123da19a6054",
+ "symbol": "EWTB",
+ "name": "Energy Web Token Bridged"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xb17548c7b510427baac4e267bea62e800b247173",
+ "symbol": "SMT",
+ "name": "Swarm Markets"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x20a8cec5fffea65be7122bcab2ffe32ed4ebf03a",
+ "symbol": "DNXC",
+ "name": "DinoX Coin"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1796ae0b0fa4862485106a0de9b654efe301d0b2",
+ "symbol": "PMON",
+ "name": "Polkamon"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x5debbd8a9920c9ebe5a6a5315e0bbf5d6c81433f",
+ "symbol": "HMF",
+ "name": "HelloMyFren"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xdd1ad9a21ce722c151a836373babe42c868ce9a4",
+ "symbol": "UBI",
+ "name": "Universal Basic Income"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf1444fa36d477f4d1ec0b30d4eb2d3d9557914a1",
+ "symbol": "SER",
+ "name": "SER"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xf3cd95bca5a82d7418bce1f59dcd6aca346b4630",
+ "symbol": "MASHIMA",
+ "name": " Mashima Inu "
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xff7e285b87e7f9247f0953cf8cf5cb24eede4b9c",
+ "symbol": "STIMMY",
+ "name": "STIMMY"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0xbb978bb4a45878efe0cd5da543511c50be99dae8",
+ "symbol": "NFTD",
+ "name": "TATO DOGE NFT"
+ },
+ "count": 4
+ },
+ {
+ "baseCurrency": {
+ "address": "0x5016f22b1166a23a02fc6cadd5e59fce1a995cc3",
+ "symbol": "GMI",
+ "name": "GMI"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0x6fcb6408499a7c0f242e32d77eb51ffa1dd28a7e",
+ "symbol": "xHDX",
+ "name": "xHDX"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0xfa14fa6958401314851a17d6c5360ca29f74b57b",
+ "symbol": "SAITO",
+ "name": "SAITO"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0cdf9acd87e940837ff21bb40c9fd55f68bba059",
+ "symbol": "MINT",
+ "name": "Public Mint"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0xae1eaae3f627aaca434127644371b67b18444051",
+ "symbol": "YOP",
+ "name": "YOP"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0x6fc13eace26590b80cccab1ba5d51890577d83b2",
+ "symbol": "UMB",
+ "name": "Umbrella"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0417912b3a7af768051765040a55bb0925d4ddcf",
+ "symbol": "LID",
+ "name": "Liquidity Dividends Protocol"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0x9b02dd390a603add5c07f9fd9175b7dabe8d63b7",
+ "symbol": "SPI",
+ "name": "Shopping.io"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0xca76543cf381ebbb277be79574059e32108e3e65",
+ "symbol": "wsOHM",
+ "name": "Wrapped sOHM"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc221b7e65ffc80de234bbb6667abdd46593d34f0",
+ "symbol": "wCFG",
+ "name": "Wrapped Centrifuge"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc5019e129b75d380d3d837b8e609dec6c8f5d044",
+ "symbol": "GN",
+ "name": "GN"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc4de189abf94c57f396bd4c52ab13b954febefd8",
+ "symbol": "B20",
+ "name": "B.20"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0x72b886d09c117654ab7da13a14d603001de0b777",
+ "symbol": "XDEFI",
+ "name": "XDEFI"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0x1c9491865a1de77c5b6e19d2e6a5f1d7a6f2b25f",
+ "symbol": "MATTER",
+ "name": "Antimatter.Finance Governance Token"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0xed1480d12be41d92f36f5f7bdd88212e381a3677",
+ "symbol": "FDT",
+ "name": "FIAT DAO Token"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0xffe510a92434a0df346c5e72a3494b043cf249eb",
+ "symbol": "LBXC",
+ "name": "LUXBIO CELL"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0xcf78c7dd70d6f30f6e3609e905e78305da98c863",
+ "symbol": "ONX",
+ "name": "Ownix"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0xcfe99b2507e730da5b244b42ad256467131b4649",
+ "symbol": "SDL",
+ "name": "Saddle Governance"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0x419d0d8bdd9af5e606ae2232ed285aff190e711b",
+ "symbol": "FUN",
+ "name": "FunFair"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0x7fbec0bb6a7152e77c30d005b5d49cbc08a602c3",
+ "symbol": "DDOS",
+ "name": "Disbalancer"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0x17ac188e09a7890a1844e5e65471fe8b0ccfadf3",
+ "symbol": "CC10",
+ "name": "Cryptocurrency Top 10 Tokens Index"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0x668c50b1c7f46effbe3f242687071d7908aab00a",
+ "symbol": "CoShi",
+ "name": "CoShi Inu"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0xae697f994fc5ebc000f8e22ebffee04612f98a0d",
+ "symbol": "LGCY",
+ "name": "LGCY Network"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc14830e53aa344e8c14603a91229a0b925b0b262",
+ "symbol": "PXT",
+ "name": "Populous XBRL token"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0x84ba4aecfde39d69686a841bab434c32d179a169",
+ "symbol": "MTHD",
+ "name": "Method"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0xe0e4839e0c7b2773c58764f9ec3b9622d01a0428",
+ "symbol": "ENCORE",
+ "name": "EnCore"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0x9c4a4204b79dd291d6b6571c5be8bbcd0622f050",
+ "symbol": "TCR",
+ "name": "Tracer"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0xe2f2a5c287993345a840db3b0845fbc70f5935a5",
+ "symbol": "mUSD",
+ "name": "mStable USD"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0xb9d99c33ea2d86ec5ec6b8a4dd816ebba64404af",
+ "symbol": "K21",
+ "name": "k21.kanon.art"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0x67b66c99d3eb37fa76aa3ed1ff33e8e39f0b9c7a",
+ "symbol": "ibETH",
+ "name": "Interest Bearing ETH"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0xfb7b4564402e5500db5bb6d63ae671302777c75a",
+ "symbol": "DEXT",
+ "name": "DEXTools"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0xef9cd7882c067686691b6ff49e650b43afbbcc6b",
+ "symbol": "FNX",
+ "name": "FinNexus"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0x557b933a7c2c45672b610f8954a3deb39a51a8ca",
+ "symbol": "REVV",
+ "name": "REVV"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa143ac515dca260a46c742c7251ef3b268639593",
+ "symbol": "BULK",
+ "name": "Bulk Token"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0x3dd98c8a089dbcff7e8fc8d4f532bd493501ab7f",
+ "symbol": "TOWN",
+ "name": "TownCoin"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0xb753428af26e81097e7fd17f40c88aaa3e04902c",
+ "symbol": "SFI",
+ "name": "Spice"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0ff6ffcfda92c53f615a4a75d982f399c989366b",
+ "symbol": "LAYER",
+ "name": "Unilayer"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0x4206931337dc273a630d328da6441786bfad668f",
+ "symbol": "DOGE",
+ "name": "Dogecoin"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0xc32cc5b70bee4bd54aa62b9aefb91346d18821c4",
+ "symbol": "ITS",
+ "name": "IterationSyndicate"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0xe0ad1806fd3e7edf6ff52fdb822432e847411033",
+ "symbol": "ONX",
+ "name": "OnX.finance"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0xd084b83c305dafd76ae3e1b4e1f1fe2ecccb3988",
+ "symbol": "TVK",
+ "name": "Terra Virtua Kolect"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0x364a7381a5b378ced7ab33d1cdf6ff1bf162bfd6",
+ "symbol": "TGX",
+ "name": "DeFi-X Token"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0xa017ac5fac5941f95010b12570b812c974469c2c",
+ "symbol": "XES",
+ "name": "Proxeus"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0xb5585afebbb9d955da797845b3e0c41b3ff047ce",
+ "symbol": "Hi",
+ "name": "Hi"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0x0e2298e3b3390e3b945a5456fbf59ecc3f55da16",
+ "symbol": "YAM",
+ "name": "YAM"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0x2a3bff78b79a009976eea096a51a948a3dc00e34",
+ "symbol": "WILD",
+ "name": "Wilder"
+ },
+ "count": 3
+ },
+ {
+ "baseCurrency": {
+ "address": "0x63b4f3e3fa4e438698ce330e365e831f7ccd1ef4",
+ "symbol": "CFi",
+ "name": "CyberFi Token"
+ },
+ "count": 3
+ }
+]
\ No newline at end of file
diff --git a/gamestonk_terminal/cryptocurrency/dataframe_helpers.py b/gamestonk_terminal/cryptocurrency/dataframe_helpers.py
index afc57ffb982..7e9f8b50fe5 100644
--- a/gamestonk_terminal/cryptocurrency/dataframe_helpers.py
+++ b/gamestonk_terminal/cryptocurrency/dataframe_helpers.py
@@ -1,6 +1,7 @@
"""Dataframe helpers"""
__docformat__ = "numpy"
+import re
from typing import Union, Any
import textwrap
import pandas as pd
@@ -118,3 +119,21 @@ def very_long_number_formatter(num: Union[str, int, float]) -> str:
return f'{formatted_num}{["", "K", "M", "B", "T"][magnitude]}'
return num
+
+
+def prettify_column_names(columns: list) -> list:
+ """Helper method that change column names into more human readable format. E.g.
+ - tradeAmount => Trade amount,
+ - tokenValue => Token value
+ - mediumGasPrice => Medium Gas Price
+
+ Parameters
+ ----------
+ columns: list
+ list of column names
+
+ Returns
+ -------
+ list with reformatted columns
+ """
+ return [" ".join(re.findall(".[^A-Z]*", val)).capitalize() for val in columns]
diff --git a/gamestonk_terminal/cryptocurrency/onchain/bitquery_model.py b/gamestonk_terminal/cryptocurrency/onchain/bitquery_model.py
new file mode 100644
index 00000000000..9c9640fcf15
--- /dev/null
+++ b/gamestonk_terminal/cryptocurrency/onchain/bitquery_model.py
@@ -0,0 +1,667 @@
+"""BitQuery model"""
+__docformat__ = "numpy"
+
+import datetime
+import json
+import os
+from typing import Optional
+
+import numpy as np
+from requests.exceptions import HTTPError
+from requests.adapters import HTTPAdapter
+
+import requests
+import pandas as pd
+from gamestonk_terminal import config_terminal as cfg
+
+
+class BitQueryApiKeyException(Exception):
+ """Bit Query Api Key Exception object"""
+
+ def __init__(self, message: str):
+ super().__init__(message)
+ self.message = message
+
+ def __str__(self) -> str:
+ return f"BitQueryApiKeyException: {self.message}"
+
+
+class BitQueryTimeoutException(Exception):
+ """BitQuery Timeout Exception class"""
+
+
+BQ_URL = "https://graphql.bitquery.io"
+CURRENCIES = ["ETH", "USD", "BTC", "USDT"]
+DECENTRALIZED_EXCHANGES = [
+ "1inch",
+ "AfroDex",
+ "AirSwap",
+ "Amplbitcratic",
+ "Balancer",
+ "BestSwap",
+ "Bitox",
+ "CellSwap",
+ "Cellswap",
+ "Cofix",
+ "Coinchangex",
+ "Curve",
+ "DDEX",
+ "DUBIex",
+ "DecentrEx",
+ "DeversiFi",
+ "Dodo",
+ "ETHERCExchange",
+ "EtherBlockchain",
+ "EtherDelta",
+ "Ethernext",
+ "Ethfinex",
+ "FEGex",
+ "FFFSwap",
+ "Fordex",
+ "GUDecks",
+ "GUDeks",
+ "HiSwap",
+ "IDEX",
+ "LedgerDex",
+ "Matcha",
+ "Miniswap",
+ "Mooniswap",
+ "Oasis",
+ "OpenRelay",
+ "S.Finance",
+ "SakeSwap",
+ "SeedDex",
+ "SingularX",
+ "StarBitEx",
+ "SushiSwap",
+ "SwapX",
+ "SwitchDex",
+ "TacoSwap",
+ "TokenJar",
+ "TokenStore",
+ "TokenTrove",
+ "Tokenlon",
+ "TradexOne",
+ "Uniswap",
+ "ZeusSwap",
+ "dYdX",
+ "dex.blue",
+]
+DECENTRALIZED_EXCHANGES_MAP = {e.lower(): e for e in DECENTRALIZED_EXCHANGES}
+NETWORKS = ["bsc", "ethereum", "matic"]
+
+
+def _extract_dex_trades(data: dict) -> pd.DataFrame:
+ """Helper method that extracts from bitquery api response data from nested dictionary:
+ response = {'ethereum' : {'dexTrades' : }}. If 'dexTrades' is None, raises Exception.
+
+ Parameters
+ ----------
+ data: dict
+ response data from bitquery api.
+
+ Returns
+ -------
+ pd.DataFrame
+ normalized pandas data frame with data
+ """
+
+ dex_trades = data["ethereum"]["dexTrades"]
+ if not dex_trades:
+ raise ValueError("No data was returned in request response\n")
+ return pd.json_normalize(dex_trades)
+
+
+def query_graph(url: str, query: str) -> dict:
+ """Helper methods for querying graphql api. [Source: https://bitquery.io/]
+
+ Parameters
+ ----------
+ url: str
+ Endpoint url
+ query: str
+ Graphql query
+
+ Returns
+ -------
+ dict:
+ Dictionary with response data
+ """
+
+ session = requests.Session()
+ session.mount("https://", HTTPAdapter(max_retries=5))
+ headers = {"x-api-key": cfg.API_BITQUERY_KEY}
+ timeout = 30
+
+ try:
+ response = session.post(
+ url, json={"query": query}, headers=headers, timeout=timeout
+ )
+ except requests.Timeout as e:
+ raise BitQueryTimeoutException(
+ f"BitQuery API didn't respond within {timeout} seconds.\n"
+ ) from e
+
+ if response.status_code == 500:
+ raise HTTPError(f"Internal sever error {response.reason}")
+
+ if not 200 <= response.status_code < 300:
+ raise BitQueryApiKeyException(
+ f"Invalid Authentication: {response.status_code}. "
+ f"Please visit https://bitquery.io/pricing and generate you free api key\n"
+ )
+ try:
+ data = response.json()
+ if "error" in data:
+ raise ValueError(f"Invalid Response: {data['error']}\n")
+ except Exception as e:
+ raise ValueError(f"Invalid Response: {response.text}\n") from e
+ return data["data"]
+
+
+def get_erc20_tokens() -> pd.DataFrame:
+ """Helper method that loads ~1500 most traded erc20 token.
+ [Source: json file]
+
+ Returns
+ -------
+ pd.DataFrame
+ ERC20 tokens with address, symbol and name
+ """
+ file_path = os.path.join(
+ os.path.dirname(os.path.abspath(__file__)), "..", "data", "erc20_coins.json"
+ )
+ with open(file_path) as f:
+ data = json.load(f)
+ df = pd.json_normalize(data)
+ df.columns = ["count", "address", "symbol", "name"]
+ df = df[~df["symbol"].isin(["", None, np.NaN])]
+ return df[["name", "symbol", "address", "count"]]
+
+
+def find_token_address(token: str) -> Optional[str]:
+ """Helper methods that search for ERC20 coin base on provided symbol or token address.
+ If erc20 token address is provided, then function checks if it's proper address and returns it back.
+ In other case mapping data is loaded from file (or cache), and function lookup for belonging token address.
+
+ Parameters
+ ----------
+ token: str
+ ERC20 token symbol e.g. UNI, SUSHI, ETH, WBTC or token address e.g. 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
+
+ Returns
+ -------
+ str or None
+ ERC20 token address, or None if nothing found.
+ """
+
+ if token.startswith("0x") and len(token) >= 38:
+ return token
+
+ if token == "ETH":
+ return token
+
+ token = "WBTC" if token == "BTC" else token
+ tokens_map: pd.DataFrame = get_erc20_tokens()
+
+ found_token = tokens_map.loc[tokens_map["symbol"] == token]
+ if found_token.empty:
+ return None
+ if len(found_token) > 1:
+ return found_token.sort_values(by="count", ascending=False).iloc[0]["address"]
+ return found_token.iloc[0]["address"]
+
+
+def get_dex_trades_by_exchange(
+ trade_amount_currency: str = "USD", limit: int = 90
+) -> pd.DataFrame:
+ """Get trades on Decentralized Exchanges aggregated by DEX [Source: https://graphql.bitquery.io/]
+
+ Parameters
+ ----------
+ trade_amount_currency: str
+ Currency of displayed trade amount. Default: USD
+ limit: int
+ Last n days to query data. Maximum 365 (bigger numbers can cause timeouts
+ on server side)
+
+ Returns
+ -------
+ pd.DataFrame
+ Trades on Decentralized Exchanges aggregated by DEX
+ """
+
+ dt = (datetime.date.today() - datetime.timedelta(min(limit, 365))).strftime(
+ "%Y-%m-%d"
+ )
+
+ if trade_amount_currency not in CURRENCIES:
+ trade_amount_currency = "USD"
+
+ query = f"""
+ {{
+ ethereum {{
+ dexTrades(options: {{limit: 40, desc: ["count"]}}
+ date: {{since: "{dt}"}}
+ ) {{
+ exchange {{
+ name
+ }}
+ count
+ tradeAmount(in: {trade_amount_currency})
+ }}
+ }}
+ }}
+ """
+
+ data = query_graph(BQ_URL, query)
+
+ df = _extract_dex_trades(data)
+ df.columns = ["trades", "tradeAmount", "exchange"]
+ df = df[~df["exchange"].isin([None, np.NaN, ""])]
+ return df[["exchange", "trades", "tradeAmount"]].sort_values(
+ by="tradeAmount", ascending=True
+ )
+
+
+def get_dex_trades_monthly(
+ trade_amount_currency: str = "USD", limit: int = 90
+) -> pd.DataFrame:
+ """Get list of trades on Decentralized Exchanges monthly aggregated. [Source: https://graphql.bitquery.io/]
+
+ Parameters
+ ----------
+ trade_amount_currency: str
+ Currency of displayed trade amount. Default: USD
+ limit: int
+ Last n days to query data. Maximum 365 (bigger numbers can cause timeouts
+ on server side)
+
+ Returns
+ -------
+ pd.DataFrame
+ Trades on Decentralized Exchanges monthly aggregated
+ """
+
+ if trade_amount_currency not in CURRENCIES:
+ trade_amount_currency = "USD"
+
+ dt = (datetime.date.today() - datetime.timedelta(min(limit, 365))).strftime(
+ "%Y-%m-%d"
+ )
+
+ query = f"""
+ {{
+ ethereum {{
+ dexTrades(
+ options: {{desc: ["date.year", "date.month", "count"]}}
+ date: {{since: "{dt}"}}
+ ) {{
+ count
+ date {{
+ month
+ year
+ }}
+ tradeAmount(in: {trade_amount_currency})
+ }}
+ }}
+ }}
+ """
+
+ data = query_graph(BQ_URL, query)
+ if not data:
+ return pd.DataFrame()
+
+ df = _extract_dex_trades(data)
+ df["date"] = df.apply(
+ lambda x: datetime.date(int(x["date.year"]), int(x["date.month"]), 1), axis=1
+ )
+ df.rename(columns={"count": "trades"}, inplace=True)
+ return df[["date", "trades", "tradeAmount"]]
+
+
+def get_daily_dex_volume_for_given_pair(
+ limit: int = 100,
+ token: str = "UNI",
+ vs: str = "USDT",
+) -> pd.DataFrame:
+ """Get daily volume for given pair [Source: https://graphql.bitquery.io/]
+
+ Parameters
+ -------
+ limit: int
+ Last n days to query data
+ token: str
+ ERC20 token symbol
+ vs: str
+ Quote currency.
+
+ Returns
+ -------
+ pd.DataFrame
+ Daily volume for given pair
+ """
+
+ dt = (datetime.date.today() - datetime.timedelta(min(limit, 365))).strftime(
+ "%Y-%m-%d"
+ )
+
+ base, quote = find_token_address(token), find_token_address(vs)
+ if not base or not quote:
+ raise ValueError("Provided coin or quote currency doesn't exist\n")
+
+ query = f"""
+ {{
+ ethereum(network: ethereum) {{
+ dexTrades(
+ options: {{desc: ["timeInterval.day", "trades"]}}
+ baseCurrency: {{is: "{base}"}}
+ quoteCurrency: {{is: "{quote}"}}
+ date: {{since: "{dt}" }}
+ ) {{
+ timeInterval {{
+ day(count: 1)
+ }}
+ baseCurrency {{
+ symbol
+ }}
+ quoteCurrency {{
+ symbol
+ }}
+ exchange {{
+ fullName
+ }}
+ trades: count
+ tradeAmount(in: USD)
+ quotePrice
+ maximum_price: quotePrice(calculate: maximum)
+ minimum_price: quotePrice(calculate: minimum)
+ open_price: minimum(of: block, get: quote_price)
+ close_price: maximum(of: block, get: quote_price)
+ }}
+ }}
+ }}
+ """
+
+ data = query_graph(BQ_URL, query)
+ if not data:
+ return pd.DataFrame()
+
+ df = _extract_dex_trades(data)
+ df.columns = [
+ "trades",
+ "tradeAmount",
+ "price",
+ "high",
+ "low",
+ "open",
+ "close",
+ "date",
+ "base",
+ "quote",
+ "exchange",
+ ]
+ return df[
+ [
+ "date",
+ "exchange",
+ "base",
+ "quote",
+ "open",
+ "high",
+ "low",
+ "close",
+ "tradeAmount",
+ "trades",
+ ]
+ ].sort_values(by="date", ascending=False)
+
+
+def get_token_volume_on_dexes(
+ token: str = "UNI",
+ trade_amount_currency: str = "USD",
+) -> pd.DataFrame:
+ """Get token volume on different Decentralized Exchanges. [Source: https://graphql.bitquery.io/]
+
+ Parameters
+ ----------
+ token: str
+ ERC20 token symbol.
+ trade_amount_currency: str
+ Currency to display trade amount in.
+
+ Returns
+ -------
+ pd.DataFrame
+ Token volume on Decentralized Exchanges
+ """
+
+ if trade_amount_currency not in CURRENCIES:
+ trade_amount_currency = "USD"
+
+ token_address = find_token_address(token)
+ if token_address is None:
+ raise ValueError(f"Couldn't find token with symbol {token}\n")
+ query = f"""
+ {{
+ ethereum {{
+ dexTrades(
+ baseCurrency: {{is:"{token_address}"}}
+ ) {{
+ baseCurrency{{
+ symbol
+ }}
+ exchange {{
+ name
+ fullName
+ }}
+ count
+ tradeAmount(in: {trade_amount_currency})
+
+ }}
+ }}
+ }}
+
+ """
+
+ data = query_graph(BQ_URL, query)
+ if not data:
+ return pd.DataFrame()
+
+ df = _extract_dex_trades(data)[["exchange.fullName", "tradeAmount", "count"]]
+ df.columns = ["exchange", "tradeAmount", "trades"]
+ return df[~df["exchange"].str.startswith("<")].sort_values(
+ by="tradeAmount", ascending=False
+ )
+
+
+def get_ethereum_unique_senders(interval: str = "day", limit: int = 90) -> pd.DataFrame:
+ """Get number of unique ethereum addresses which made a transaction in given time interval.
+
+ Parameters
+ ----------
+ interval: str
+ Time interval in which count unique ethereum addresses which made transaction. day, month or week.
+ limit: int
+ Number of records for data query.
+
+ Returns
+ -------
+ pd.DataFrame
+ Unique ethereum addresses which made a transaction
+ """
+
+ intervals = {
+ "day": 1,
+ "month": 30,
+ "week": 7,
+ }
+
+ if interval not in intervals.keys():
+ interval = "day"
+
+ days = min(limit * intervals[interval], 90)
+
+ dt = (datetime.date.today() - datetime.timedelta(days)).strftime("%Y-%m-%d")
+
+ query = f"""
+ {{
+ ethereum(network: ethereum) {{
+ transactions(options: {{desc: "date.date"}}, date: {{since: "{dt}"}}) {{
+ uniqueSenders: count(uniq: senders)
+ date {{
+ date:startOfInterval(unit: {interval})
+ }}
+ averageGasPrice: gasPrice(calculate: average)
+ mediumGasPrice: gasPrice(calculate: median)
+ maximumGasPrice: gasPrice(calculate: maximum)
+ transactions: count
+ }}
+ }}
+ }}
+ """
+
+ data = query_graph(BQ_URL, query)
+ if not data:
+ return pd.DataFrame()
+
+ df = pd.DataFrame(data["ethereum"]["transactions"])
+ df["date"] = df["date"].apply(lambda x: x["date"])
+ return df[
+ [
+ "date",
+ "uniqueSenders",
+ "transactions",
+ "averageGasPrice",
+ "mediumGasPrice",
+ "maximumGasPrice",
+ ]
+ ]
+
+
+def get_most_traded_pairs(
+ network: str = "ethereum", exchange: str = "Uniswap", limit: int = 90
+) -> pd.DataFrame:
+ """Get most traded crypto pairs on given decentralized exchange in chosen time period.
+ [Source: https://graphql.bitquery.io/]
+
+ Parameters
+ ----------
+ network: str
+ EVM network. One from list: bsc (binance smart chain), ethereum or matic
+ exchange:
+ Decentralized exchange name
+ limit:
+ Number of days taken into calculation account.
+
+ Returns
+ -------
+
+ """
+
+ dt = (datetime.date.today() - datetime.timedelta(limit)).strftime("%Y-%m-%d")
+ exchange = DECENTRALIZED_EXCHANGES_MAP.get(exchange, "Uniswap")
+ query = f"""
+ {{
+ ethereum(network: {network}){{
+ dexTrades(options: {{limit: 100, desc: "tradeAmount"}},
+ exchangeName: {{is: "{exchange}"}}
+ date: {{since: "{dt}"}}) {{
+ buyCurrency {{
+ symbol
+ }}
+ sellCurrency{{
+ symbol
+ }}
+ trades: count
+ tradeAmount(in: USD)
+ }}
+ }}
+ }}
+ """
+ data = query_graph(BQ_URL, query)
+ if not data:
+ return pd.DataFrame()
+
+ df = _extract_dex_trades(data)
+ df.columns = ["trades", "tradeAmount", "base", "quoted"]
+ return df[["base", "quoted", "trades", "tradeAmount"]]
+
+
+def get_spread_for_crypto_pair(
+ token: str = "WETH", vs: str = "USDT", limit: int = 30
+) -> pd.DataFrame:
+ """Get an average bid and ask prices, average spread for given crypto pair for chosen time period.
+ [Source: https://graphql.bitquery.io/]
+
+ Parameters
+ ----------
+ limit: int
+ Last n days to query data
+ token: str
+ ERC20 token symbol
+ vs: str
+ Quoted currency.
+
+ Returns
+ -------
+ pd.DataFrame
+ Average bid and ask prices, spread for given crypto pair for chosen time period
+ """
+
+ dt = (datetime.date.today() - datetime.timedelta(limit)).strftime("%Y-%m-%d")
+ base, quote = find_token_address(token), find_token_address(vs)
+
+ if not base or not quote:
+ raise ValueError("Provided coin or quote currency doesn't exist\n")
+
+ query = f"""
+ {{
+ ethereum(network: ethereum){{
+ dexTrades(
+ date: {{since:"{dt}"}}
+ baseCurrency: {{is: "{base}"}},
+ quoteCurrency: {{is: "{quote}"}}) {{
+ date {{date}}
+ baseCurrency {{symbol}}
+ baseAmount
+ quoteCurrency {{
+ symbol
+ }}
+ quoteAmount
+ trades: count
+ quotePrice
+ side
+ }}
+ }}
+ }}
+ """
+ data = query_graph(BQ_URL, query)
+ if not data:
+ return pd.DataFrame()
+
+ df = _extract_dex_trades(data)
+ columns = ["quotePrice", "date.date", "baseCurrency.symbol", "quoteCurrency.symbol"]
+ bids = df.query("side == 'SELL'")[columns]
+ asks = df.query("side == 'BUY'")[columns]
+
+ bids.columns = ["averageBidPrice", "date", "baseCurrency", "quoteCurrency"]
+ asks.columns = ["averageAskPrice", "date", "baseCurrency", "quoteCurrency"]
+
+ daily_spread = pd.merge(asks, bids, on=["date", "baseCurrency", "quoteCurrency"])
+ daily_spread["dailySpread"] = abs(
+ daily_spread["averageBidPrice"] - daily_spread["averageAskPrice"]
+ )
+ return daily_spread[
+ [
+ "date",
+ "baseCurrency",
+ "quoteCurrency",
+ "dailySpread",
+ "averageBidPrice",
+ "averageAskPrice",
+ ]
+ ].sort_values(by="date", ascending=True)
+
+
+POSSIBLE_CRYPTOS = list(get_erc20_tokens()["symbol"].unique())
diff --git a/gamestonk_terminal/cryptocurrency/onchain/bitquery_view.py b/gamestonk_terminal/cryptocurrency/onchain/bitquery_view.py
new file mode 100644
index 00000000000..d83c6402a6d
--- /dev/null
+++ b/gamestonk_terminal/cryptocurrency/onchain/bitquery_view.py
@@ -0,0 +1,398 @@
+"""The BitQuery view"""
+__docformat__ = "numpy"
+
+import os
+from tabulate import tabulate
+
+from gamestonk_terminal.cryptocurrency.dataframe_helpers import (
+ very_long_number_formatter,
+ prettify_column_names,
+)
+from gamestonk_terminal.cryptocurrency.onchain import bitquery_model
+from gamestonk_terminal.helper_funcs import export_data
+from gamestonk_terminal import feature_flags as gtff
+
+
+def display_dex_trades(
+ trade_amount_currency: str = "USD",
+ kind: str = "dex",
+ top: int = 20,
+ days: int = 90,
+ sortby: str = "tradeAmount",
+ descend: bool = False,
+ export: str = "",
+) -> None:
+ """Trades on Decentralized Exchanges aggregated by DEX or Month [Source: https://graphql.bitquery.io/]
+
+ Parameters
+ ----------
+ kind: str
+ Aggregate trades by dex or time
+ trade_amount_currency: str
+ Currency of displayed trade amount. Default: USD
+ top: int
+ Number of records to display
+ sortby: str
+ Key by which to sort data
+ descend: bool
+ Flag to sort data descending
+ days: int
+ Last n days to query data. Maximum 365 (bigger numbers can cause timeouts
+ on server side)
+ export : str
+ Export dataframe data to csv,json,xlsx file
+ """
+
+ if kind == "time":
+ df = bitquery_model.get_dex_trades_monthly(trade_amount_currency, days)
+ df = df.sort_values(by="date", ascending=descend)
+ else:
+ df = bitquery_model.get_dex_trades_by_exchange(trade_amount_currency, days)
+ df = df.sort_values(by=sortby, ascending=descend)
+
+ df_data = df.copy()
+
+ df[["tradeAmount", "trades"]] = df[["tradeAmount", "trades"]].applymap(
+ lambda x: very_long_number_formatter(x)
+ )
+
+ df.columns = prettify_column_names(df.columns)
+
+ if gtff.USE_TABULATE_DF:
+ print(
+ tabulate(
+ df.head(top),
+ headers=df.columns,
+ floatfmt=".2f",
+ showindex=False,
+ tablefmt="fancy_grid",
+ ),
+ "\n",
+ )
+ else:
+ print(df.to_string, "\n")
+
+ export_data(
+ export,
+ os.path.dirname(os.path.abspath(__file__)),
+ "lt",
+ df_data,
+ )
+
+
+def display_daily_volume_for_given_pair(
+ token: str = "WBTC",
+ vs: str = "USDT",
+ top: int = 20,
+ sortby: str = "date",
+ descend: bool = False,
+ export: str = "",
+) -> None:
+ """Display daily volume for given pair
+ [Source: https://graphql.bitquery.io/]
+
+ Parameters
+ ----------
+ token: str
+ ERC20 token symbol or address
+ vs: str
+ Quote currency.
+ top: int
+ Number of records to display
+ sortby: str
+ Key by which to sort data
+ descend: bool
+ Flag to sort data descending
+ export : str
+ Export dataframe data to csv,json,xlsx file
+ Returns
+ -------
+ pd.DataFrame
+ Token volume on different decentralized exchanges
+ """
+
+ df = bitquery_model.get_daily_dex_volume_for_given_pair(
+ token=token,
+ vs=vs,
+ limit=top,
+ )
+
+ if df.empty:
+ return
+ df = df.sort_values(by=sortby, ascending=descend)
+
+ df_data = df.copy()
+
+ df[["tradeAmount", "trades"]] = df[["tradeAmount", "trades"]].applymap(
+ lambda x: very_long_number_formatter(x)
+ )
+ df.columns = prettify_column_names(df.columns)
+
+ if gtff.USE_TABULATE_DF:
+ print(
+ tabulate(
+ df.head(top),
+ headers=df.columns,
+ floatfmt=".2f",
+ showindex=False,
+ tablefmt="fancy_grid",
+ ),
+ "\n",
+ )
+ else:
+ print(df.to_string, "\n")
+
+ export_data(
+ export,
+ os.path.dirname(os.path.abspath(__file__)),
+ "dvcp",
+ df_data,
+ )
+
+
+def display_dex_volume_for_token(
+ token: str = "WBTC",
+ trade_amount_currency: str = "USD",
+ top: int = 10,
+ sortby: str = "tradeAmount",
+ descend: bool = False,
+ export: str = "",
+) -> None:
+ """Display token volume on different Decentralized Exchanges. [Source: https://graphql.bitquery.io/]
+
+ Parameters
+ ----------
+ token: str
+ ERC20 token symbol or address
+ trade_amount_currency: str
+ Currency of displayed trade amount. Default: USD
+ top: int
+ Number of records to display
+ sortby: str
+ Key by which to sort data
+ descend: bool
+ Flag to sort data descending
+ export : str
+ Export dataframe data to csv,json,xlsx file
+ Returns
+ -------
+ pd.DataFrame
+ Token volume on different decentralized exchanges
+ """
+
+ df = bitquery_model.get_token_volume_on_dexes(
+ token=token,
+ trade_amount_currency=trade_amount_currency,
+ ).sort_values(by=sortby, ascending=descend)
+
+ df_data = df.copy()
+ df[["tradeAmount", "trades"]] = df[["tradeAmount", "trades"]].applymap(
+ lambda x: very_long_number_formatter(x)
+ )
+
+ df.columns = prettify_column_names(df.columns)
+
+ if gtff.USE_TABULATE_DF:
+ print(
+ tabulate(
+ df.head(top),
+ headers=df.columns,
+ floatfmt=".2f",
+ showindex=False,
+ tablefmt="fancy_grid",
+ ),
+ "\n",
+ )
+ else:
+ print(df.to_string, "\n")
+
+ export_data(
+ export,
+ os.path.dirname(os.path.abspath(__file__)),
+ "tv",
+ df_data,
+ )
+
+
+def display_ethereum_unique_senders(
+ interval: str = "days",
+ limit: int = 10,
+ sortby: str = "date",
+ descend: bool = False,
+ export: str = "",
+) -> None:
+ """Display number of unique ethereum addresses which made a transaction in given time interval
+ [Source: https://graphql.bitquery.io/]
+
+ Parameters
+ ----------
+ interval: str
+ Time interval in which ethereum address made transaction. month, week or day
+ limit: int
+ Number of records to display. It's calculated base on provided interval.
+ If interval is month then calculation is made in the way: limit * 30 = time period,
+ in case if interval is set to week, then time period is calculated as limit * 7.
+ For better user experience maximum time period in days is equal to 90.
+ sortby: str
+ Key by which to sort data
+ descend: bool
+ Flag to sort data descending
+ export : str
+ Export dataframe data to csv,json,xlsx file
+ Returns
+ -------
+ pd.DataFrame
+ Number of unique ethereum addresses which made a transaction in given time interval
+ """
+
+ df = bitquery_model.get_ethereum_unique_senders(interval, limit).sort_values(
+ by=sortby, ascending=descend
+ )
+
+ df[["uniqueSenders", "transactions", "maximumGasPrice"]] = df[
+ ["uniqueSenders", "transactions", "maximumGasPrice"]
+ ].applymap(lambda x: very_long_number_formatter(x))
+
+ df_data = df.copy()
+ df.columns = prettify_column_names(df.columns)
+
+ if gtff.USE_TABULATE_DF:
+ print(
+ tabulate(
+ df,
+ headers=df.columns,
+ floatfmt=".2f",
+ showindex=False,
+ tablefmt="fancy_grid",
+ ),
+ "\n",
+ )
+ else:
+ print(df.to_string, "\n")
+
+ export_data(
+ export,
+ os.path.dirname(os.path.abspath(__file__)),
+ "ueat",
+ df_data,
+ )
+
+
+def display_most_traded_pairs(
+ exchange="Uniswap",
+ days: int = 10,
+ top: int = 10,
+ sortby: str = "tradeAmount",
+ descend: bool = False,
+ export: str = "",
+) -> None:
+ """Display most traded crypto pairs on given decentralized exchange in chosen time period.
+ [Source: https://graphql.bitquery.io/]
+
+ Parameters
+ ----------
+ exchange:
+ Decentralized exchange name
+ days:
+ Number of days taken into calculation account.
+ sortby: str
+ Key by which to sort data
+ descend: bool
+ Flag to sort data descending
+ export : str
+ Export dataframe data to csv,json,xlsx file
+ Returns
+ -------
+ pd.DataFrame
+ Most traded crypto pairs on given decentralized exchange in chosen time period.
+ """
+
+ df = bitquery_model.get_most_traded_pairs(
+ exchange=exchange, limit=days
+ ).sort_values(by=sortby, ascending=descend)
+ df_data = df.copy()
+ df[["tradeAmount", "trades"]] = df[["tradeAmount", "trades"]].applymap(
+ lambda x: very_long_number_formatter(x)
+ )
+ df.columns = prettify_column_names(df.columns)
+
+ if gtff.USE_TABULATE_DF:
+ print(
+ tabulate(
+ df.head(top),
+ headers=df.columns,
+ floatfmt=".2f",
+ showindex=False,
+ tablefmt="fancy_grid",
+ ),
+ "\n",
+ )
+ else:
+ print(df.to_string, "\n")
+
+ export_data(
+ export,
+ os.path.dirname(os.path.abspath(__file__)),
+ "ttcp",
+ df_data,
+ )
+
+
+def display_spread_for_crypto_pair(
+ token="ETH",
+ vs="USDC",
+ days: int = 10,
+ sortby: str = "date",
+ descend: bool = False,
+ export: str = "",
+) -> None:
+ """Display an average bid and ask prices, average spread for given crypto pair for chosen time period.
+ [Source: https://graphql.bitquery.io/]
+
+ Parameters
+ ----------
+ days: int
+ Last n days to query data
+ token: str
+ ERC20 token symbol
+ vs: str
+ Quoted currency.
+ sortby: str
+ Key by which to sort data
+ descend: bool
+ Flag to sort data descending
+ export : str
+ Export dataframe data to csv,json,xlsx file
+
+ Returns
+ -------
+ pd.DataFrame
+ Average bid and ask prices, spread for given crypto pair for chosen time period
+ """
+
+ df = bitquery_model.get_spread_for_crypto_pair(
+ token=token, vs=vs, limit=days
+ ).sort_values(by=sortby, ascending=descend)
+
+ df.columns = prettify_column_names(df.columns)
+
+ if gtff.USE_TABULATE_DF:
+ print(
+ tabulate(
+ df,
+ headers=df.columns,
+ floatfmt=".2f",
+ showindex=False,
+ tablefmt="fancy_grid",
+ ),
+ "\n",
+ )
+ else:
+ print(df.to_string, "\n")
+
+ export_data(
+ export,
+ os.path.dirname(os.path.abspath(__file__)),
+ "baas",
+ df,
+ )
diff --git a/gamestonk_terminal/cryptocurrency/onchain/onchain_controller.py b/gamestonk_terminal/cryptocurrency/onchain/onchain_controller.py
index 1fc5ec63df6..c988868ec1b 100644
--- a/gamestonk_terminal/cryptocurrency/onchain/onchain_controller.py
+++ b/gamestonk_terminal/cryptocurrency/onchain/onchain_controller.py
@@ -4,6 +4,7 @@ __docformat__ = "numpy"
# pylint: disable=C0302
import argparse
+import difflib
from typing import List
from prompt_toolkit.completion import NestedCompleter
@@ -17,12 +18,15 @@ from gamestonk_terminal.helper_funcs import (
check_int_range,
try_except,
system_clear,
+ EXPORT_ONLY_RAW_DATA_ALLOWED,
)
from gamestonk_terminal.cryptocurrency.onchain import (
ethgasstation_view,
whale_alert_view,
ethplorer_view,
+ bitquery_view,
+ bitquery_model,
)
@@ -64,6 +68,12 @@ class OnchainController:
"prices",
"address",
"active",
+ "lt",
+ "dvcp",
+ "tv",
+ "ueat",
+ "ttcp",
+ "baas",
]
CHOICES += CHOICES_COMMANDS
@@ -205,6 +215,7 @@ class OnchainController:
"to",
],
)
+
parser.add_argument(
"--descend",
action="store_false",
@@ -366,6 +377,7 @@ class OnchainController:
"tokenSymbol",
],
)
+
parser.add_argument(
"--descend",
action="store_false",
@@ -431,6 +443,7 @@ class OnchainController:
default="timestamp",
choices=["timestamp", "transactionHash", "token", "value"],
)
+
parser.add_argument(
"--descend",
action="store_false",
@@ -499,6 +512,7 @@ class OnchainController:
"share",
],
)
+
parser.add_argument(
"--descend",
action="store_false",
@@ -682,6 +696,7 @@ class OnchainController:
"value",
],
)
+
parser.add_argument(
"--descend",
action="store_false",
@@ -801,6 +816,7 @@ class OnchainController:
"low",
],
)
+
parser.add_argument(
"--descend",
action="store_false",
@@ -835,6 +851,585 @@ class OnchainController:
except Exception as e:
print(e)
+ def call_lt(self, other_args: List[str]):
+ """Process lt command"""
+ parser = argparse.ArgumentParser(
+ add_help=False,
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ prog="lt",
+ description="""
+ Display Trades on Decentralized Exchanges aggregated by DEX or Month
+ [Source: https://graphql.bitquery.io/]
+ """,
+ )
+
+ parser.add_argument(
+ "-k",
+ "--kind",
+ dest="kind",
+ type=str,
+ help="Aggregate trades by dex or time Default: dex",
+ default="dex",
+ choices=["dex", "time"],
+ )
+
+ parser.add_argument(
+ "-vs",
+ "--vs",
+ dest="vs",
+ type=str,
+ help="Currency of displayed trade amount.",
+ default="USD",
+ choices=bitquery_model.CURRENCIES,
+ )
+
+ parser.add_argument(
+ "-t",
+ "--top",
+ dest="top",
+ type=check_positive,
+ help="top N number records",
+ default=10,
+ )
+
+ parser.add_argument(
+ "-d",
+ "--days",
+ dest="days",
+ type=check_positive,
+ help="Number of days to display data for.",
+ default=90,
+ )
+
+ parser.add_argument(
+ "-s",
+ "--sort",
+ dest="sortby",
+ type=str,
+ help="Sort by given column. Default: tradeAmount. For monthly trades date.",
+ default="tradeAmount",
+ choices=["trades", "tradeAmount", "exchange"],
+ )
+
+ parser.add_argument(
+ "--descend",
+ action="store_false",
+ help="Flag to sort in descending order (lowest first)",
+ dest="descend",
+ default=False,
+ )
+
+ try:
+ ns_parser = parse_known_args_and_warn(
+ parser, other_args, EXPORT_ONLY_RAW_DATA_ALLOWED
+ )
+
+ if not ns_parser:
+ return
+
+ bitquery_view.display_dex_trades(
+ kind=ns_parser.kind,
+ trade_amount_currency=ns_parser.vs,
+ top=ns_parser.top,
+ days=ns_parser.days,
+ sortby=ns_parser.sortby,
+ descend=ns_parser.descend,
+ export=ns_parser.export,
+ )
+
+ except Exception as e:
+ print(e)
+
+ def call_dvcp(self, other_args: List[str]):
+ """Process dvcp command"""
+ parser = argparse.ArgumentParser(
+ add_help=False,
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ prog="dvcp",
+ description="""
+ Display daily volume for given crypto pair
+ [Source: https://graphql.bitquery.io/]
+ """,
+ )
+
+ parser.add_argument(
+ "-c",
+ "--coin",
+ dest="coin",
+ type=str,
+ help="ERC20 token symbol or address.",
+ required="-h" not in other_args,
+ )
+
+ parser.add_argument(
+ "-t",
+ "--top",
+ dest="top",
+ type=check_positive,
+ help="top N number records",
+ default=10,
+ )
+
+ parser.add_argument(
+ "-vs", "--vs", dest="vs", type=str, help="Quote currency", default="USDT"
+ )
+
+ parser.add_argument(
+ "-d",
+ "--days",
+ dest="days",
+ type=check_positive,
+ help="Number of days to display data for.",
+ default=10,
+ )
+
+ parser.add_argument(
+ "-s",
+ "--sort",
+ dest="sortby",
+ type=str,
+ help="Sort by given column.",
+ default="date",
+ choices=[
+ "date",
+ "exchange",
+ "base",
+ "quote",
+ "open",
+ "high",
+ "low",
+ "close",
+ "tradeAmount",
+ "trades",
+ ],
+ )
+
+ parser.add_argument(
+ "--descend",
+ action="store_false",
+ help="Flag to sort in descending order (lowest first)",
+ dest="descend",
+ default=False,
+ )
+
+ try:
+ if other_args:
+ if not other_args[0][0] == "-":
+ other_args.insert(0, "-c")
+
+ ns_parser = parse_known_args_and_warn(
+ parser, other_args, EXPORT_ONLY_RAW_DATA_ALLOWED
+ )
+
+ if not ns_parser:
+ return
+
+ bitquery_view.display_daily_volume_for_given_pair(
+ token=ns_parser.coin,
+ vs=ns_parser.vs,
+ top=ns_parser.days,
+ sortby=ns_parser.sortby,
+ descend=ns_parser.descend,
+ export=ns_parser.export,
+ )
+
+ except Exception as e:
+ print(e)
+
+ def call_tv(self, other_args: List[str]):
+ """Process tv command"""
+ parser = argparse.ArgumentParser(
+ add_help=False,
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ prog="tv",
+ description="""
+ Display token volume on different Decentralized Exchanges.
+ [Source: https://graphql.bitquery.io/]
+ """,
+ )
+
+ parser.add_argument(
+ "-c",
+ "--coin",
+ dest="coin",
+ type=str,
+ help="ERC20 token symbol or address.",
+ required="-h" not in other_args,
+ )
+
+ parser.add_argument(
+ "-vs",
+ "--vs",
+ dest="vs",
+ type=str,
+ help="Currency of displayed trade amount.",
+ default="USD",
+ choices=bitquery_model.CURRENCIES,
+ )
+
+ parser.add_argument(
+ "-t",
+ "--top",
+ dest="top",
+ type=check_positive,
+ help="top N number records",
+ default=10,
+ )
+
+ parser.add_argument(
+ "-s",
+ "--sort",
+ dest="sortby",
+ type=str,
+ help="Sort by given column.",
+ default="trades",
+ choices=["exchange", "tradeAmount", "trades"],
+ )
+
+ parser.add_argument(
+ "--descend",
+ action="store_false",
+ help="Flag to sort in descending order (lowest first)",
+ dest="descend",
+ default=False,
+ )
+
+ try:
+ if other_args:
+ if not other_args[0][0] == "-":
+ other_args.insert(0, "-c")
+
+ ns_parser = parse_known_args_and_warn(
+ parser, other_args, EXPORT_ONLY_RAW_DATA_ALLOWED
+ )
+
+ if not ns_parser:
+ return
+
+ bitquery_view.display_dex_volume_for_token(
+ token=ns_parser.coin,
+ trade_amount_currency=ns_parser.vs,
+ top=ns_parser.top,
+ sortby=ns_parser.sortby,
+ descend=ns_parser.descend,
+ export=ns_parser.export,
+ )
+
+ except Exception as e:
+ print(e)
+
+ def call_ueat(self, other_args: List[str]):
+ """Process ueat command"""
+ parser = argparse.ArgumentParser(
+ add_help=False,
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ prog="ueat",
+ description="""
+ Display number of unique ethereum addresses which made a transaction in given time interval,
+ [Source: https://graphql.bitquery.io/]
+ """,
+ )
+
+ parser.add_argument(
+ "-t",
+ "--top",
+ dest="top",
+ type=check_positive,
+ help="top N number records. (Maximum available time period is 90 days."
+ "Depending on chosen time period, top N records will be recalculated. E.g."
+ "For interval: month, and top: 10, period of calculation equals to 300, "
+ "but because of max days limit: 90, it will only return last 3 months (3 records). ",
+ default=10,
+ )
+
+ parser.add_argument(
+ "-s",
+ "--sort",
+ dest="sortby",
+ type=str,
+ help="Sort by given column.",
+ default="date",
+ choices=[
+ "date",
+ "uniqueSenders",
+ "transactions",
+ "averageGasPrice",
+ "mediumGasPrice",
+ "maximumGasPrice",
+ ],
+ )
+
+ parser.add_argument(
+ "-i",
+ "--interval",
+ dest="interval",
+ type=str,
+ help="Time interval in which ethereum address made transaction. month, week or day. "
+ "Maximum time period is 90 days (3 months, 14 weeks)",
+ default="day",
+ choices=["day", "month", "week"],
+ )
+
+ parser.add_argument(
+ "--descend",
+ action="store_false",
+ help="Flag to sort in descending order (lowest first)",
+ dest="descend",
+ default=False,
+ )
+
+ try:
+ ns_parser = parse_known_args_and_warn(
+ parser, other_args, EXPORT_ONLY_RAW_DATA_ALLOWED
+ )
+
+ if not ns_parser:
+ return
+
+ bitquery_view.display_ethereum_unique_senders(
+ interval=ns_parser.interval,
+ limit=ns_parser.top,
+ sortby=ns_parser.sortby,
+ descend=ns_parser.descend,
+ export=ns_parser.export,
+ )
+
+ except Exception as e:
+ print(e)
+
+ def call_ttcp(self, other_args: List[str]):
+ """Process ttcp command"""
+ parser = argparse.ArgumentParser(
+ add_help=False,
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ prog="ttcp",
+ description="""
+ Display most traded crypto pairs on given decentralized exchange in chosen time period.
+ [Source: https://graphql.bitquery.io/]
+ """,
+ )
+
+ parser.add_argument(
+ "-t",
+ "--top",
+ dest="top",
+ type=check_positive,
+ help="top N number records",
+ default=10,
+ )
+
+ parser.add_argument(
+ "-e",
+ "--exchange",
+ dest="exchange",
+ type=str,
+ help="Decentralized exchange name.",
+ )
+
+ parser.add_argument(
+ "-d",
+ "--days",
+ dest="days",
+ type=check_positive,
+ help="Number of days to display data for.",
+ default=30,
+ )
+
+ parser.add_argument(
+ "-s",
+ "--sort",
+ dest="sortby",
+ type=str,
+ help="Sort by given column.",
+ default="tradeAmount",
+ choices=["base", "quoted", "trades", "tradeAmount"],
+ )
+
+ parser.add_argument(
+ "--descend",
+ action="store_false",
+ help="Flag to sort in descending order (lowest first)",
+ dest="descend",
+ default=False,
+ )
+
+ if other_args:
+ if "-" not in other_args[0]:
+ other_args.insert(0, "-e")
+
+ try:
+ ns_parser = parse_known_args_and_warn(
+ parser, other_args, EXPORT_ONLY_RAW_DATA_ALLOWED
+ )
+
+ if not ns_parser:
+ return
+
+ exchange = "Uniswap"
+ if ns_parser.exchange:
+ if ns_parser.exchange in bitquery_model.DECENTRALIZED_EXCHANGES:
+ exchange = ns_parser.exchange
+ else:
+ similar_cmd = difflib.get_close_matches(
+ ns_parser.exchange,
+ bitquery_model.DECENTRALIZED_EXCHANGES,
+ n=1,
+ cutoff=0.75,
+ )
+
+ if similar_cmd:
+ print(f"Replacing by '{similar_cmd[0]}'")
+ exchange = similar_cmd[0]
+
+ else:
+ similar_cmd = difflib.get_close_matches(
+ ns_parser.exchange,
+ bitquery_model.DECENTRALIZED_EXCHANGES,
+ n=1,
+ cutoff=0.5,
+ )
+ if similar_cmd:
+ print(f"Did you mean '{similar_cmd[0]}'?")
+ return
+ print(
+ f"Couldn't find any exchange with provided name: {ns_parser.exchange}. "
+ f"Please choose one from list: {bitquery_model.DECENTRALIZED_EXCHANGES}\n"
+ )
+ return
+ else:
+ print("Exchange not provided setting default to Uniswap.\n")
+
+ bitquery_view.display_most_traded_pairs(
+ days=ns_parser.days,
+ top=ns_parser.top,
+ exchange=exchange,
+ sortby=ns_parser.sortby,
+ descend=ns_parser.descend,
+ export=ns_parser.export,
+ )
+
+ except Exception as e:
+ print(e)
+
+ def call_baas(self, other_args: List[str]):
+ """Process baas command"""
+ parser = argparse.ArgumentParser(
+ add_help=False,
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ prog="baas",
+ description="""
+ Display average bid, ask prices, spread for given crypto pair for chosen time period
+ [Source: https://graphql.bitquery.io/]
+ """,
+ )
+
+ parser.add_argument(
+ "-c",
+ "--coin",
+ dest="coin",
+ type=str,
+ help="ERC20 token symbol or address.",
+ )
+
+ parser.add_argument(
+ "-vs", "--vs", dest="vs", type=str, help="Quote currency", default="USDT"
+ )
+
+ parser.add_argument(
+ "-d",
+ "--days",
+ dest="days",
+ type=check_positive,
+ help="Number of days to display data for.",
+ default=10,
+ )
+
+ parser.add_argument(
+ "-s",
+ "--sort",
+ dest="sortby",
+ type=str,
+ help="Sort by given column.",
+ default="date",
+ choices=[
+ "date",
+ "baseCurrency",
+ "quoteCurrency",
+ "dailySpread",
+ "averageBidPrice",
+ "averageAskPrice",
+ ],
+ )
+
+ parser.add_argument(
+ "--descend",
+ action="store_false",
+ help="Flag to sort in descending order (lowest first)",
+ dest="descend",
+ default=False,
+ )
+
+ try:
+ if other_args:
+ if not other_args[0][0] == "-":
+ other_args.insert(0, "-c")
+
+ ns_parser = parse_known_args_and_warn(
+ parser, other_args, EXPORT_ONLY_RAW_DATA_ALLOWED
+ )
+
+ if not ns_parser:
+ return
+
+ if ns_parser.coin:
+ if ns_parser.coin in bitquery_model.POSSIBLE_CRYPTOS:
+ bitquery_view.display_spread_for_crypto_pair(
+ token=ns_parser.coin,
+ vs=ns_parser.vs,
+ days=ns_parser.days,
+ sortby=ns_parser.sortby,
+ descend=ns_parser.descend,
+ export=ns_parser.export,
+ )
+
+ else:
+ print(f"Coin '{ns_parser.coin}' does not exist.")
+ if ns_parser.coin.upper() == "BTC":
+ token = "WBTC"
+ else:
+ similar_cmd = difflib.get_close_matches(
+ ns_parser.coin,
+ bitquery_model.POSSIBLE_CRYPTOS,
+ n=1,
+ cutoff=0.75,
+ )
+ token = similar_cmd[0]
+ if similar_cmd[0]:
+ print(f"Replacing by '{token}'")
+ bitquery_view.display_spread_for_crypto_pair(
+ token=token,
+ vs=ns_parser.vs,
+ days=ns_parser.days,
+ sortby=ns_parser.sortby,
+ descend=ns_parser.descend,
+ export=ns_parser.export,
+ )
+ else:
+ similar_cmd = difflib.get_close_matches(
+ ns_parser.coin,
+ bitquery_model.POSSIBLE_CRYPTOS,
+ n=1,
+ cutoff=0.5,
+ )
+ if similar_cmd:
+ print(f"Did you mean '{similar_cmd[0]}'?")
+
+ else:
+ print("You didn't provide coin symbol.\n")
+ return
+ except Exception as e:
+ print(e)
+
def print_help(self):
"""Print help"""
help_text = """
@@ -849,6 +1444,14 @@ Eth Gas Station:
Whale Alert:
whales check crypto wales transactions
+
+BitQuery:
+ lt last trades by dex or month
+ dvcp daily volume for crypto pair
+ tv token volume on DEXes
+ ueat unique ethereum addresses which made a transaction
+ ttcp top traded crypto pairs on given decentralized exchange
+ baas bid, ask prices, average spread for given crypto pair
"""
help_text += f"\nEthereum address: {self.address if self.address else '?'}"
help_text += (
@@ -887,9 +1490,15 @@ def menu():
while True:
# Get input command from user
if session and gtff.USE_PROMPT_TOOLKIT:
- completer = NestedCompleter.from_nested_dict(
- {c: None for c in onchain_controller.CHOICES}
- )
+ choices: dict = {c: {} for c in onchain_controller.CHOICES}
+ choices["ttcp"] = {c: None for c in bitquery_model.DECENTRALIZED_EXCHANGES}
+
+ choices["baas"]["-c"] = {c: None for c in bitquery_model.POSSIBLE_CRYPTOS}
+ choices["baas"]["--coin"] = {
+ c: None for c in bitquery_model.POSSIBLE_CRYPTOS
+ }
+
+ completer = NestedCompleter.from_nested_dict(choices)
an_input = session.prompt(
f"{get_flair()} (crypto)>(onchain)> ",
completer=completer,
diff --git a/gamestonk_terminal/terminal_helper.py b/gamestonk_terminal/terminal_helper.py
index a8fe63d383b..e6ead83956a 100644
--- a/gamestonk_terminal/terminal_helper.py
+++ b/gamestonk_terminal/terminal_helper.py
@@ -240,7 +240,27 @@ def check_api_keys():
key_dict["BINANCE"] = "Not defined"
else:
key_dict["BINANCE"] = "defined, not tested"
-
+ # BitQuery keys
+ bitquery = cfg.API_BITQUERY_KEY
+ if "REPLACE_ME" in bitquery:
+ key_dict["BITQUERY"] = "Not defined"
+ else:
+ headers = {"x-api-key": cfg.API_BITQUERY_KEY}
+ query = """
+ {
+ ethereum {
+ dexTrades(options: {limit: 10, desc: "count"}) {
+ count
+ protocol
+ }}}
+ """
+ r = requests.post(
+ "https://graphql.bitquery.io", json={"query": query}, headers=headers
+ )
+ if r.status_code == 200:
+ key_dict["BITQUERY"] = "defined, test passed"
+ else:
+ key_dict["BITQUERY"] = "defined, test failed"
# SentimentInvestor keys
si_keys = [cfg.API_SENTIMENTINVESTOR_KEY, cfg.API_SENTIMENTINVESTOR_TOKEN]
if "REPLACE_ME" in si_keys:
diff --git a/website/content/cryptocurrency/onchain/baas/_index.md b/website/content/cryptocurrency/onchain/baas/_index.md
new file mode 100644
index 00000000000..9e0084e3909
--- /dev/null
+++ b/website/content/cryptocurrency/onchain/baas/_index.md
@@ -0,0 +1,23 @@
+```
+usage: baas [-c COIN] [-t TOP] [-vs VS] [-d DAYS]
+ [-s {date,baseCurrency,quoteCurrency,dailySpread,averageBidPrice,averageAskPrice}]
+ [--descend] [-h] [--export {csv,json,xlsx}]
+```
+
+Display average bid, ask prices, spread for given crypto pair for chosen time
+period [Source: https://graphql.bitquery.io/]
+
+```
+optional arguments:
+ -c COIN, --coin COIN ERC20 token symbol or address. (default: None)
+ -t TOP, --top TOP top N number records (default: 10)
+ -vs VS, --vs VS Quote currency (default: USDT)
+ -d DAYS, --days DAYS Number of days to display data for. (default: 10)
+ -s {date,baseCurrency,quoteCurrency,dailySpread,averageBidPrice,averageAskPrice}, --sort {date,baseCurrency,quoteCurrency,dailySpread,averageBidPrice,averageAskPrice}
+ Sort by given column. (default: date)
+ --descend Flag to sort in descending order (lowest first)
+ (default: False)
+ -h, --help show this help message (default: False)
+ --export {csv,json,xlsx}
+ Export raw data into csv, json, xlsx (default: )
+```
diff --git a/website/content/cryptocurrency/onchain/dvcp/_index.md b/website/content/cryptocurrency/onchain/dvcp/_index.md
new file mode 100644
index 00000000000..818ec7a8fa6
--- /dev/null
+++ b/website/content/cryptocurrency/onchain/dvcp/_index.md
@@ -0,0 +1,22 @@
+```
+usage: tv [-c COIN] [-vs {ETH,USD,BTC,USDT}] [-t TOP]
+ [-s {exchange,tradeAmount,trades}] [--descend] [-h]
+ [--export {csv,json,xlsx}]
+```
+
+Display daily volume for given crypto pair [Source: https://graphql.bitquery.io/]
+
+```
+optional arguments:
+ -c COIN, --coin COIN ERC20 token symbol or address. (default: None)
+ -vs {ETH,USD,BTC,USDT}, --vs {ETH,USD,BTC,USDT}
+ Currency of displayed trade amount. (default: USD)
+ -t TOP, --top TOP top N number records (default: 10)
+ -s {exchange,tradeAmount,trades}, --sort {exchange,tradeAmount,trades}
+ Sort by given column. (default: trades)
+ --descend Flag to sort in descending order (lowest first)
+ (default: False)
+ -h, --help show this help message (default: False)
+ --export {csv,json,xlsx}
+ Export raw data into csv, json, xlsx (default: )
+```
diff --git a/website/content/cryptocurrency/onchain/lt/_index.md b/website/content/cryptocurrency/onchain/lt/_index.md
new file mode 100644
index 00000000000..e118e960c02
--- /dev/null
+++ b/website/content/cryptocurrency/onchain/lt/_index.md
@@ -0,0 +1,26 @@
+```
+usage: lt [-k {dex,time}] [-vs {ETH,USD,BTC,USDT}] [-t TOP] [-d DAYS]
+ [-s {trades,tradeAmount,exchange}] [--descend] [-h]
+ [--export {csv,json,xlsx}]
+```
+
+Display Trades on Decentralized Exchanges aggregated by DEX or Month [Source: https://graphql.bitquery.io/]
+
+```
+optional arguments:
+ -k {dex,time}, --kind {dex,time}
+ Aggregate trades by dex or time Default: dex (default:
+ dex)
+ -vs {ETH,USD,BTC,USDT}, --vs {ETH,USD,BTC,USDT}
+ Currency of displayed trade amount. (default: USD)
+ -t TOP, --top TOP top N number records (default: 10)
+ -d DAYS, --days DAYS Number of days to display data for. (default: 90)
+ -s {trades,tradeAmount,exchange}, --sort {trades,tradeAmount,exchange}
+ Sort by given column. Default: tradeAmount. For
+ monthly trades date. (default: tradeAmount)
+ --descend Flag to sort in descending order (lowest first)
+ (default: False)
+ -h, --help show this help message (default: False)
+ --export {csv,json,xlsx}
+ Export raw data into csv, json, xlsx (default: )
+```
diff --git a/website/content/cryptocurrency/onchain/ttcp/_index.md b/website/content/cryptocurrency/onchain/ttcp/_index.md
new file mode 100644
index 00000000000..1ca8fc41e4f
--- /dev/null
+++ b/website/content/cryptocurrency/onchain/ttcp/_index.md
@@ -0,0 +1,28 @@
+```
+usage: ttcp [-t TOP]
+ [-e {1inch,afrodex,airswap,amplbitcratic,balancer,bestswap,bitox,cellswap,cofix,coinchangex,curve,ddex,dubiex,decentrex,deversifi,dodo,ethercexchange,etherblockchain,etherdelta,ethernext,ethfinex,fegex,fffswap,fordex,gudecks,gudeks,hiswap,idex,ledgerdex,mat
+cha,miniswap,mooniswap,oasis,openrelay,s.finance,sakeswap,seeddex,singularx,starbitex,sushiswap,swapx,switchdex,tacoswap,tokenjar,tokenstore,tokentrove,tokenlon,tradexone,uniswap,zeusswap,dydx,dex.blue}]
+ [-d DAYS] [-s {base,quoted,trades,tradeAmount}] [--descend] [-h]
+ [--export {csv,json,xlsx}]
+```
+
+Display most traded crypto pairs on given decentralized exchange in chosen
+time period [Source: https://graphql.bitquery.io/]
+
+```
+optional arguments:
+ -t TOP, --top TOP top N number records (default: 10)
+ -e {1inch,afrodex,airswap,amplbitcratic,balancer,bestswap,bitox,cellswap,cofix,coinchangex,curve,ddex,dubiex,decentrex,deversifi,dodo,ethercexchange,etherblockchain,etherdelta,ethernext,ethfinex,fegex,fffswap,fordex,gudecks,gudeks,hiswap,idex,ledgerdex,matcha,miniswa
+p,mooniswap,oasis,openrelay,s.finance,sakeswap,seeddex,singularx,starbitex,sushiswap,swapx,switchdex,tacoswap,tokenjar,tokenstore,tokentrove,tokenlon,tradexone,uniswap,zeusswap,dydx,dex.blue}, --exchange {1inch,afrodex,airswap,amplbitcratic,balancer,bestswap,bitox,cell
+swap,cofix,coinchangex,curve,ddex,dubiex,decentrex,deversifi,dodo,ethercexchange,etherblockchain,etherdelta,ethernext,ethfinex,fegex,fffswap,fordex,gudecks,gudeks,hiswap,idex,ledgerdex,matcha,miniswap,mooniswap,oasis,openrelay,s.finance,sakeswap,seeddex,singularx,starb
+itex,sushiswap,swapx,switchdex,tacoswap,tokenjar,tokenstore,tokentrove,tokenlon,tradexone,uniswap,zeusswap,dydx,dex.blue}
+ Decentralized exchange name. (default: Uniswap)
+ -d DAYS, --days DAYS Number of days to display data for. (default: 30)
+ -s {base,quoted,trades,tradeAmount}, --sort {base,quoted,trades,tradeAmount}
+ Sort by given column. (default: tradeAmount)
+ --descend Flag to sort in descending order (lowest first)
+ (default: False)
+ -h, --help show this help message (default: False)
+ --export {csv,json,xlsx}
+ Export raw data into csv, json, xlsx (default: )
+```
diff --git a/website/content/cryptocurrency/onchain/tv/_index.md b/website/content/cryptocurrency/onchain/tv/_index.md
new file mode 100644
index 00000000000..b0fa25d0889
--- /dev/null
+++ b/website/content/cryptocurrency/onchain/tv/_index.md
@@ -0,0 +1,23 @@
+```
+usage: volt [-c COIN] [-vs {ETH,USD,BTC,USDT}] [-t TOP]
+ [-s {exchange,coin,tradeAmount,trades}] [--descend] [-h]
+ [--export {csv,json,xlsx}]
+```
+
+Display token volume on different Decentralized Exchanges [Source: https://graphql.bitquery.io/]
+
+```
+optional arguments:
+ -c COIN, --coin COIN ERC20 token symbol or address. (default: ETH)
+ -vs {ETH,USD,BTC,USDT}, --vs {ETH,USD,BTC,USDT}
+ Currency of displayed trade amount. (default: USD)
+ -t TOP, --top TOP top N number records (default: 10)
+ -s {exchange,coin,tradeAmount,trades}, --sort {exchange,coin,tradeAmount,trades}
+ Sort by given column. (default: trades)
+ --descend Flag to sort in descending order (lowest first)
+ (default: False)
+ -h, --help show this help message (default: False)
+ --export {csv,json,xlsx}
+ Export raw data into csv, json, xlsx (default: )
+
+```
diff --git a/website/content/cryptocurrency/onchain/ueat/_index.md b/website/content/cryptocurrency/onchain/ueat/_index.md
new file mode 100644
index 00000000000..d8f5f53dcbd
--- /dev/null
+++ b/website/content/cryptocurrency/onchain/ueat/_index.md
@@ -0,0 +1,30 @@
+```
+usage: ueat [-t TOP]
+ [-s {date,uniqueSenders,transactions,averageGasPrice,mediumGasPrice,maximumGasPrice}]
+ [-i {day,month,week}] [--descend] [-h] [--export {csv,json,xlsx}]
+```
+
+Display number of unique ethereum addresses which made a transaction in given
+time interval [Source: https://graphql.bitquery.io/]
+
+```
+optional arguments:
+ -t TOP, --top TOP top N number records. (Maximum available time period
+ is 90 days.Depending on chosen time period, top N
+ records will be recalculated. E.g.For interval: month,
+ and top: 10, period of calculation equals to 300, but
+ because of max days limit: 90, it will only return
+ last 3 months (3 records). (default: 10)
+ -s {date,uniqueSenders,transactions,averageGasPrice,mediumGasPrice,maximumGasPrice}, --sort {date,uniqueSenders,transactions,averageGasPrice,mediumGasPrice,maximumGasPrice}
+ Sort by given column. (default: date)
+ -i {day,month,week}, --interval {day,month,week}
+ Time interval in which ethereum address made
+ transaction. month, week or day. Maximum time period
+ is 90 days (3 months, 14 weeks) (default: day)
+ --descend Flag to sort in descending order (lowest first)
+ (default: False)
+ -h, --help show this help message (default: False)
+ --export {csv,json,xlsx}
+ Export raw data into csv, json, xlsx (default: )
+
+```
diff --git a/website/data/menu/main.yml b/website/data/menu/main.yml
index 033a2fe0076..9f38566b14d 100755
--- a/website/data/menu/main.yml
+++ b/website/data/menu/main.yml
@@ -766,6 +766,38 @@ main:
sub:
- name: gwei
ref: "/cryptocurrency/onchain/gwei"
+ - name: address
+ ref: "/cryptocurrency/onchain/address"
+ - name: balance
+ ref: "/cryptocurrency/onchain/balance"
+ - name: hist
+ ref: "/cryptocurrency/onchain/hist"
+ - name: holders
+ ref: "/cryptocurrency/onchain/holders"
+ - name: info
+ ref: "/cryptocurrency/onchain/info"
+ - name: ttcp
+ ref: "/cryptocurrency/onchain/ttcp"
+ - name: prices
+ ref: "/cryptocurrency/onchain/prices"
+ - name: ueat
+ ref: "/cryptocurrency/onchain/ueat"
+ - name: baas
+ ref: "/cryptocurrency/onchain/baas"
+ - name: th
+ ref: "/cryptocurrency/onchain/th"
+ - name: top
+ ref: "/cryptocurrency/onchain/top"
+ - name: lt
+ ref: "/cryptocurrency/onchain/lt"
+ - name: tx
+ ref: "/cryptocurrency/onchain/tx"
+ - name: dvcp
+ ref: "/cryptocurrency/onchain/dvcp"
+ - name: tv
+ ref: "/cryptocurrency/onchain/tv"
+ - name: whales
+ ref: "/cryptocurrency/onchain/whales"
- name: nft
ref: "/cryptocurrency/nft"
sub: