diff --git a/.github/workflows/cleanup-repo.yml b/.github/workflows/cleanup-repo.yml new file mode 100644 index 0000000..ad78909 --- /dev/null +++ b/.github/workflows/cleanup-repo.yml @@ -0,0 +1,84 @@ +# Refer https://github.com/fawazahmed0/currency-api/issues/64 + +name: Reduce-git-repo-size + +# Controls when the action will run. Triggers the workflow on push or pull request +# events but only for branch 1 and on start directory, command.txt file changes or by manually running the workflow from actions tab +on: + schedule: + - cron: '37 7 29 */3 *' # every n months + + workflow_dispatch: + + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: macos-13 + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + + - uses: actions/setup-node@v3 + with: + node-version: '21' + + - name: Install filter-repo and jsdelivr caching script + shell: bash + run: | + curl -L -o ../filter-repo.py https://raw.githubusercontent.com/fawazahmed0/currency-api/1/other/filter-repo.py + curl -L -o ../cache-jsdelivr-api.js https://raw.githubusercontent.com/fawazahmed0/currency-api/1/other/cache-jsdelivr-api.js + curl -L -o ../getdate-args.js https://raw.githubusercontent.com/fawazahmed0/currency-api/1/other/getdate-args.js + + - name: Cache jsdelivr latest folder in background + shell: bash + run: | + node ../cache-jsdelivr-api.js & + + # clone + - name: clone + shell: bash + run: | + git config --global user.email github-actions@github.com + git config --global user.name github-actions + git config --global gc.auto 0 + REPO="https://${GITHUB_ACTOR}:${{ secrets.WORKFLOW_TOKEN_FULL }}@github.com/${GITHUB_REPOSITORY}.git" + git clone --no-checkout --sparse $REPO . + git sparse-checkout reapply --no-cone + git sparse-checkout add 'latest/*' + git checkout + + # Clean up files & Expire old data + - name: Clean up latest folder + shell: bash + run: | + python3 ../filter-repo.py --force --invert-paths --path latest + git for-each-ref --format="delete %(refname)" refs/original | git update-ref --stdin + git reflog expire --expire=now --all + + - name: Commit latest folder + shell: bash + run: | + git commit -m "cleanup" latest + + + # Clean up dates & Expire old data + - name: Clean up dates + shell: bash + run: | + python3 ../filter-repo.py --force --invert-paths --path node_modules `node ../getdate-args.js` + #python3 ../filter-repo.py --force --invert-paths --path `git ls-tree 1 --name-only | sort | grep -E '[0-9]+\-[0-9]+\-[0-9]+' | head -n 1` + git for-each-ref --format="delete %(refname)" refs/original | git update-ref --stdin + git reflog expire --expire=now --all + + # Force pushing changes in chunks, 50 at a time, starting from 50000 + - name: Force push in chunks + shell: bash + run: | + for i in $(seq 50000 -50 0) + do + git push origin 1~$i:1 --force || true + done + git push origin 1:1 --force || true diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml new file mode 100644 index 0000000..66268ea --- /dev/null +++ b/.github/workflows/run.yml @@ -0,0 +1,66 @@ +name: Fetch-Currencies + +# Controls when the action will run. Triggers the workflow on push or pull request +# events but only for branch 1 and on start directory, command.txt file changes or by manually running the workflow from actions tab +on: + schedule: + - cron: '0 0 * * *' # every day at midnight + + workflow_dispatch: + +env: # Or as an environment variable + currlink: ${{ secrets.CURRLINK }} + currlink2: ${{ secrets.CURRLINK2 }} + currlink3: ${{ secrets.CURRLINK3 }} + currlink3key: ${{ secrets.CURRLINK3KEY }} + cryptolink: ${{ secrets.CRYPTOLINK }} + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: macos-13 + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + + # Partial clone + - name: Partial clone + shell: bash + run: | + REPO="https://${GITHUB_ACTOR}:${{ secrets.GITHUB_TOKEN }}@github.com/${GITHUB_REPOSITORY}.git" + git clone --filter=blob:none --no-checkout --depth 1 --sparse $REPO . + git sparse-checkout reapply --no-cone + git sparse-checkout add 'latest/*' + git checkout + + - uses: actions/setup-node@v3 + with: + node-version: '20.5.1' + + - name: Install Dependencies + run: | + npm i + npx playwright install --with-deps + + + - name: Running the command + run: node currscript.js + + - name: Rerun the command if previous failed + if: failure() + id: rerun + run: node currscript.js + + # commiting and pushing changes + - name: commit and push + if: ${{ success() || steps.rerun.conclusion == 'failure' }} + shell: bash + run: | + git config --global user.email github-actions@github.com + git config --global user.name github-actions + git pull + git add --sparse -A + git commit -m 'Update Currencies' + git push diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f7071f2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.dccache +links.ini +node_modules/ \ No newline at end of file diff --git a/allcurrencies.min.json b/allcurrencies.min.json new file mode 100644 index 0000000..3774600 --- /dev/null +++ b/allcurrencies.min.json @@ -0,0 +1 @@ +{"42":"42 Coin","300":"300 token","365":"365Coin","404":"404Coin","433":"433 Token","611":"SixEleven","808":"808","888":"Octocoin","1337":"EliteCoin","2015":"2015 coin","BTC":"Bitcoin","ETH":"Ethereum","USDT":"Tether","BNB":"Binance Coin","USDC":"USDC","XRP":"Ripple","ADA":"Cardano","SOL":"Solana","AVAX":"Avalanche","LUNA":"Terra","DOGE":"Dogecoin","DOT":"Polkadot","BUSD":"Binance USD","SHIB":"Shiba Inu","MATIC":"Polygon","CRO":"Crypto.com Chain","UST":"TerraUSD","WBTC":"Wrapped Bitcoin","DAI":"DAI","LTC":"Litecoin","ATOM":"Cosmos","LINK":"Chainlink","NEAR":"NEAR Protocol","UNI":"Uniswap","TRX":"TRON","FTT":"FarmaTrust","ALGO":"Algorand","BCH":"Bitcoin Cash","MANA":"Mana Coin Decentraland","LEO":"LEOcoin","XLM":"Stellar Lumen","FTM":"Fantom","HBAR":"Hedera","BTCB":"Bitcoin BEP2","ICP":"Internet Computer","SAND":"The Sandbox","ETC":"Ethereum Classic","EGLD":"Elrond","VET":"Vechain","THETA":"Theta","AXS":"Axie Infinity","FIL":"Filecoin","XTZ":"Tezos","KLAY":"Klaytn","XMR":"Monero","HNT":"Helium","EOS":"EOS","MIOTA":"IOTA","FLOW":"Flow","GALA":"Gala","AAVE":"Aave","CAKE":"PancakeSwap","ONE":"Menlo One","GRT":"The Graph","MKR":"Maker","BTT":"BitTorrent","STX":"Stacks","BSV":"Bitcoin SV","NEO":"NEO","ZEC":"ZCash","KCS":"Kucoin","ENJ":"Enjin Coin","XEC":"Eternal Coin","HT":"Huobi Token","QNT":"Quant","RUNE":"THORChain (ERC20)","CVX":"Convex Finance","TUSD":"True USD","CRV":"Curve DAO Token","KSM":"Kusama","KDA":"Kadena","AMP":"Amp","CHZ":"Chiliz","LRC":"Loopring","OKB":"Okex","NEXO":"NEXO","BAT":"Basic Attention Token","CELO":"Celo","DASH":"Digital Cash","WAVES":"Waves","TFUEL":"Theta Fuel","SCRT":"SecretCoin","AR":"Arweave","ROSE":"Oasis Network","MINA":"Mina","XEM":"NEM","XYM":"Symbol","USDP":"USDP Stablecoin","BORA":"BORA","DCR":"Decred","IOTX":"IoTeX","HOT":"Hydro Protocol","COMP":"Compound","YFI":"Yearn Finance","CEL":"Celsius Network","RLY":"Rally","1INCH":"1inch","QTUM":"QTUM","XDC":"XDC Network","RENBTC":"renBTC","GNO":"Gnosis","RVN":"Ravencoin","BNT":"Bancor Network","WAXP":"WAX","OMG":"Omisego","AUDIO":"Audius","ANKR":"Ankr Network","RNDR":"Render Token","VLX":"Velox","ZIL":"Zilliqa","REV":"Revenu","LPT":"Livepeer (LPT)","CHSB":"SwissBorg","BTG":"Bitcoin Gold","KAVA":"Kava","ICX":"ICON Project","NFT":"NFT","SNX":"Synthetix Network","ZRX":"ZRX 0x","ELON":"Dogelon Mars","IMX":"Immutable X","ANC":"Anoncoin","SUSHI":"SushiSwap","GT":"GateToken","SC":"Siacoin","WOO":"WOO Network","VGX":"Voyager Token","SKL":"SKALE Network","SYS":"SysCoin","ONT":"Ontology","SPELL":"Spell Token","IOST":"IOS token","ZEN":"Horizen","TEL":"Telcoin","PERP":"Perpetual Protocol","DYDX":"dYdX","USDN":"Neutrino USD","STORJ":"Storj","CKB":"Nervos Network","HIVE":"Hive","ILV":"Illuvium","FEI":"Fei USD","UMA":"Universal Market Access","FXS":"Frax Share","SUPER":"SuperFarm","GLMR":"Moonbeam","KNC":"Kyber Network Crystals","PAXG":"PAX Gold","KEEP":"Keep Network","POLY":"Polymath","FLUX":"Datamine FLUX","JST":"JUST","UOS":"Ultra","NU":"NuCypher","GLM":"Golem","OCEAN":"Ocean Protocol","REN":"renBTC","DGB":"DigiByte","ENS":"Ethereum Name Service","PEOPLE":"ConstitutionDAO","PYR":"Vulcan Forged PYR","CSPR":"Casper","CELR":"Celer Network","C98":"Coin98","XDB":"DragonSphere","BTRST":"Braintrust","PLA":"PlayDapp","SRM":"Serum","WIN":"WCoin","TRIBE":"Tribe","CHR":"Chromia","CEEK":"CEEK Smart VR Token","RAY":"Raydium","XNO":"Xeno Token","DENT":"Dent","MOVR":"Moonriver","COTI":"COTI","INJ":"Injective","YGG":"Yield Guild Games","WRX":"WazirX","XYO":"XYO Network","SXP":"Swipe","GUSD":"Gemini US Dollar","POWR":"Powerledger","FET":"Fetch.ai","XPRT":"Persistence","ALICE":"My Neighbor Alice","FX":"Function X","BOBA":"Boba Network","REQ":"Request","XCH":"Chia","TRAC":"OriginTrail","CTSI":"Cartesi","RSR":"Reserve Rights","RGT":"Rari Governance Token","SOS":"Somali Shilling","MXC":"MXC","MBOX":"MOBOX","ACH":"Alchemy Pay","MED":"MediterraneanCoin","HEX":"HexCoin","STETH":"Lido stETH","TONCOIN":"Toncoin","FRAX":"Frax","OSMO":"Osmosis","BTTOLD":"BitTorrent","WBNB":"Wrapped BNB","HBTC":"Huobi BTC","YOUC":"yOUcash","DFI":"DfiStarter","CBG":"Chainbing","OMI":"ECOMI","CCXX":"Counos X","BIT":"BitDAO","SPA":"Sperax","SAFEMOON":"SafeMoon","LN":"LINK","vBNB":"Venus BNB","TTT":"Tap Project","LUSD":"Limited USD","WEMIX":"WEMIX","NXM":"NXM","KOK":"KOK","HERO":"Hero","XWC":"WhiteCoin","DESO":"Decentralized Social","RACA":"Radio Caca","HUSD":"HUSD","MOB":"MobileCoin","ANY":"Anyswap","METIS":"MetisDAO","UFO":"UFO Coin","RPL":"Rocket Pool","TLOS":"Telos","BEST":"BestChain","SAPP":"Sapphire","ALT":"ALTcoin","ARRR":"Pirate Chain","EVER":"EverLife.AI","AURORA":"Aurora","LYXe":"LUKSO","LSK":"Lisk","ANT":"Aragon","OUSD":"Origin Dollar","DIVI":"Divi Project","REEF":"Reef","MDX":"Mdex","ONG":"SoMee.Social","DAG":"Constellation","ORBS":"Orbis","MAID":"MaidSafe Coin","JOE":"JOE","PUNDIX":"Pundi X (New)","DVI":"Dvision Network","ASTR":"Astar","ARDR":"Ardor","MVL":"MVL","STARL":"Starlink","SNT":"Status Network","VR":"Victoria VR","XAUT":"Tether Gold","BFC":"Betform","CVC":"Civic","TWT":"Trust Wallet Token","API3":"API3","RMRK":"RMRK","HEDG":"HedgeTrade","BICO":"Biconomy","ELF":"aelf","XVG":"Verge","BLOK":"Bloktopia","OXT":"Orchid Network","SFUND":"Seedify.fund","BTCST":"Bitcoin Standard Hashrate Token","HUM":"Humanscape","XSGD":"XSGD","SOUL":"SoulCoin","CFX":"Conflux","WILD":"Wild Crypto","ALCX":"Alchemix","VTHO":"VeChainThor","EWT":"Energy Web Token","MX":"MarsX","SURE":"inSure DeFi","BIFI":"BitcoinFile","MNGO":"Mango","BETA":"PolyBeta Finance","YOOSHI":"YooShi","ORC":"Organicco","DUSK":"Dusk Network","HTR":"Hathor","SUN":"Sun (New)","BCD":"Bitcoin Diamond","ALPHA":"Alpha Finance Lab","MASK":"Mask Network","ORN":"Orion Protocol","AKT":"Akash Network","BAND":"Band Protocol","PRO":"Propy","PROM":"Prometeus","AVINOC":"AVINOC","ASD":"ASD","NKN":"NKN","REP":"Augur","RLC":"iExec RLC","NMR":"Numeraire Network","XVS":"Venus","DAO":"DAO Maker","DG":"DeGate","SSV":"SSVCoin","SAFE":"SafeCoin","POLS":"Polkastarter","HXRO":"Hxro","KP3R":"Keep3rV1","DERO":"Dero","USDX":"USDX [Lighthouse]","DEP":"Depth Token","STMX":"StormX","UBT":"UniBright","RAD":"Radicle","STRAX":"Stratis","LAT":"Latium","CENNZ":"Centrality Token","JASMY":"Jasmy","KAI":"KardiaChain","VERI":"Veritaseum","DAWN":"Dawn Protocol","STPT":"Standard Tokenization Protocol","OGN":"Origin Token","QRDO":"Qredo","C20":"Crypto20","BAKE":"BakeryToken","DVF":"DeversiFi","BADGER":"Badger DAO","RIF":"RIF Token","CRA":"Crabada","STEEM":"Steem","META":"Metadium","EPS":"Ellipsis","UTK":"Utrust","ARK":"ARK","SLP":"Smooth Love Potion","EURS":"STASIS EURS","VRA":"Verasity","GHST":"Aavegotchi","MC":"Mass Coin","RKN":"Rakon","ETN":"Electroneum","DAR":"Mines of Dalarnia","vETH":"Venus ETH","SSX":"SOMESING","SNL":"Sport and Leisure","GXC":"Gx Coin","EXRD":"e-Radix","WNCG":"Wrapped NCG (Nine Chronicles Gold)","XPR":"Permian","MIR":"Mirror Protocol","TLM":"Alien Worlds","TRU":"TrueFi","IDEX":"IDEX","TIME":"Chrono.tech","AGIX":"SingularityNET","XCAD":"XCAD Network","ABBC":"Alibabacoin","PEAK":"PEAKDEFI","COVAL":"COVAL","FUN":"FunFair","MPL":"Maple","ARPA":"ARPA Chain","HNS":"Handshake","RBN":"Ribbon FInance","MTL":"Maltese Lira","STRK":"Strike","GTC":"Gitcoin","CQT":"Covalent","QKC":"QuarkChain","MLN":"Enzyme","TOMO":"TomoChain","ERG":"Ergo","CLV":"Clover Finance","RBTC":"Smart Bitcoin","SUSD":"sUSD","DPR":"Deeper Network","XWG":"X World Games","HOO":"Hoo Token","DPI":"DeFi Pulse Index","PRE":"Premium","vUSDC":"Venus USDC","ACA":"ACA Token","AMPL":"Ampleforth","BSW":"Biswap","CFG":"Centrifuge","VXV":"Vectorspace AI","ATLAS":"Atlas Cloud","STAKE":"STAKE","BAL":"Balancer","FIDA":"Bonfida","DKA":"dKargo","MWC":"MultiWallet Coin","ALEPH":"Aleph.im","CORE":"Core Group Asset","CUDOS":"CUDOS","SOV":"Sovryn","IQ":"Everipedia","TVK":"Terra Virtua Kolect","GTN":"Greentoken","DERC":"DeRace","IRIS":"Hermes Defi","CUSD":"Carbon","UQC":"Uquid Coin","ELA":"Elastos","KIN":"Kin","RISE":"Rise","BLCT":"Bloomzed Loyalty Club Ticket","SFP":"SafePal","AURY":"Aurory","WAN":"Wanchain","BZRX":"bZx Protocol","LOOM":"Loom Network","HDAO":"HyperDAO","MBL":"MovieBloc","YFII":"DFI.Money","CUBE":"DigiCube","VVS":"VVS Finance","BZZ":"Swarm","CTK":"CertiK","TKO":"Toko Token","RAI":"Rai Reflex Index","QUACK":"RichQUACK.com","KILT":"KILT Protocol","NOIA":"NOIA Network","VOXEL":"Voxies","SOLO":"Sologenic","LINA":"Linear","GF":"GuildFi","HYDRA":"Hydra","ERN":"Eritrean Nakfa","RFOX":"RFOX","XNC":"XenCoin","FLM":"FOLM coin","EFI":"Efinity Token","KLV":"Klever","HUNT":"HUNT","aEth":"ankrETH","ZB":"ZB Token","AVA":"Avalon","ZLW":"Zelwin","AGLD":"Adventure Gold","ATA":"Automata Network","BLZ":"Bluzelle","SWAP":"SatoshiSwap","PHA":"Phala Network","FOX":"Shapeshift FOX Token","LCX":"LCX","HYN":"Hyperion","ALBT":"AllianceBlock","SAMO":"Samoyedcoin","FORTH":"Ampleforth Governance Token","AQT":"Alpha Quark Token","VELO":"Velo","AERGO":"Aergo","EUM":"Elitium","CRTS":"Cratos","AIOZ":"Aioz Network","BNANA":"Chimpion","ADS":"Adshares","BTS":"Bitshares","LTO":"LTO Network","ICHI":"ICHI","TT":"TravelChain","FARM":"Harvest Finance","NCT":"Polyswarm","DAD":"DAD","ONUS":"ONUS","MFT":"Mainframe","CRE":"Credits","SLIM":"Solanium","TITAN":"Titan","MLK":"MiL.k","DATA":"Streamr DATAcoin","MONA":"Monavale","COS":"Contentos","QUICK":"QuickSwap","RARE":"SuperRare","BOSON":"BosonCoin","DFA":"DeFine","CHESS":"ChessCoin","ROOK":"KeeperDAO","HARD":"Kava Lend","QC":"Qcash","MOC":"Moss Coin","SPS":"Splintershards","KMD":"Komodo","DDX":"DerivaDAO","ADX":"AdEx","HIGH":"Highstreet","BNX":"BnrtxCoin","VEGA":"VEGA","FLETA":"FLETA","TROY":"TROY","COCOS":"Cocos-BCX","BIOT":"BioPassport Token","TPT":"TokenPocket","XHV":"Haven Protocol","BOND":"BarnBridge","CTXC":"Cortex","vXVS":"Venus XVS","ASM":"Assemble Protocol","PNK":"SteamPunk","GRID":"Grid+","BMX":"BitMart Coin","SWP":"Kava Swap","DIA":"Dia","DMCH":"Darma Cash","CBK":"Cobak Token","XMON":"XMON","vBUSD":"Venus BUSD","DODO":"DODO","VID":"VideoCoin","ALPACA":"Alpaca Finance","GMT":"Stepn","NYE":"NewYork Exchange","LIT":"Litentry","UPP":"Sentinel Protocol","ATRI":"Atari Token","TORN":"Tornado Cash","MIX":"MixMarvel","GAS":"Gas","POSI":"Position Exchange","WNXM":"Wrapped NXM","SHFT":"Shyft Network","BSCPAD":"BSCPAD","MARO":"Maro","VAI":"VAIOT","MDT":"Measurable Data Token","AXEL":"AXEL","SIX":"SIX","WHALE":"White Whale","FWT":"Freeway Token","POLIS":"PolisPay","SDN":"Shiden Network","RARI":"Rarible","ZNN":"Zenon","erowan":"SifChain","TRB":"Tellor","MNW":"Morpheus.Network","FIRO":"Firo","NRG":"Energi","AKRO":"Akropolis","1ECO":"1eco","FIO":"FIO Protocol","OOKI":"Ooki Protocol","LOKA":"League of Kingdoms Arena","AION":"Aion","PRQ":"PARSIQ","STRONG":"Strong","PSG":"Paris Saint-Germain Fan Token","DVPN":"Sentinel","DNT":"District0x","CLT":"CoinLoan","MSOL":"Marinade Staked SOL","MET":"Memessenger","FSN":"Fusion","TREEB":"Retreeb","CELL":"SolarFarm","LON":"Tokenlon Network Token","BANANA":"Banana.finance","GRS":"Groestlcoin","SBD":"Solomon Islander Dollar","RFR":"Refereum","RAMP":"RAMP","CYCLUB":"Cyclub","NFTX":"NFTX","QSP":"Quantstamp","GAFI":"GameFi","NSBT":"Neutrino Token","SHPING":"Shping Coin","SAITO":"Saito","VBIT":"Valobit","DFL":"DeFIL","BEL":"Belrium","WTC":"Waltonchain","CON":"CONUN","APL":"Apollo Currency","HOPR":"HOPR","FIS":"Stafi","NULS":"Nuls","BOR":"BoringDAO","LA":"LATOKEN","VRSC":"VerusCoin","LDO":"Lido DAO Token","DGD":"Digix DAO","OM":"MANTRA DAO","RVP":"Revolution Populi","CET":"CoinEx token","HAI":"Hacken Token","GODS":"Gods Unchained","KEY":"SelfKey","BTM":"BitMark","LQTY":"Liquity","XFT":"Fantasy Cash","MITH":"Mithril","GLCH":"Glitch","SCP":"ScPrime","MUSD":"mStableUSD","BABY":"BabySwap","WXT":"Wirex Token","ERC20":"Index ERC20","YLD":"YIELD App","BEAM":"Beam","IDIA":"Impossible Finance Launchpad","SUKU":"SUKU","TABOO":"TABOO TOKEN","STACK":"StackOs","mIAU":"Mirrored iShares Gold Trust","SOFI":"RAI Finance","CVP":"Community Vote Power","DF":"dForce","BOA":"BOSAGORA","MTV":"MultiVAC","BTR":"Bither","URUS":"Aurox","THN":"Throne","FRONT":"Frontier","PDEX":"Polkadex","NWC":"Newscrypto","mVIXY":"Mirrored ProShares VIX","CITY":"Manchester City Fan Token","SOLVE":"SOLVE","KAR":"Karura","BASIC":"BASIC","CIV":"Civitas","FCT,FCT2":"FirmaChain","HOGE":"Hoge Finance","QTCON":"Quiztok","ANJ":"Aragon Court","GOM2":"AnimalGo","SPIRIT":"SpiritSwap","BTU":"BTU Protocol","NEST":"NEST Protocol","AMO":"AMO Coin","PNY":"Peony Coin","MVC":"Multiverse Capital","AE":"Aeternity","XOR":"SORA","REAP":"ReapChain","IHF":"Invictus Hyperion Fund","FUSE":"Fuse Network","VSYS":"v.systems","GNY":"GNY","EPIK":"EPIK Token","ASK":"Permission Coin","MAPS":"MAPS","ULT":"Shardus","DOCK":"Dock.io","BCN":"ByteCoin","BURGER":"Burger Swap","CXO":"CargoX","KRT":"TerraKRW","LGCY":"LGCY Network","POND":"Marlin","PNG":"Pangolin","AHT":"Ahoolee","vUSDT":"Venus USDT","SERO":"Super Zero Protocol","NMC":"Namecoin","APX":"Apx","AUCTION":"Bounce Token AUCTION","KRL":"Kryll","NBS":"New BitShares","BTSE":"BTSE","HEGIC":"Hegic","HEZ":"Hermez Network","FOR":"Force Coin","PKF":"PolkaFoundry","PNT":"Penta","STT":"Staramba","SNTVT":"Sentivate","ZASH":"ZIMBOCASH","WOZX":"EFFORCE","CGG":"ChainGuardians","LAZIO":"S.S. Lazio Fan Token","HOTCROSS":"Hot Cross","SIDUS":"SIDUS HEROES","SOCKS":"Unisocks","PLANETS":"PlanetWatch","SOC":"All Sports Coin","WICC":"WaykiChain","OPUL":"Opulous","FLX":"Flash","PORTO":"FC Porto Fan Token","DOBO":"DogeBonk","CAPS":"Ternoa","DREP":"Drep [new]","EDG":"Edgeless","XFL":"Florin","VITE":"VITE","GO":"GoChain","DEGO":"Dego Finance","BEPRO":"BEPRO Network","ZKS":"ZKSwap","ARV":"Ariva","RSV":"Reserve","USDK":"USDK","UNFI":"Unifi Protocol DAO","GTO":"GIFTO","NIM":"Nimiq","RAINI":"Rainicorn","GET":"Guaranteed Entrance Token","STOS":"Stratos","DEXE":"DeXe","ZIG":"Zigcoin","EVZ":"Electric Vehicle Zone","DEXT":"DEXTools","MFG":"SyncFab","INSUR":"InsurChain Coin","PERL":"PERL.eco","KARMA":"Karma","SHR":"ShareRing","REVV":"REVV","MAP":"Maester Protocol","SDAO":"Solar DAO","DRGN":"Dragonchain","DEHUB":"DeHub","RBC":"Rubic","LOCUS":"Locus Chain","PENDLE":"Pendle","QASH":"Quoine Liquid","POA":"Poa Network","ID":"TrigID","ZEON":"ZEON","AST":"AirSwap","OXEN":"Oxen","HAM":"Hamster","BRD":"Bread token","GENE":"PARKGENE","EPIC":"Epic Cash","PAC":"PacCoin","RDD":"Reddcoin","BUX":"BUX Token","TMTG":"Digital Gold Exchange","EL":"ELYSIA","PAID":"PAID Network","DXD":"DXdao","SHIRYO-INU":"Shiryo-Inu","STC":"StarChain","DORA":"Dora Factory","OXY":"Oxycoin","HIBS":"Hiblocks","VIDT":"V-ID","BF":"BitForex Token","GXT":"Game Protocol","LSS":"Lossless","WING":"Wing Finance","PORNROCKET":"PornRocket","QQQ":"Poseidon Network","KDAG":"King DAG","FOAM":"Foam","LIKE":"LikeCoin","ES":"Era Swap","GYEN":"GYEN","XCP":"CounterParty","AUTO":"Cube","PPT":"Populous","VSP":"Vesper","NXS":"Nexus","BAR":"TBIS token","QI":"BENQI","NEW":"Newton","SWTH":"Switcheo","DX":"DxChain Token","GAME":"Gamecredits","TALK":"Talken","SHILL":"SHILL Token","CREAM":"IceCream Finance","VEED":"VIMworld","JUP":"Jupiter","VEE":"BLOCKv","TEMCO":"TEMCO","GMCOIN":"GMCoin","OBSR":"Observer","ROUTE":"Router Protocol","NUM":"NumbersCoin","DOV":"DOVU","PIVX":"Private Instant Verified Transaction","OOE":"OpenOcean","XCUR":"Curate","LBC":"LBRY Credits","LTX":"Lattice Token","GHX":"GamerCoin","DSLA":"Stacktical","SIGNA":"Signum","VTC":"Vertcoin","MPH":"88mph","GMEE":"GAMEE","PUSH":"Ethereum Push Notification Service","ASTA":"ASTA","MATH":"MATH","NGM":"e-Money","AVT":"Aventus","NEX":"Neonexchange","ICE":"iDice","HAPI":"HAPI Protocol","PCX":"ChainX","INTER":"Inter Milan Fan Token","XED":"Exeedme","KAN":"Bitkan","CTX":"Cryptex Finance","OPCT":"Opacity","UPI":"Pawtocol","LOTTO":"Lotto","SATA":"Signata","ZCN":"0chain","MHC":"MetaHash","GOVI":"Govi","VAL":"Vatican City Lira","NIF":"Unifty","XPX":"ProximaX","PPC":"PeerCoin","ABT":"Arcblock","LIFE":"LIFE","BAX":"BABB","TCT":"TokenClub","QRL":"Quantum Resistant Ledger","XEP":"ephelants360","IQN":"IQeon","STANDARD":"Stakeborg DAO","DIP":"Etherisc","CRU":"Curium","PMON":"Polychain Monsters","DIGG":"DIGG","GPX":"GPEX","BLANK":"BlockWallet","INXT":"Internxt","SLRS":"Solrise Finance","SFI":"saffron.finance","DERI":"Deri Protocol","PART":"Particl","K21":"K21","CPOOL":"Clearpool","BNK":"Bankera","ZYN":"Zynecoin","DOGEDASH":"Doge Dash","CRPT":"Crypterium","RSTR":"Ondori","EMRX":"Emirex Token","O3":"O3 Swap","SPIKE":"Spiking","HC":"HyperCash","MLT":"MultiGames","GBYTE":"Byteball","MOBI":"Mobius","GCR":"Global Currency Reserve","MINT":"MintCoin","ORAI":"Oraichain Token","PBR":"PolkaBridge","PLU":"Pluton","UFT":"ufoodo","BIDR":"BIDR","GRIN":"Grin","WABI":"WaBi","BHP":"BHPCoin","CLO":"Callisto Network","BAN":"Babes and Nerds","STARS":"StarLaunch","BTRS":"Bitball Treasure","TAROT":"Tarot","PALLA":"Pallapay","SPARTA":"Spartan Protocol","NFTB":"NFTb","BELT":"Belt Finance","ACM":"Actinium","VEMP":"vEmpire DDAO","SAN":"Santiment","IDRT":"Rupiah Token","STAX":"Staxcoin","GOC":"GoCrypto Token","POOLZ":"Poolz Finance","USDJ":"USDJ","CUT":"CUTcoin","PICKLE":"Pickle Finance","EPK":"EpiK Protocol","XTM":"Torum","GNX":"Genaro Network","SHROOM":"Niftyx Protocol","SWFTC":"SwftCoin","CHI":"XAYA","GFI":"Goldfinch","PROB":"ProBit Token","DIO":"Decimated","EXRN":"EXRNchain","OXB":"Oxbull.tech","AMB":"Ambrosus","1ART":"OneArt","NAS":"Nebulas","VALOR":"Smart Valor","RING":"RingCoin","SYLO":"Sylo","MUSE":"Muse","EGG":"EggCoin","UBX":"UBIX.Network","GSWAP":"Gameswap","SRK":"SparkPoint","IPAD":"Infinity PAD","SIN":"SINOVATE","HOD":"HoDooi.com","AGRS":"Agoras Token","SHA":"Shacoin","POLK":"Polkamarkets","BETU":"BetU","BIR":"Birake","TONE":"TE-FOOD","FCON":"SpaceFalcon","MTA":"mStable Governance Token: Meta (MTA)","SMI":"SafeMoon Inu","MATTER":"AntiMatter Governance Token","UNCX":"UniCrypt","VRT":"Virtual Reality Technology","ARIA20":"Arianee","WOM":"WOM","AXC":"autoXchange","RFUEL":"RioDeFi","UPUNK":"Unicly CryptoPunks Collection","ZANO":"Zano","OLT":"OneLedger","BTC2":"Bitcoin 2","SANTOS":"Santos FC Fan Token","MTH":"Monetha","IPX":"InpulseX","RDN":"RadonPay","KMON":"Kryptomon","NEBL":"Neblio","SKEY":"Skey Network","SUTER":"suterusu","CARD":"Cardstack","OAX":"OpenANX","KYL":"Kylin","BIP":"Minter","FO":"FIBOS","CTCN":"CONTRACOIN","CND":"Cindicator","ETP":"Metaverse","AOG":"AgeOfGods","LITH":"Lith Token","ASTRO":"Astronaut","IGNIS":"Ignis","ABYSS":"The Abyss","DDIM":"DuckDaoDime","SHI":"Shirtum","ZEE":"ZeroSwap","METAPETS":"MetaPets","PLOT":"PlotX","RNO":"Earneo","NAV":"NavCoin","UMB":"Umbrella Network","CAS":"Cashaa","0xBTC":"0xBitcoin","ATM":"ATMChain","IFC":"Infinite Coin","VISR":"Visor.Finance","vSXP":"Venus SXP","TRA":"Tetra","PSP":"ParaSwap","TON":"Tokamak Network","AOA":"Angolan Kwanza","WIKEN":"Project WITH","FCT":"Factoids","SARCO":"Sarcophagus","DHT":"DeHedge Token","MAHA":"MahaDAO","BLP":"BullPerks","SENATE":"SENATE DAO","eRSDL":"unFederalReserve","RINGX":"RING X PLATFORM","SENSO":"SENSO","REVO":"Revomon","WELL":"Well","PHB":"Phoenix Global (new)","BFT":"BF Token","vLTC":"Venus LTC","SPI":"Shopping","CWV":"CryptoWave","STARSHIP":"STARSHIP","vLINK":"Venus LINK","HPT":"Huobi Pool Token","FXF":"Finxflo","ANCT":"Anchor","BHAO":"Bithao","BCMC":"Blockchain Monster Hunt","NXT":"Nxt","DFYN":"Dfyn Network","NCASH":"Nucleus Vision","ORION":"Orion Money","APM":"apM Coin","CRON":"Cryptocean","GHC":"Ghanaian Cedi","JULD":"JulSwap","CONV":"Convergence","MITX":"Morpheus Infrastructure Token","DBC":"DeepBrain Chain","CWS":"Seascape Crowns","TEN":"Tokenomy","GAL":"Project Galaxy","ROOBEE":"ROOBEE","CHNG":"Chainge","PAY":"TenX","TULIP":"Tulip Protocol","MDA":"Moeda","CUMMIES":"CumRocket","TRIAS":"Trias Token (new)","FREE":"FREE coin","MEME":"Pepe","MSB":"Misbloc","EOSC":"EOS Force","VIDYA":"Vidya","SLICE":"Tranche Finance","TRV":"Travel Coin","CHP":"CoinPoker Token","DXL":"Dexlab","$ANRX":"AnRKey X","EXNT":"ExNetwork Token","TAU":"Lamden Tau","mSLV":"Mirrored iShares Silver Trust","SCC":"StockChain Coin","XDOGE":"ClassicDoge","LIGHT":"Lightning","RPG":"Revolve Games","FKX":"FortKnoxster","GZONE":"GameZone","BLY":"Blocery","TRUE":"True Chain","AWC":"Atomic Wallet Coin","CS":"CryptoSpots","JUV":"Juventus Fan Token","PRISM":"Prism","BAAS":"BaaSid","PZM":"Prizm","LEVL":"Levolution","ENQ":"Enecuum","ANW":"Anchor Neural World","SWOP":"Swop","BTCP":"Bitcoin Private","FRM":"Ferrum Network","mTSLA":"Mirrored Tesla","PCL":"Peculium","KLO":"Kalao","VDL":"Vidulum","MOD":"Modum","NVT":"NerveNetwork","IDV":"Idavoll Network","FINA":"Defina Finance","XRT":"Robonomics.network","KROM":"Kromatika","ADAPAD":"ADAPad","IBP":"Innovation Blockchain Payment","STA":"Starta","MCB":"MyCryptoBank","TRIX":"TriumphX","DOGGY":"DOGGY","DAFI":"DAFI Protocol","XEND":"Xend Finance","SLT":"Social Lending Network","STRP":"Strips Finance","SALT":"Salt Lending","FARA":"FaraLand","LABS":"LABS Group","DPS":"DEEPSPACE","ADK":"Aidos Kuneen","TARA":"Taraxa","CBC":"CashBet Coin","mAAPL":"Mirrored Apple","PACOCA":"Pacoca","UNB":"UnbreakableCoin","BMI":"Bridge Mutual","RAE":"Receive Access Ecosystem","WAG":"WagyuSwap","LUS":"Luna Rush","mQQQ":"Mirrored Invesco QQQ Trust","GMB":"GAMB","MYST":"Mysterium","PETS":"MicroPets","STAK":"Straks","ACT":"ACT","JGN":"Juggernaut","KCCPAD":"KCCPAD","DCN":"Dentacoin","LCC":"LitecoinCash","COV":"Covesting","NPXSXEM":"Pundi X NEM","KTN":"Kattana","GLC":"GlobalCoin","LAMB":"Lambda","ZOO":"ZooCoin","CHICKS":"SolChicks Token","TFT":"ThreeFold","XRUNE":"Thorstarter","DON":"DonationCoin","GRO":"Gron Digital","SNM":"SONM","PBX":"Paribus","APY":"APY.Finance","LNC":"BlockLancer","XSN":"Stakenet","GRLC":"Garlicoin","GEEQ":"Geeq","EBEN":"Green Ben","PPAY":"Plasma Finance","DOE":"Dogs Of Elon","GTON":"Graviton","KINGSHIB":"King Shiba","SWASH":"Swash","RAINBOW":"Rainbow Token","mBABA":"Mirrored Alibaba","ODDZ":"Oddz","DMD":"Diamond","WEST":"Waves Enterprise","WOOF":"WOOF","NOW":"NOW Token","PING":"CryptoPing","VIB":"Viberate","DEC":"Darico","BNC":"Benjacoin","ASR":"AS Roma Fan Token","TXA":"Project TXA","ARCONA":"Arcona","NFTD":"NFTrade","PI":"Plian","NORD":"Nord Finance","BIRD":"Birdchain","MONI":"Monsta Infinite","EZ":"EasyFi","WOW":"WOWswap","OOKS":"Onooks","CARBON":"Carboncoin","IDNA":"Idena","COR":"Corion","BASID":"Basid Coin","DTEP":"DECOIN","FIN":"Finom FIN Token","BONDLY":"Bondly","MTRG":"Meter Governance","ARMOR":"ARMOR","FNDZ":"FNDZ","vDOT":"Venus DOT","BIN":"Binemon","TOWER":"TOWER","KONO":"Konomi Network","BMON":"Binamon","KCAL":"Phantasma Energy","APIX":"APIX","GHOST":"GHOSTPRISM","TKN":"TokenCard","WSG":"Wall Street Games","mAMZN":"Mirrored Amazon","EMC2":"Einsteinium","YOYOW":"Yoyow","EDEN":"Eden","KALM":"Kalmar","ETHPAD":"ETHPad","CLH":"ClearDAO","JOB":"Jobchain","SNY":"Synthetify","TCP":"The Crypto Prophecies","mUSO":"Mirrored United States Oil Fund","BTCZ":"BitcoinZ","MBN":"Membrana","VPP":"Virtue Poker","IDLE":"Idle","LUA":"LuaSwap","BOTTO":"Botto","ATT":"Aeternum","BAO":"Bao Finance","PAI":"PCHAIN","HVN":"Hiveterminal Token","mMSFT":"Mirrored Microsoft","BONE":"Bone ShibaSwap","vDAI":"Venus DAI","ESD":"Empty Set Dollar","UBXT":"UpBots","HORD":"Hord","SFT":"SportsFix","ARDX":"ArdCoin","BEM":"BEMIL Coin","PLSPAD":"PulsePad","AMLT":"AMLT","LIME":"iMe Lab","SKILL":"CryptoBlades","ISP":"Ispolink","FST":"FastCoin","EUNO":"EUNO","CGT":"Coingrid","XY":"XY Finance","MEDA":"Medacoin","CIRUS":"Cirus Foundation","LZ":"LaunchZone","EQZ":"Equalizer","GTH":"Gather","VIBE":"VIBEHub","FINE":"Refinable","CFi":"CyberFi Token","DTX":"DataBroker DAO","HORUS":"HorusPay","SWINGBY":"Swingby","TOP":"Tongan Pa'anga","DYP":"DeFi Yield Protocol","PAWTH":"Pawthereum","COMBO":"Furucombo","BRZE":"Breezecoin","ALY":"ALLY","FB":"Facebook tokenized stock FTX","SKU":"Sakura","DEXA":"DEXA COIN","PKR":"Pakistani Rupee","NABOX":"Nabox","RCN":"Ripio","FEVR":"RealFevr","1-UP":"1-UP Platform","QLC":"QLC Chain","GLQ":"Graphlinq Protocol","ZT":"ZB Global","NFTI":"NFT Index","LAYER":"UniLayer","BOX":"ContentBox","SKY":"Skycoin","SMT":"Social Media Market","BLOCK":"BlockNet","OIN":"OIN Finance","DOSE":"DOSE","MOOV":"Dotmoovs","RHYTHM":"Rhythm","QCX":"QuickX Protocol","YFL":"YF Link","BCDT":"Blockchain Certified Data Token","GATE":"GATE","UBQ":"Ubiq","WGR":"Wagerr","FAIR":"FairCoin","mNFLX":"Mirrored Netflix","AAB":"AAX Token","TXL":"Tixl","MASQ":"MASQ","BOLT":"BOLT","YUSRA":"YUSRA","CRP":"CropperFinance","KOM":"Kommunitas","CVR":"CoverCompared","PLAY":"HEROcoin","ICNQ":"Iconic Token","GST":"Green Satoshi Token","TOKO":"Tokoin","NPX":"Napoleon X","TFBX":"TrueFeedBack","TNC":"Trinity Network Credit","XMC":"Monero Classic","DUCK":"DuckDuckCoin","PVM":"PRIVATEUM INITIATIVE","ARA":"Adora Token","TRADE":"Unitrade","BITCNY":"bitCNY","FLG":"Folgory Coin","XNL":"Chronicle","NANJ":"NANJCOIN","RENA":"Warena","OG":"OG Fan Token","VAB":"Vabble","CVT":"CyberVein","RAZOR":"Razor Network","HAKKA":"Hakka.Finance","GRC":"GridCoin","ACE":"TokenStars","BUY":"Buying.com","MAN":"People","ACK":"AcknoLedger","UFC":"UFC Fan Token","AFC":"Arsenal Fan Token","TFL":"True Flip Lottery","YOP":"Yield Optimization Platform & Protocol","EQUAD":"QuadrantProtocol","CMERGE":"CoinMerge (BEP-20)","mTWTR":"Mirrored Twitter","INSTAR":"Insights Network","KAT":"KATZcoin","SHOPX":"Splyt","TKING":"Tiger King","EFX":"The EFFECT Network","PWAR":"PolkaWar","NAFT":"Nafter","OLY":"Olyseum","NYC":"NewYorkCoin","LYM":"Lympo","HYVE":"Hyve","CTI":"ClinTex CTi","VEST":"VestChain","YAM":"YAM V3","UDO":"Unido EP","CAPP":"Cappasity","DOUGH":"PieDAO DOUGH v2","GIG":"GigCoin","RYOSHI":"Ryoshis Vision","HGET":"Hedget","XFC":"Forever Coin","S4F":"S4FE","CYC":"ConSpiracy Coin","VDG":"VeriDocGlobal","GENRE":"GENRE","RVF":"RocketX","SWRV":"Swerve","LFW":"Legend of Fantasy War","BANK":"Float Protocol (Bank)","LUFC":"Leeds United Fan Token","INT":"Internet Node Token","LAUNCH":"SuperLauncher","WEBD":"WebDollar","KEX":"KexCoin","LOWB":"Loser Coin","DINO":"DinoExchange","EXM":"EXMO Coin","MRX":"Metrix Coin","BIX":"BiboxCoin","DNA":"EncrypGen","URQA":"UREEQA","HBX":"Hyperbridge","EGT":"Egretia","BSCS":"BSC Station","PTF":"PowerTrade Fuel","SATT":"SaTT","TERC":"TronEuropeRewardCoin","AXIS":"LaneAxis","REPO":"Repo Coin","IF":"Impossible Finance","METAX":"MetaverseX","IGG":"IG Gold","MENGO":"Flamengo Fan Token","CMT":"CyberMiles","STPL":"Stream Protocol","VSO":"Verso","NLG":"Dutch Guilder","STND":"Standard Protocol","CRACE":"Coinracer","LAND":"Landbox","FEAR":"Fear","ARES":"Ares Protocol","OPIUM":"Opium","TNB":"Time New Bank","SHARD":"ShardCoin","WHITE":"Whiteheart","RAZE":"Raze Network","MIST":"Alchemist","COOK":"Cook Finance","ONION":"DeepOnion","YFIII":"DiFy.Finance","PRT":"Papusha","BIS":"Bismuth","MASS":"Mass.Cloud","LANC":"Lanceria","1EARTH":"EarthFund","TKS":"Tokes","BDP":"Bidipass","DINU":"Dogey-Inu","BBANK":"blockbank","DPET":"My DeFi Pet","SMARTCREDIT":"SmartCredit Token","PROS":"ProSwap","LBA":"Libra Credit","PLR":"Pillar","ISIKC":"Isiklar Coin","LOCG":"LOCGame","BRKL":"Brokoli Network","DAPP":"LiquidApps","XIO":"Blockzero Labs","HZN":"Horizon Protocol","VIN":"VinChain","PVU":"Plant Vs Undead","TYPE":"Typerium","UNISTAKE":"Unistake","RUFF":"Ruff","SFX":"SUBX FINANCE LAB","CSP":"Caspian","BID":"BidCoin","RIO":"Realio Network","OCTO":"OctoCoin","QRK":"QuarkCoin","SPC":"SpinCoin","PIN":"Public Index Network","TREAT":"Treat DAO [old]","AAC":"Acute Angle Cloud","SPORE":"Spore","HTD":"HeroesTD","L2":"Leverj Gluon","PAT":"PATRON","BOOM":"BOOM","VNLA":"Vanilla Network","DDL":"Donocle","TRTT":"Trittium","RTH":"Rotharium","EMC":"Emercoin","ILC":"ILCoin","FAT":"Fatcoin","YEC":"Ycash","BHC":"BighanCoin","NIOX":"Autonio","PLC":"PlusCoin","MCM":"Mochimo","HTML":"HTML Coin","CSM":"Crust Shadow","ZEFU":"Zenfuse","SMART":"SmartCash","RHT":"Reward Hunters Token","CCX":"CoolDarkCoin","ITC":"IoT Chain","KICK":"KickCoin","SPWN":"Bitspawn","ETHO":"ETHER-1","VLXPAD":"VelasPad","1WO":"1World","RAVEN":"Raven Protocol","EOSDT":"EOSDT","TX":"Transfer","VEX":"Vexanium","CV":"CarVertical","LBTC":"LiteBitcoin","TYC":"Tycoon","BIST":"Bistroo","OTO":"OTOCASH","SNC":"SunContract","SRN":"SirinLabs","INEX":"Inex Project","CRD":"CRD Network","NEXT":"Next.exchange Token","SFD":"SAFE DEAL","YUMMY":"YUMMY","PMA":"PumaPay","PEPS":"PEPS Coin","SPH":"Spheroid Universe","TRAVA":"TRAVA.FINANCE","XSUTER":"xSuter","DOP":"Dominican Peso","RET":"RealTract","ARG":"Argentum","LOG":"Wood Coin","DAX":"DAEX","SEELE":"Seele","NEWS":"PUBLISH","NDX":"Indexed Finance","PUPPY":"Shar Pei","YAE":"Cryptonovae","VIA":"ViaCoin","UMX":"UniMex Network","MARSH":"UnMarshal","CNTR":"Centaur","AEON":"AEON","DDOS":"disBalancer","GLEEC":"Gleec","CPC":"CapriCoin","KABY":"Kaby Arena","TKP":"TOKPIE","ITGR":"Integral","8PAY":"8PAY","ELAMA":"Elamachain","PERI":"PERI Finance","BTB":"BitBar","FAM":"Famcentral","TERA":"TERA","HPB":"High Performance Blockchain","SKM":"Skrumble Network","FTC":"FeatherCoin","XTAG":"xHashtag DAO","REDPANDA":"Redpanda Earth","HELMET":"Helmet.insure","PWR":"PWR Coin","UAXIE":"Unicly Mystic Axies Collection","ZAP":"Zap","NAX":"NextDAO","OPEN":"Open Platform","XPM":"PrimeCoin","MTN":"TrackNetToken","NRP":"Neural Protocol","KKO":"Kineko","BYN":"Belarusian Ruble","TKY":"THEKEY Token","UDOO":"Howdoo","CRBN":"Carbon","GDAO":"Governor DAO","GSC":"Global Social Chain","TRTL":"TurtleCoin","QDAO":"Q DAO Governance token v1.0","APYS":"APYSwap","AXPR":"aXpire","MODIC":"Modern Investment Coin","LET":"LinkEye","UTU":"UTU Protocol","2CRZ":"2crazyNFT","XCHF":"CryptoFranc","FORM":"Formation Fi","UCA":"UCA Coin","ASKO":"ASKO","RXS":"Rune Shards","VCF":"Valencia CF Fan Token","SPO":"Spores Network","APPC":"AppCoins","EM":"Eminer","GIO":"Graviocoin","TCS":"Timechain Swap Token","ODIN":"ODIN PROTOCOL","WTF":"WTF Token","SUMO":"Sumokoin","YOU":"YOU COIN","WPR":"WePower","TELOS":"Teloscoin","CPT":"Cryptaur","LINKA":"LINKA","WNT":"Wicrypt","BTX":"Bitcore","XST":"StealthCoin","ZOON":"CryptoZoon","OCE":"OceanEx Token","IDEA":"Ideaology","FYD":"FYDcoin","WATCH":"yieldwatch","SYNC":"SyncCoin","WNL":"WinStars.live","LEDU":"Education Ecosystem","VIDY":"Vidy","CRWNY":"Crowny","MAT":"MiniApps","OCN":"Odyssey","CLOAK":"CloakCoin","TOC":"TouchCon","EFL":"E-Gulden","1X2":"1X2 COIN","XHI":"HiCoin","PHNX":"PhoenixDAO","ESS":"Essentia","DOWS":"Shadows","SILVA":"Silva Token","PMGT":"Perth Mint Gold Token","PROPS":"Props","MCASH":"Mcashchain","DVC":"DevCoin","KTON":"Darwinia Commitment Token","DGX":"Digix Gold token","CNS":"Centric Swap","CHADS":"CHADS VC","OMNI":"Omni","MONK":"Monkey Project","XAUR":"Xaurum","HIT":"HitChain","LML":"Link Machine Learning","AG8":"AtromG8","LND":"Lendingblock","DRF":"Drife","CAJ":"Cajutel","GEN":"Genstake","EBA":"Elpis Battle","ΤBTC":"τBitcoin","KT":"KingdomX","AIT":"AIChain Token","SNOB":"Snowball","HNST":"Honest","XSR":"Xensor","DYN":"Dynamic","SCCP":"S.C. Corinthians Fan Token","eYe":"MeDIA eYe NFT Portal","XCASH":"X-CASH","XDN":"DigitalNote","TSX":"TradeStars","FJC":"FujiCoin","BCUBE":"B-cube.ai","UFR":"Upfiring","OWC":"Oduwa","AVL":"Aston Villa Fan Token","FSW":"Falconswap","AM":"AeroMe","DEV":"Deviant Coin","TCC":"The ChampCoin","BLK":"BlackCoin","BOMB":"BombCoin","BHD":"Bahraini Dinar","FAB":"Fabric","EFC":"Everton Fan Token","MDS":"MediShares","EDN":"EdenChain","UIP":"UnlimitedIP","DITTO":"Ditto","ADABOY":"ADA BOY","AUC":"Auctus","FS":"FantomStarter","KAMPAY":"KamPay","SAO":"Sator","TAD":"Tadpole Finance","POT":"PotCoin","SHIBX":"SHIBAVAX","LKR":"Sri Lankan Rupee","HUSH":"Hush","GVT":"Genesis Vision","ESBC":"ESBC","XRC":"xRhodium","D":"Denarius","APN":"Apron Network","ONX":"Onix","WORLD":"World Token","DAC":"DACash","SWM":"Swarm Fund","EARNX":"EarnX","DOS":"DOS Network","PUT":"PutinCoin","SEEN":"SEEN","MAKI":"MakiSwap","CURE":"Curecoin","TIPS":"FedoraCoin","EBST":"eBoost","OST":"Simple Token","ZUSD":"ZUSD","DMG":"DMM: Governance","DGTX":"Digitex Futures","CHX":"Chainium","ADD":"Add.xyz","TIDAL":"Tidal Finance","FCL":"Fractal","ASPO":"ASPO World","JRT":"Jarvis Network","TRIO":"Tripio","COLX":"ColossusCoinXT","BLINK":"BLink","HANDY":"Handy","HMQ":"Humaniq","CLS":"Coldstack","BXX":"Baanx","XAMP":"Antiample","GALO":"Clube Atlético Mineiro Fan Token","FNT":"Falcon Project","PIST":"PIST TRUST","POR":"Portugal National Team Fan Token","SMG":"Smaugs NFT","CAT":"Catcoin","AME":"AMEPAY","BANKER":"BankerDoge","CRE8":"Creaticles","BZE":"BZEdge","ETGP":"Ethereum Gold Project","PINK":"PinkCoin","MINTME":"MintMe.com Coin","RYO":"Ryo","ATL":"ATLANT","AMN":"Amon","SOLX":"Soldex","MILK2":"Spaceswap MILK2","ORS":"ORS Group","BAC":"BitalphaCoin","ETNA":"ETNA Network","GOF":"Golff","EVED":"Evedo","MND":"MindCoin","NYZO":"Nyzo","BXC":"BtcEX","SNET":"Snetwork","OML":"Omlira","XPC":"eXPerience Chain","ROYA":"Royale Finance","PAINT":"MurAll","NTK":"Neurotoken","KNDC":"KanadeCoin","FF":"Forefront","THC":"The Hempcoin","SNB":"SynchroBitcoin","IETH":"iEthereum","XPNET":"XP NETWORK","SAKE":"SakeToken","ROCKI":"ROCKI","MVP":"Merculet","GOT":"Giotto Coin","SAM":"Samsunspor Fan Token","WINGS":"Wings DAO","SAUBER":"Alfa Romeo Racing ORLEN Fan Token","ASAP":"Chainswap","PGT":"Puregold token","DIME":"DimeCoin","XPN":"PANTHEON X","BP":"BunnyPark","GENESIS":"Genesis Worlds","ISA":"Islander","YBO":"Young Boys Fan Token","FTX":"FintruX","SIGN":"Signature Chain","NRV":"Nerve Finance","LANA":"LanaCoin","BHO":"Bholdus","SIMP":"SIMP Token","DDD":"Scry.info","CORN":"CORN","IXC":"IXcoin","JADE":"Jade Protocol","PHR":"Phreak","PXL":"Phalanx","PST":"Primas","DAV":"DavorCoin","LEAD":"Lead Wallet","SYP":"Syrian Pound","AVXT":"Avaxtars Token","IOC":"IOCoin","DYNA":"Dynamix","PEOS":"pEOS","BLAST":"BLAST","BCA":"Bitcoin Atom","NUX":"Peanut","PCNT":"Playcent","TOL":"Tolar","KNIGHT":"Forest Knight","GOZ":"Göztepe S.K. Fan Token","WARP":"WarpCoin","UMASK":"Unicly Hashmasks Collection","CHEEMS":"Cheems","DRC":"Dropcoin","DEPAY":"DePay","PAD":"NearPad","SPFC":"Sao Paulo FC Fan Token","FUND":"Fund Platform","KART":"Dragon Kart","SDT":"Stake DAO","WSPP":"Wolf Safe Poor People (Polygon)","XBC":"BitcoinPlus","XLA":"Scala","XMY":"MyriadCoin","KCASH":"Kcash","BITD":"8Bit Doge","YEE":"Yee","TNS":"Terra Name Service","VEIL":"Veil","KANGAL":"Kangal","IMT":"MoneyToken","SXUT":"SPECTRE Utility Token","PXC":"PhoenixCoin","FYP":"FlypMe","TUP":"TenUp","ADM":"Adamant","NIFT":"Niftify","XTP":"Tap","AYA":"Aryacoin","VLD":"Valid","KEYFI":"KeyFi","CTT":"CodeTract","ADB":"Adbank","KRB":"Karbo","WELT":"Fabwelt","vBCH":"Venus BCH","EDR":"E-Dinar Coin","XMX":"XMax","WISH":"MyWish","NFY":"Non-Fungible Yearn","LOOT":"Police and Thief Game","POLI":"Polinate","MGO":"MobileGo","CHAT":"OpenChat","SCR":"Seychellois Rupee","BITS":"BitstarCoin","LOBS":"Lobstex","LTHN":"Lethean","BOB":"Bolivian Bolíviano","SHIP":"ShipChain","STZEN":"StakedZEN","AIRI":"aiRight","DFSG":"DFSocial Gaming","CRW":"Crown Coin","BCUG":"Blockchain Cuties Universe Governance","DEFI++":"PieDAO DEFI++","ZER":"Zero","HTN":"Heart Number","AMON":"AmonD","LXT":"Litex","VAULT":"VAULT","SUB":"Substratum Network","N8V":"NativeCoin","ATP":"ArtPro","DOKI":"Doki Doki Finance","MAX":"MaxCoin","DTA":"Data","TUBE":"BitTube","MXX":"Multiplier","SNOW":"SnowSwap","STM":"Streamity","INFI":"Insured Finance","ELAND":"Etherland","AIRT":"Aircraft","GS":"Genesis Shards","A":"Alpha Token","CVN":"CVCoin","ALN":"AlienCoin","TPAY":"TokenPay","OK":"OKCash","OLXA":"OLXA","MUE":"MonetaryUnit","CORA":"Corra.Finance","ZUKI":"Zuki Moba","RVL":"REVIVAL","LCS":"LocalCoinSwap","GARD":"Hashgard","XCT":"C-Bits","X8X":"X8Currency","PLF":"PlayFuel","HGOLD":"HollyGold","KALA":"Kalata","BRY":"Berry Data","COT":"CoTrader","RVC":"Revenue Coin","YF-DAI":"YFDAI.FINANCE","XIV":"Project Inverse","VIG":"TheVig","BITX":"BitScreener","MOMA":"Mochi Market","DVP":"Decentralized Vulnerability Platform","MTLX":"Mettalex","GEO":"GeoCoin","TRST":"TrustCoin","VDR":"Vodra","QCH":"QChi","SONO":"SONO","EVX":"Everex","PFL":"Professional Fighters League Fan Token","VIPS":"Vipstar Coin","DEFIT":"Digital Fitness","HYDRO":"Hydrogen","TRC":"TerraCoin","CORGIB":"The Corgi of PolkaBridge","PHI":"PHI Token","TN":"TurtleNetwork","DRT":"DomRaider","NCDT":"Nuco.cloud","BATH":"Battle Hero","NAVI":"NaviAddress","HTDF":"Orient Walt","ZCL":"ZClassic","STEP":"STEP","FLIXX":"Flixxo","N1":"NFTify","BZNT":"Bezant","IBFK":"İstanbul Başakşehir Fan Token","TOTM":"TotemFi","STV":"Sativa Coin","RELI":"Relite Finance","STAR":"Starbase","UBEX":"Ubex","ROOM":"OptionRoom","AZ":"Azbit","KP4R":"Keep4r","BNU":"ByteNext","MNE":"Minereum","LDFI":"Lendefi","TAP":"TappingCoin","SHAKE":"Spaceswap SHAKE","PPP":"PayPie","DEB":"Debitum Token","PRCY":"PRCY Coin","AITRA":"Aitra","UCH":"Universidad de Chile Fan Token","PHT":"Photon Token","FOUR":"4THPILLAR TECHNOLOGIES","OGO":"VogoV","KIT":"DexKit","MNTT":"MoonTrust","ZXC":"Oxcert","BECN":"Beacon","EXE":"ExeCoin","ARGON":"Argon","SPHTX":"SophiaTX","ECOM":"Omnitude","PPBLZ":"Pepemon Pepeballs","EOSDAC":"eosDAC","FERA":"Fera","UFARM":"UniFarm","CPO":"Cryptopolis","MOTO":"Motocoin","MBC":"My Big Coin","2KEY":"2key.network","BXY":"Beaxy","OKS":"Oikos","KTLYO":"Katalyo","CLR":"CopperLark","CANN":"CannabisCoin","UUU":"U Network","DAPS":"DAPS Token","BUZZ":"BuzzCoin","CFL":"CryptoFlow","SS":"Sharder","DEAL":"iDealCash","BLKC":"BlackHat","COIN":"Coinvest","DPY":"Delphy","GEAR":"MetaGear","RBT":"Rimbit","NAME":"PolkaDomain","YAXIS":"yAxis","QUIN":"QUINADS","MOWA":"Moniwar","NBOT":"Naka Bodhi Token","PTOY":"Patientory","KWT":"Kawaii Islands","DMT":"DMarket","DOGEC":"DogeCash","NIX":"NIX","VNT":"Veredictum","PAYB":"Paybswap","SPD":"Stipend","GLS":"Glasscoin","VNXLU":"VNX","ETHA":"ETHA Lend","ZEBI":"Zebi Token","SIG":"Signal","CNB":"Coinsbit Token","TENT":"TENT","OSWAP":"OpenSwap","COFI":"CoinFi","WG0":"Wrapped Gen-0 CryptoKitties","MIB":"Mobile Integrated Blockchain","BUNI":"Bunicorn","FOC":"TheForce Trade","ENG":"Enigma","QWC":"Qwertycoin","IND":"Indorse","FACE":"Faceter","MARK":"Benchmark Protocol","VIKKY":"VikkyToken","BEER":"BEER Coin","XPD":"Palladium Ounce","RNT":"OneRoot Network","RBLX":"Rublix","LEG":"Legia Warsaw Fan Token","GCC":"GuccioneCoin","ARGO":"ArGo","VIP":"VIP Tokens","ROGUE":"Rogue West","NSR":"NuShares","PASC":"Pascal Coin","EQL":"EQUAL","CERES":"Ceres","NDR":"Node Runners","PAR":"Parlay","SETH":"Sether","BGL":"Buglab","yTSLA":"yTSLA Finance","BITB":"Bean Cash","ALL":"Albanian Lek","EKT":"EDUCare","XBP":"Black Pearl Coin","AMA":"Mrweb Finance","DWEB":"DecentraWeb","IONC":"IONChain","YIELD":"Yield Protocol","BANCA":"BANCA","HTZ":"Hertz Network","TCH":"TigerCash","RED":"Redcoin","CRX":"ChronosCoin","ELEC":"Electrify.Asia","ZUM":"ZumCoin","ZORA":"Zoracles","NCC":"NeuroChain","SKB":"SkullBuzz","DFS":"Digital Fantasy Sports","BLU":"BlueCoin","ROAD":"ROAD","L3P":"Lepricon","DIT":"Ditcoin","VRC":"VeriCoin","PIZZA":"PizzaCoin","PYM":"Playermon","GFUN":"GoldFund","FIC":"Filecash","USDS":"StableUSD","GUM":"Gourmet Galaxy","BNF":"BonFi","ZNZ":"ZENZO","OCT":"OracleChain","KFT":"Knit Finance","GMAT":"GoWithMi","CAI":"Club Atletico Independiente","HYC":"HYCON","ARQ":"ArQmA","GMC":"Gridmaster","FRKT":"FRAKT Token","FDZ":"Friendz","RATING":"DPRating","IOEN":"Internet of Energy Network","MCT":"1717 Masonic Commemorative Token","RAGE":"Rage Fan","SWACE":"Swace","KDG":"Kingdom Game 4.0","INK":"Ink","ETHYS":"Ethereum Stake","KGO":"KIWIGO","CLAM":"CLAMS","SET":"Securosys","TTN":"TITA Project","LYNC":"LYNC Network","ZENI":"Zennies","XIOT":"Xiotri","XGT":"Xion Finance","NAAL":"Ethernaal","2LC":"2local","TANGO":"TangoSwap","ADC":"AudioCoin","DHV":"DeHive","IHT":"I-House Token","ORAO":"ORAO Network","REM":"REMME","SSTX":"Silver Stonks","GSAIL":"SolanaSail Governance Token","BAG":"BondAppétit Governance Token","DTH":"Dether","BALPHA":"bAlpha","KOBO":"KoboCoin","MES":"MesChain","JAR":"Jarvis+","DZG":"Dinamo Zagreb Fan Token","ZPT":"Zeepin","DYT":"The Dynasty","DOGES":"Dogeswap","TONS":"Thisoption","XLT":"Nexalt","SHOE":"ShoeFy","HOMI":"HOMIHELP","PYLON":"Pylon Finance","CUR":"Cura Network","PGN":"Pigeoncoin","FUEL":"Etherparty","PIPT":"Power Index Pool Token","CDL":"CoinDeal Token","KWS":"Knight War - The Holy Trio","AC":"Asia Coin","BTO":"Bottos","GRG":"RigoBlock","MNC":"MainCoin","SFUEL":"SparkPoint Fuel","RENDOGE":"renDOGE","CUMSTAR":"CumStar","SCB":"Space Cow Boy","LEPA":"Lepasa","DONUT":"Donut","BOBO":"Bobo Cash","CCN":"CannaCoin","RMT":"SureRemit","BDS":"Big Digital Shares","SHIELD":"Crypto Shield","BITG":"Bitcoin Green","BPS":"BitcoinPoS","FLOT":"FireLotto","LONDON":"$LONDON","DVD":"DAOventures","COLL":"Collateral Pay","WCK":"Wrapped Basic CryptoKitties","QBT":"Cubits","BREW":"CafeSwap Token","ETHY":"Ethereum Yield","NVC":"NovaCoin","BC":"Beverage.cash","AZUKI":"Azuki","FONT":"Font","ALA":"Alanyaspor Fan Token","VGW":"VegaWallet Token","TTH":"TetraHedra","SWT":"Swarm City Token","GFX":"Galaxy Force X","EMD":"Emerald","WQT":"WorkQuest Token","FREED":"Freedomcoin","MNTP":"GoldMint","SMC":"SmartCoin","CATT":"Catex","RASKO":"rASKO","CBM":"CryptoBonusMiles","ACAT":"Alphacat","HQX":"HOQU","MOONS":"MoonTools","IXT":"iXledger","PVT":"Pivot Token","MSR":"Masari","CTASK":"CryptoTask","PIRATE":"PirateCash","IFT":"InvestFeed","VIT":"Vice Industry Token","RFI":"reflect.finance","TH":"Team Heretics Fan Token","TIK":"ChronoBase","SHARE":"Seigniorage Shares","DACS":"DACSEE","TCORE":"Tornado","AFEN":"AFEN Blockchain","ARATA":"Arata","NSURE":"Nsure.Network","XLAB":"XcelToken Plus","HSC":"HashCoin","BART":"BarterTrade","XNK":"Ink Protocol","MODX":"MODEL-X-coin","CREA":"CreativeChain","SMLY":"SmileyCoin","NINO":"Ninneko","HEROEGG":"HeroFi","NBX":"Noxbox","RMPL":"RMPL","1MT":"1Million Token","SNRG":"Synergy","WTN":"Waletoken","ORB":"Orbitcoin","PTD":"Peseta Digital","XCN":"Chain","NETKO":"Netko","DOPE":"DopeCoin","SHDW":"GenesysGo Shadow","LMY":"LunchMoney","EXP":"Expanse","CHONK":"Chonk","UBN":"Ubricoin","RPZX":"Rapidz","EXCL":"Exclusive Coin","PIPL":"PiplCoin","GPYX":"GoldenPyrex","KICKS":"Sessia","HEAT":"Heat Ledger","XAS":"Asch","ZUT":"Zero Utility Token","TRL":"Turkish Lira","JET":"Jetcoin","RONINGMZ":"Ronin Gamez","UGAS":"UGAS","IRD":"Iridium","AID":"AidCoin","PASS":"Blockpass","DDK":"DDKoin","ATMOS":"Atmos","PHX":"Red Pulse Phoenix","UPX":"uPlexa","COGI":"9D NFT","RITO":"Ritocoin","DOGEFI":"DOGEFI","SIB":"SibCoin","BWX":"Blue Whale EXchange","SWING":"SwingCoin","SSP":"South Sudanese Pound","KUV":"Kuverit","EGEM":"EtherGem","YSEC":"Yearn Secure","FRC":"FireRoosterCoin","MANNA":"Manna","GEM":"Gems","BITTO":"BITTO","BBP":"BiblePay","VOX":"Vox.Finance","OWN":"OWNDATA","NASH":"NeoWorld Cash","SACT":"srnArt Gallery","FXT":"FuzeX","TROLL":"Trollcoin","SMTY":"Smoothy","SHND":"StrongHands","TAG":"TagCoin","ETG":"Ethereum Gold","QRT":"Qrkita Token","DAM":"Datamine","BNTY":"Bounty0x","NOV":"Novara Calcio Fan Token","PRARE":"POLKARARE","CROAT":"Croat","SOTA":"SOTA Finance","DGC":"DigiCoin","SCONEX":"Sportcash One","KFX":"KnoxFS (New)","GOLD":"Golden Token","ESCE":"Escroco Emerald","STKR":"StakerDAO","POE":"Po.et","ENT":"Eternity","BCPT":"BlockMason Credit Protocol","EOST":"EOS TRUST","DCTO":"Decentralized Crypto Token","FLTY":"Fluity","2GIVE":"2GiveCoin","BMH":"BlockMesh","ZET":"ZetaCoin","MMO":"MMOCoin","EVY":"EveryCoin ","KIMCHI":"KIMCHI.finance","ZSC":"Zeusshield","DLT":"Agrello Delta","PAK":"Pakcoin","BTZC":"BeatzCoin","ION":"Ionomy","XNV":"Nerva","DAY":"Chronologic","WFX":"Webflix Token","BLUE":"Ethereum Blue","BTA":"Bata","MTHD":"Method Finance","MOTA":"MotaCoin","CNN":"Content Neutrality Network","PYRO":"PYRO Network","FTI":"FansTime","PKT":"Playkey","ZDR":"Zloadr","XLR":"Solaris","TYPH":"Typhoon Network","ROUSH":"Roush Fenway Racing Fan Token","DML":"Decentralized Machine Learning","CREDIT":"Credit","SOAR":"Soarcoin","UP":"UpToken","ALI":"Alethea Artificial Liquid Intelligence Token","CORX":"CorionX","SAMU":"Samusky","ESH":"Switch","UNV":"Unvest","CO2":"CO2 Token","RNBW":"HaloDAO","BERRY":"Rentberry","aWSB":"aWSB","CMCT":"Crowd Machine","MEC":"MegaCoin","IC":"Ignition","KUE":"Kuende","MEETONE":"MEET.ONE","RVT":"Rivetz","SND":"Sandcoin","BCV":"BCV Blue Chip","XBY":"XTRABYTES","LUN":"Lunyr","SENC":"Sentinel Chain","LEV":"Leverj","ETI":"EtherInc","BASE":"Base Protocol","UDOKI":"Unicly Doki Doki Collection","RBIES":"Rubies","MEL":"Melior AI","XWP":"Swap","COB":"Cobinhood","AUX":"Auxilium","ATCC":"ATC Coin","WINR":"JustBet","ARCO":"AquariusCoin","LYRA":"Scrypta","CJ":"CryptoJacks","BUNNY":"Pancake Bunny","WOWS":"Wolves of Wall Street","RGP":"Rigel Protocol","MPAY":"Menapay","INVE":"InterValue","CHART":"BetOnChart","KOMBAT":"Crypto Kombat","TZC":"TrezarCoin","X42":"x42 Protocol","WCO":"Winco","CPAN":"CryptoPlanes","SKYRIM":"Skyrim Finance","MAS":"MidasProtocol","NBC":"Niobium","XDNA":"XDNA","TEND":"Tendies","PXG":"PlayGame","TSL":"Energo","FMT":"Finminity","ART":"Maecenas","INSN":"Insane Coin","COSM":"CosmoChain","DINGO":"DINGO TOKEN","LOCK":"Meridian Network","IOG":"Playgroundz","ZUC":"Zeux","POSW":"PoSW Coin","ANON":"ANON","DCNTR":"Decentrahub Coin","PKG":"PKG Token","BSTY":"GlobalBoost","GRFT":"Graft Blockchain","FMTA":"Fundamenta","FACTORY":"MemeCoin Factory","GBX":"Penny Sterling","AIX":"Aigang","BOUTS":"BoutsPro","LCMS":"LCMS","PLURA":"PluraCoin","METM":"MetaMorph","CNTM":"Connectome","PGO":"PengolinCoin","AMM":"MicroMoney","YVS":"YVS.Finance","RTE":"Rate3","ZCR":"ZCore","BSCV":"BSCView","HOR":"Horde","SVX":"Savix","LUX":"LUXCoin","BISON":"BiShares","XSH":"SHIELD","MOJO":"Mojocoin","HERON":"Heron Asia","ORMEUS":"Ormeus Coin","WVG0":"Wrapped Virgin Gen-0 CryptoKitties","COVA":"COVA","BBO":"Bigbom","YTN":"YENTEN","CCAKE":"CheesecakeSwap Token","DUCATO":"Ducato Protocol Token","EVIL":"EvilCoin","ATB":"ATB coin","DBET":"Decent.bet","ZLA":"Zilla","PRIX":"Privatix","NOR":"Noir","FIRE":"FireCoin","TIX":"Blocktix","EDC":"EducoinV","BTW":"BitWhite","TBX":"Tokenbox","SKIN":"Skincoin","RUP":"Rupee","ZPR":"ZPER","ALPHR":"Alphr finance","GB":"GoldBlocks","LHT":"LHT","LMT":"Lympo Market Token","BBK":"BitBlocks","UCM":"Unicly Chris McCann Collection","RPD":"Rapids","BBS":"BBSCoin","BLTG":"Block-Logic","DMST":"DMScript","EKO":"EchoLink","ITL":"Italian Lira","SFCP":"SF Capital","ELY":"Elysian","ZPAE":"ZelaaPayAE","ENTRC":"ENTER COIN","KURT":"Kurrent","ETZ":"EtherZero","CSPN":"Crypto Sports","KWATT":"4NEW","ASAFE":"AllSafe","ALP":"Alphacon","MTX":"Matryx","STBU":"Stobox Token","FBN":"Fivebalance","EVC":"Eventchain","SEPA":"Secure Pad","BOLI":"BolivarCoin","CHEESE":"CheeseFry","START":"StartCoin","CPU":"CPUchain","ELET":"Elementeum","INX":"InMax","DATX":"DATx","INNBC":"Innovative Bioresearch Coin","UBU":"UBU","TAN":"Taklimakan Network","BSL":"BankSocial","GAJ":"Gaj Finance","XPY":"PayCoin","GTM":"Gentarium","CUE":"CUE Protocol","GLT":"GlobalToken","1MIL":"1MillionNFTs","ECO":"ECOcoin","SHMN":"StrongHands Masternode","BEET":"Beetlecoin","DTRC":"Datarius","TRUST":"TrustPlus","MOF":"Molecular Future","NUTS":"Squirrel Finance","NEVA":"NevaCoin","ERK":"Eureka Coin","PEG":"PegNet","FYZ":"Fyooz","OPAL":"OpalCoin","NFXC":"NFX Coin","$ROPE":"Rope","SWIFT":"BitSwift","EVE":"Devery","TM2":"TRAXIA","SHO":"Showcase","BTDX":"Bitcloud 2.0","BITC":"BitCash","PRX":"Printerium","ISLE":"Island Coin","BTCN":"BitcoiNote","LCP":"Litecoin Plus","ERO":"Eroscoin","LLG":"Loligo","MBONK":"megaBONK","CBIX":"Cubiex","ADI":"Aditus","STEEP":"SteepCoin","AIDOC":"AI Doctor","PRIA":"PRIA","BURN":"Blockburn","FEX":"FidexToken","UNIFY":"Unify","BRO":"Bitradio","ABX":"AutoBay","DJV":"DEJAVE","ENB":"Earnbase","WAB":"WABnetwork","PFR":"PayFair","IMG":"ImageCoin","MORE":"More Token","WRC":"Worldcore","TGAME":"TrueGame","XMV":"MoneroV","ENTS":"EUNOMIA","DEM":"German Deutsche Mark","HB":"HeartBout","ARO":"Arionum","PYRK":"Pyrk","POST":"PostCoin","BOOST":"Boosted Finance","UUNICLY":"Unicly Genesis Collection","OPT":"Opus","CYMT":"CyberMusic","ZNY":"BitZeny","BLOC":"Blockcloud","OMC":"OmniCron","SCL":"Sociall","CALL":"Global Crypto Alliance","ADZ":"Adzcoin","BELA":"Bela","HLIX":"Helix","YOC":"YoCoin","REEC":"Renewable Electronic Energy Coin","MYB":"MyBit","AXE":"Axe","BGTT":"Baguette Token","TDP":"TrueDeck","GZRO":"Gravity","SINS":"SafeInsure","ALLBI":"ALL BEST ICO","BTRN":"Biotron","VOT":"Votecoin","STREAM":"Streamit Coin","FUZZ":"Fuzzballs","WCC":"WinCash","KUN":"KUN","VOTE":"Agora","PYN":"Paycentos","PLAT":"BitGuild PLAT","VIDZ":"PureVidz","USNBT":"NuBits","XUEZ":"XUEZ","FGC":"FantasyGold","XRA":"Ratecoin","ENRG":"EnergyCoin","BSD":"Bahamian Dollar","BNTX":"Bintex Futures","HERB":"HerbCoin","GRIMM":"Grimm","FNB":"FNB Protocol","EVN":"Envion","XPT":"Platinum Ounce","ELTCOIN":"ELTCOIN","VLS":"Veles","BLIZZ":"Blizzard Network","MCC":"Multi-Chain Capital (new)","BTCL":"BTC Lite","UNIT":"Universal Currency","NSD":"Nasdacoin","GCN":"gCn Coin","ICOB":"Icobid","ROCK2":"Ice Rock Mining","DMB":"Digital Money Bits","ARCT":"ArbitrageCT","IUT":"ITO Utility Token","YI12":"Yield Stake Finance","AIM":"Aimedis","BELLY":"Crypto Piece","CMM":"Commercium","CLC":"CaluraCoin","MAY":"Theresa May Coin","INN":"Innova","FRST":"FirstCoin","BPC":"BackPacker Coin","PEX":"PosEx","EVT":"EveriToken","DRM":"DoDreamChain","WDR":"Widercoin","CNRG":"CryptoEnergy","CATE":"CateCoin","DSR":"Desire","BRDG":"Bridge Protocol","DFT":"Draftcoin","ARAW":"Araw","1UP":"Uptrennd","HAND":"ShowHand","SNN":"SeChain","PAYX":"Paypex","ROFI":"HeroFi (ROFI)","DAB":"DABANKING","CCO":"Ccore","STAC":"STAC","ETHPLO":"ETHplode","HSN":"Hyper Speed Network","BRAWL":"Meta Brawl","KWIK":"Kwikswap Protocol","MICRO":"Micromines","BTCT":"Bitcoin Token","XOV":"XOVBank","SDS":"Alchemint Standards","WON":"WeBlock","TWIN":"Twinci","LASSO":"LassoCoin","C2":"Coin.2","MATE":"Mate","CNT":"Centurion","ARION":"Arion","NOTE":"Dnotes","SPK":"SparksPay","LST":"Lendroid Support Token","NPLC":"Plus-Coin","NAVY":"BoatPilot Token","BERN":"BERNcash","REW":"Rewardiqa","BCZ":"Bitcoin CZ","ZEUS":"ZeusNetwork","BBKFI":"BitBlocks Finance","SEFA":"Mesefa","SCRIV":"SCRIV NETWORK","XBTC21":"Bitcoin 21","MAC":"MachineCoin","JS":"JavaScript Token","IDT":"InvestDigital","NRVE":"Narrative","KEMA":"Kemacoin","INFS":"Infinity Esaham","ZFL":"Zuflo Coin","HAVY":"Havy","KNT":"Knekted","NTR":"Nether NFT","DLC":"DollarCoin","IMP":"Isle of Man Pound","XCO":"XCoin","XGS":"GenesisX","VIVID":"Vivid Coin","WAGE":"Digiwage","MARTK":"Martkist","KSEED":"Kush Finance","FTXT":"FUTURAX","MEDIC":"MedicCoin","EDRC":"EDRCoin","YLC":"YoloCash","TFF":"Tutti Frutti","BZX":"Bitcoin Zero","AKA":"Akroma","ZINC":"ZINC","CTRT":"Cryptrust","ACED":"AceD (old)","IG":"IG Token","SHVR":"Shivers","ARB":"Arbitrum","KIND":"Kind Ads","MDTK":"MDtoken","FUZE":"FUZE Token","ULG":"Ultragate","PNX":"PhantomX","PKB":"ParkByte","XBI":"Bitcoin Incognito","MST":"MustangCoin","BTAD":"Bitcoin Adult","TAJ":"TajCoin","DONU":"Donu","ALLEY":"NFT Alley","AMS":"Amsterdam Coin","TOTO":"Tourist Token","MERI":"Merebel","NMP":"Neuromorphic.io","BCP":"Block Commerce Protocol","HALV":"Halving Token","SPRKL":"Sparkle Loyalty","TIC":"TrueInvestmentCoin","SCHO":"Scholarship Coin","ATH":"Atheios","CARE":"Carebit","CHND":"CashHand","VOCO":"Provoco Token","IBTC":"iBTC","TVNT":"TravelNote","SPR":"Spreadcoin","CBIX-P":"Cubiex Power","BSC":"BowsCoin","TCAT":"The Currency Analytics","ACOIN":"ACoin","ZYD":"ZayedCoin","SWG":"Swirge","GSR":"GeyserCoin","ZNT":"OpenZen","DATP":"Decentralized Asset Trading Platform","CRM":"Cream","COAL":"BitCoal","FLL":"Feellike","QUAN":"Quantis Network","DTC":"DayTrader Coin","BBR":"Boolberry","NTRN":"Neutron","NZL":"Zealium","PAXEX":"PAXEX","NYEX":"Nyerium","SPT":"Spots","CREVA":"Creva Coin","YFBT":"Yearn Finance Bit","DYNMT":"Dynamite","APC":"AlpaCoin","CF":"Californium","UCN":"UC Coin","IMPL":"Impleum","BON":"Bonpay","VTX":"Vertex","HELP":"Helpico","CSTL":"Castle","QBC":"Quebecoin","CTL":"Citadel","SONG":"Song Coin","GOSS":"Gossip Coin","STS":"STRESScoin","VLT":"Veltor","WXC":"WXCOINS","HYFI":"Hyper Finance","LTCR":"LiteCreed","UVU":"CCUniverse","MCPC":"Mobile Crypto Pay Coin","MXT":"MartexCoin","BMXX":"Multiplier","KLKS":"Kalkulus","DASHG":"Dash Green","MLM":"MktCoin","HQT":"HyperQuant","CRDT":"CRDT","DISTX":"DistX","SCAP":"SafeCapital","SEM":"Semux","KEBAB":"Kebab Token","SHB":"SkyHub Coin","NUKO":"Nekonium","HNB":"HashNet BitEco","SFG":"S.Finance","MAR":"MarijuanaCoin","PXI":"Prime-X1","IMS":"Independent Money System","IMGC":"ImageCash","GXX":"GravityCoin","CAB":"CabbageUnit","XPA":"XPA","ARNX":"Aeron","ELD":"Electrum Dark","ROCO":"ROCO FINANCE","SCS":"SpeedCash","GPKR":"Gold Poker","KTS":"Klimatas","EXO":"Exosis","VEC2":"VectorCoin 2.0","IBANK":"iBankCoin","XTA":"Italo","BBOO":"Panda Yield","XGM":"Defis","FOXT":"Fox Trading","AREPA":"Arepacoin","PLNC":"PLNCoin","IRA":"Diligence","SWC":"Scanetchain Token","VOLT":"BitVolt","RAGNA":"Ragnarok","AER":"Aeryus","ECU":"ECOSC","WEB":"Webcoin","SVR":"SovranoCoin","ICON":"Iconic","IFX24":"IFX24","RIGEL":"Rigel Finance","XAP":"Apollon","JOINT":"Joint Ventures","HVCO":"High Voltage Coin","SOCC":"SocialCoin","MFTU":"Mainstream For The Underground","ASA":"Asura Coin","EUC":"Eurocoin","SGT":"SharedStake","GDR":"Golden Roots","STR":"Solster Finance","NCP":"Newton Coin","CNNC":"Cannation","WBB":"Wild Beast Coin","ALLOY":"HyperAlloy","LTK":"LitecoinToken","CXT":"Coinonat","AAA":"AAA Reserve Currency","CLX":"Celeum","FNX":"FinanceX","DIN":"Dinero","KZC":"KZCash","CYL":"Crystal Token","LTCU":"LiteCoin Ultra","ETHP":"ETHP","SANDG":"Save and Gain","ORE":"Galactrum","IBS":"IBStoken","CVCC":"CryptoVerificationCoin","XPTX":"PlatinumBAR","STO":"Save The Ocean","MNP":"MNPCoin","YFFII":"YFFII Finance","BUL":"Bulleon","PONZI":"PonziCoin","ARGUS":"ArgusCoin","CONX":"Concoin","DOW":"DOWCOIN","TREX":"TreeBlock","LABX":"Stakinglab","INNBCL":"Innovative Bioresearch Classic","NBXC":"Nibble","WETH":"WETH","FLEX":"TrustedCars FLEX","WFTM":"Wrapped Fantom","WAVAX":"Wrapped AVAX","KRW":"South Korean Won","TRY":"Turkish Lira","X2Y2":"X2Y2","LOOKS":"LooksRare","MIM":"Magic Internet Money","FIT":"Fitcoin","DOME":"Everdome","CDAI":"Compound Dai","GAT":"GATCOIN","WMATIC":"Wrapped Matic","CUSDC":"Compound USD Coin","XT":"ExtremeCoin","MAGIC":"MAGIC","GARI":"Gari Network","SPG":"Space Crypto","TOMB":"Tomb","REAL":"REAL","PLEX":"MinePlex","IB":"Iron Bank","TSHARE":"Tomb Shares","CHN":"Chain","WCRO":"Wrapped CRO","WLUNA":"Wrapped LUNA","2SHARES":"2SHARE","OHM":"Olympus v1","GOL":"GogolCoin","CTC":"CarterCoin","CNC":"ChinaCoin","KSC":"KStarCoin","SBTC":"Super Bitcoin","SIS":"Symbiosis Finance","CUSDT":"Compound USDT","TMT":"Turkmenistani Manat","UMEE":"Umee","BGB":"Bitget Token","KATA":"Katana Inu","SAITAMA":"Saitama","RSS3":"RSS3","ADP":"Adappter Token","EURT":"Tether EURt","QMALL":"QMALL TOKEN","TUS":"Treasure Under Sea","EDGT":"Edgecoin","LBLOCK":"Lucky Block","AGEUR":"Angle Protocol","GSX":"GlowShares","BLUESPARROW":"BlueSparrow Token","AUDT":"Australian Dollar Token","SEA":"StarSharks SEA","WRLD":"NFT Worlds","FEG":"FEG Token","SLD":"SoldierNodes","XRPDOWN":"XRPDOWN","THG":"Thetan Arena","CATS":"CATCOIN","POLC":"Polkacity","ETHDOWN":"ETHDOWN","2OMB":"2omb Finance","DPX":"Dopex","BabyDoge":"Baby Doge Coin","GAIA":"GAIA Platform","NXD":"Nexus Dubai","BTCDOWN":"BTCDOWN","TORG":"TORG","THOR":"THORSwap","nUSD":"nUSD (HotBit)","JIG":"Jigen","3SHARE":"3Share","POKT":"Pocket Network","XRPUP":"XRPUP","LINKDOWN":"LINKDOWN","MFI":"Marginswap","ETHUP":"ETHUP","BTRFLY":"Redacted Cartel","OXD":"0xDAO","JUNO":"JUNO","PTP":"Platypus Finance","CELEB":"CELEBPLUS","CERE":"Cere Network","MBMX":"Metal Backed Money","GM":"we love gm","DOTUP":"DOTUP","NEOM":"New Earth Order Money","WAGMI":"WAGMI Game","VIS":"Vigorus","WCFG":"Wrapped Centrifuge","BCOIN":"BannerCoin","HMR":"Homeros","DNL":"Dinoland","ALUSD":"Alchemix USD","ICN":"Iconomi","FLOKI":"Baby Moon Floki","DOTDOWN":"DOTDOWN","CNYX":"CanaryX","CWAR":"Cryowar","WONE":"Wrapped One","TKM":"Thinkium","ZAMZAM":"Zamzam","UMAD":"MADworld","FODL":"FODL Finance","3OMB":"3OMB Token","$STARLY":"Starly","MCONTENT":"MContent","ADADOWN":"ADADOWN","FXC":"FUTUREXCRYPTO","GRIMACE":"GrimaceBsc.com","SSS":"ShareChain","SIENNA":"Sienna","MNR":"Monoreto","RUSH":"RUSH COIN","AGV":"Astra Guild Ventures","VIPER":"Viper Protocol","SHINJA":"Shibnobi","KUB":"Bitkub Coin","HEC":"Hector Finance","GMI":"GamiFi.GG","MV":"GensoKishi Metaverse","OVR":"OVR","SPE":"SavePlanetEarth","DCAU":"Dragon Crypto Aurum","WEVE":"veDAO","LINKUP":"LINKUP","10SET":"Tenset","LIBERO":"Libero Financial","WOOP":"Woonkly Power","BOO":"SpookySwap","MCH":"MeconCash","NAKA":"Nakamoto Games","ADAUP":"ADAUP","OKT":"OEC Token","ZEG":"Zagent","SHX":"Stronghold Token","RGOLD":"Royal Gold","NTVRK":"Netvrk","MIMATIC":"MAI","MATICBULL":"3X Long Matic Token","BULL":"3X Long Bitcoin Token","ETHBULL":"3X Long Ethereum Token","BETH":"Anchor bETH Token","NCR":"Neos Credits","AKITA":"Akita Inu","BTCUP":"BTCUP","WOJ":"Wojak Finance","BLXM":"bloXmove Token","VADER":"Vader Protocol","FADO":"FADO Go","ATOLO":"RIZON","CMCX":"CORE MultiChain","ORCA":"Orca","GNS":"Gains Network","ELMON":"Elemon","SFM":"SafeMoon V2","JUSTICE":"AssangeDAO","ASH":"ASH","VPK":"Vulture Peak","MELT":"Defrost Finance","XAVA":"Avalaunch","FNC":"Fancy Games","KISHU":"Kishu Inu","FROYO":"Froyo Games","AXL":"Axelar","GYM":"GYM Token","MBS":"MonkeyLeague","NEXM":"Nexum","BALA":"Shambala","DRK":"Draken","MJT":"MojitoSwap","GMX":"Goldmaxcoin","VPAD":"VLaunch","QUIDD":"Quidd","VYNC":"VYNK CHAIN","MCO2":"Moss Carbon Credit","ITAM":"ITAM Games","TRR":"Terran Coin","BCT":"Blockchain Terminal","WMT":"World Mobile Token","REALM":"Realm","LILFLOKI":"Lil Floki","KLIMA":"KlimaDAO","MEONG":"MEONG TOKEN","DOGS":"Dogs Token","NVIR":"NvirWorld","FOLD":"Manifold Finance","GOG":"Guild of Guardians","TDG":"TeddyDog","MR":"Meta Ruffy","XIDO":"XIDO FINANCE","BASED":"Based Finance","ZINU":"Zombie Inu","SGB":"SubGame","ELK":"Elk Finance","$CRDN":"Cardence","BNBDOWN":"BNBDOWN","SIPHER":"Sipher","ITAMCUBE":"ITAM CUBE","SHEESHA":"Sheesha Finance [ERC20]","EMP":"Emp Money","BENT":"Bent Finance","WEC":"Whole Earth Coin","HI":"HI","BRISE":"Bitgert","TONIC":"Tectonic","DIFX":"Digital Financial Exchange","TEDDY":"Teddy Cash","LDN":"Lydiancoin","WGC":"World Gold Coin","SHIBDOGE":"ShibaDoge","SQUID":"Squid Game","BEAR":"3X Short Bitcoin Token","IME":"Imperium Empires","GDOGE":"Golden Doge","APED":"Baddest Alpha Ape Bundle","TITANO":"Titano","GERA":"Gera Coin","PHCR":"PhotoChromic","BHAX":"BHAX Token","AZERO":"Aleph Zero","SYN":"Synapse","BMP":"Brother Music Platform","FALCONS":"Falcon Swaps","MRI":"Marshall Rogan Inu","NT":"NEXTYPE","PIGS":"Pigs Token","RABBIT":"Rabbit Finance","MIDAS":"Midas","B2M":"Bit2Me","ONIT":"ONBUFF","POMI":"Pomicoin","ALIX":"AlinX","BKK":"BKEX Chain","HMT":"Hamster Marketplace Token","KSHIB":"Kilo Shiba Inu","ELV":"Elvantis","DOGEKING":"DogeKing","FUTURE":"FUTURECOIN","MSPY":"Mirrored SPDR S&P 500","VICS":"RoboFi","MMPRO":"MMPRO Token","RON":"Romanian Leu","MODEX":"MODEX Token","TOKE":"Tokemak","WEB3":"WEB3Land","CIX100":"Cryptoindex","GP":"GoldPieces","MQL":"MiraQle","PLUGCN":"Plug Chain","LEXI":"LEXIT","PANDO":"Pando","ILA":"Infinite Launch","EMPIRE":"Empire Token","LEASH":"Doge Killer","XLD":"XcelDefi","ESHARE":"EMP Shares","UNR":"UNIREALCHAIN","PSY":"Psilocybin","EWC":"Erugo World Coin","ANN":"Annex Finance","PGX":"Pegaxy","SATS":"Satoshi","wSIENNA":"Sienna (ERC20)","CHAMP":"NFT Champions","HARL":"Harmonylauncher","CELT":"Celestial","CHMB":"Chumbi Valley","BNBUP":"BNBUP","VERIFY":"Verify DeFi","WND":"WonderHero","GZLR":"Guzzler","MARS4":"MARS4","ETH2X-FLI":"ETH 2x Flexible Leverage Index","FENOMY":"Fenomy","EPAN":"Paypolitan Token","SCREAM":"Scream","WKCS":"Wrapped KuCoin Token","STSOL":"Lido for Solana","FINO":"FINO DAO","FIGHT":"Crypto Fight Club","RAIN":"Condensate","FLAME":"FireStarter","QUA":"Quasa","EJS":"Enjinstarter","LQDR":"Liquid Driver","RCG":"The Recharge","LSP":"Lumenswap","BRZ":"Brazilian Digital Token","CHEDDA":"Chedda Token","POWER":"Power Nodes","DMS":"Dragon Mainland Shards","KSP":"KLAYswap Protocol","PXP":"PointPay","COVN":"Covenant","BSI":"Bali Social Integrated","NORA":"SnowCrash Token","DEVO":"DeVolution","SHAMAN":"Shaman King Inu","TOKAU":"Tokyo AU","PFTM":"pFTM","NRFB":"NuriFootBall","IJZ":"iinjaz","ARTII":"ARTII Token","HUAHUA":"Chihuahua","FRTS":"Fruits","ERTHA":"Ertha","VALUE":"Value Liquidity","OSQTH":"Opyn Squeeth","ZCX":"Unizen","BLT":"Bloom Token","DSM":"Desmos","VIBLO":"Viblos","AFK":"Idle Cyber","MYCE":"MY Ceremonial Event","GZX":"GreenZoneX","OBROK":"OBRok Token","LNR":"Lunar","LUCHOW":"LunaChow","UBXS":"UBXS","HUSL":"The HUSL","WSTETH":"Lido wstETH","Ly":"Lilly Finance","SANDWICH":"Sandwich Network","PCI":"Paycoin","BMIC":"BITMIC","MTP":"MetaPlanetZone","VINU":"Vita Inu","GWT":"Galaxy War","PAF":"Pacific","CATGIRL":"Catgirl","EKTA":"Ekta","ONEUNI":"Stable UNI","XELS":"XELS Coin","BDOT":"Binance Wrapped DOT","ONSTON":"ONSTON","WOOL":"Wolf Game Wool","ANGLE":"Angle","BABI":"Babylons","UNITE":"Unite Finance","DARK":"Dark","ALU":"Altura","bLUNA":"Bonded Luna","SPELLFIRE":"Spellfire","WELUPS":"Welups Blockchain","SAITANOBI":"Saitanobi","DMN":"Domain","KOKO":"Kokoswap","MNFT":"Marvelous NFTs (Bad Days)","RAIDER":"Crypto Raiders","VRN":"Vernam","SIF":"SIF Token","FRR":"Frontrow","CHARGE":"ChargeDefi","LORDS":"LORDS","RAIL":"Railgun","PLAYMATES":"Redlight Node District","ADAX":"ADAX","LOX":"Lox Network","PDT":"ParagonsDAO","KOL":"Kollect","GGG":"Good Games Guild","GAMMA":"Gamma","POLL":"ClearPoll","DAF":"DaFIN","ELG":"EscoinToken","SHIBA":"BitShiba","FTG":"fantomGO","WAXE":"WAXE","VCG":"VCGamers","HSF":"Hillstone","IRT":"Infinity Rocket Token","BTSC":"BTS Chain","DBA":"Digital Bank of Africa","ETM":"En-Tan-Mo","FLY":"FlyCoin","BRCP":"BRCP TOKEN","SBR":"Saber","EURU":"Upper Euro","SPOOKYSHIBA":"SpookyShiba","PAPPAY":"PAPPAY","LEOS":"Leonicorn Swap","GEL":"Georgian Lari","GOHM":"Governance OHM","BORING":"BoringDAO","SLC":"Solice","RADAR":"DappRadar","TOWN":"Town Star","EGC":"EverGreenCoin","NAO":"NFTDAO","SYNR":"MOB LAND","WRK":"blockWRK","BXMI":"Bxmi Token","SUNNY":"Sunny Aggregator","INV":"Inverse Finance","HON":"WonderHero","GOD":"Bitcoin God","PLCU":"PLC Ultima","POLYDOGE":"PolyDoge","ASIX":"ASIX Token","NFTY":"NFTY Network","MGOD":"MetaGods","CRAFT":"Craftcoin","$ADS":"Alkimi","BIXB":"BIXBCOIN","EVU":"Evulus Token","DOMI":"Domi Online","SB":"Snowbank","WLITI":"Liti Capital","PARMA":"Parma Token","MF1":"MetaFinance","TOK":"TokugawaCoin","UNO":"Unobtanium","MMUI":"MetaMUI","YARL":"Yarloo","PIB":"PIBBLE","JONES":"Jones DAO","MYRA":"Mytheria","CLNY":"Colony Network Token","GEIST":"Geist Finance","CWEB":"Coinweb","MEDIA":"Media Network","CMDX":"Comdex","DEPO":"Depository Network","YEL":"YEL.Finance","QANX":"QANplatform","METAV":"MetaVPad","LTNM":"Bitcoin Latinum","CGU":"Crypto Gaming United","PETN":"Pylon Eco Token","AURUM":"Aurum","DFY":"Defi For You","LOA":"League of Ancients","MESA":"MetaVisa Protocol","ZAM":"Zamio","XRPBULL":"3x Long XRP Token","USDF":"FolgoryUSD","TRYB":"BiLira","GALAXY":"Galaxy Coin","WWY":"WeWay","MBT":"Multibot","GREEN":"Green Chart","BEZOGE":"Bezoge Earth","BITCI":"Bitcicoin","TRNDZ":"Trendsy","TANK":"CryptoTanks","YFX":"Your Future Exchange","UNW":"UniWorld","MGG":"MetaGaming Guild","ACCEL":"ACCEL","NGL":"Gold Fever","LBK":"LBK","WHT":"Wrapped Huobi Token","MSH":"CRIR MSH","HEART":"Humans.ai","DBUY":"Doont Buy","SXC":"SexCoin","POLA":"Polaris Share","PIG":"Pig Finance","STRZ":"Starnodes","CHAIN":"Chain Games","ETERNAL":"CryptoMines","mCUSD":"Moola Celo USD","CHE":"Cache","VPND":"VaporNodes","RACEFI":"RaceFi","PIT":"Pitbull","GEMG":"Gem Guardian","IJC":"IjasCoin","CHLT":"Chellitcoin","PXT2":"Project X Nodes","KINE":"KINE","WISE":"WiseAvax","SKT":"Sukhavati Network","AENS":"AEN Smart Token","XSTUSD":"SORA Synthetic USD","SG":"SocialGood","WTK":"WadzPay Token","FORT":"Forta","MEGALAND":"Metagalaxy Land","QUARTZ":"Quartz","HYPE":"Supreme Finance","LBL":"LABEL Foundation","BTCBAM":"Bitcoin Bam","DBD":"Day By Day","POKERFI":"PokerFI.Finance","NEWO":"New Order","GFARM2":"Gains Farm","JPEGS":"IlliquidDAO","MNST":"MoonStarter","ADABULL":"3X Long Cardano Token","ARKER":"Arker","RDR":"Rise of Defenders","FTB":"Fit&Beat","VRX":"VEROX","TSLA":"Tesla tokenized stock FTX","KUMA":"Kuma Inu","METANIA":"MetaniaGames","AVG":"Avocado DAO Token","XP":"Experience Points","ECN":"Ecosystem Coin Network","YAY":"YAYcoin","POL":"Proof Of Liquidity","ARTI":"ARTi Project","SUPE":"SUPE","CSHARE":"Comfy Share","JFC":"JFIN","DRIP":"Drip Network","WNK":"The Winkyverse","SMARTLOX":"SmartLOX","ATS":"Austrian Schilling","MARX":"MarxCoin","BEETS":"Beethoven X","FYN":"FundYourselfNow","DEVT":"Decentralized Eternal Virtual Traveller","PLASTIK":"Plastiks","ZPTC":"Zeptacoin","BABYSAITAMA":"Baby Saitama Inu","DREAMS":"Dreams Quest","WBOND":"War Bond Token","XMETA":"TTX METAVERSE","FBX":"ForthBox","COMB":"Comb Finance","MRHB":"MRHB DeFi","CBX":"CryptoBullion","XRDOGE":"XRdoge","LOM":"LimeOdysseyM with ITAM","EEUR":"e-Money EUR","CMN":"Crypto Media Network","SHENGWEIHU":"Shengweihu","SEON":"SeedOn","sICX":"Staked ICX","AETH":"Aetherius","YCT":"Youclout","BEAN":"BeanCash","FATHER":"DogeFather","DNXC":"DinoX","HTF":"Healthify","FABRIC":"MetaFabric","BABYDRIP":"BABYDRIP","LPOOL":"Launchpool","ARW":"Arowana Token","MNET":"MINE Network","DOEX":"DOEX","ELC":"Elacoin","BCMC1":"BeforeCoinMarketCap","GOGO":"GOGOcoin","CCD":"Concordium","SCLP":"Scallop","UNIX":"UniX Gaming","ABCD":"Crypto Inu","XET":"Eternal Token","NFTL":"Nifty League","AOK":"AOK","CANDY":"UnicornGo Candy","KMA":"Calamari Network","ATOMBULL":"3X Long Cosmos Token","IHC":"Inflation Hedging Coin","UFI":"PureFi Protocol","STILTON":"Stilton Musk","GWAR":"GADGETWAR","EVRY":"EVRYNET","T":"Threshold","ANTEX":"Antex","DOM":"Ancient Kingdom","DBX":"DBX","REFI":"Realfinance Network","TCR":"Thecreed","HUDI":"Hudi","CROWN":"MidasDAO (New)","BPAD":"BLOKPAD","ALD":"AladdinDAO","DGP":"DGPayment","SONAR":"SonarWatch","MGP":"Magic Power","BURD":"tudaBirds","UBSN":"Silent Notary","X":"X","PIZA":"HalfPizza","BSHARE":"Bomb Money","XCM":"CoinMetro","LUFFY":"LUFFY","ZENITH":"Zenith Coin","GMPD":"GamesPad","EGR":"Egoras (New)","GRAV":"Graviton","LUNAPAD":"Luna-Pad","WARS":"MetaWars","KRIDA":"KridaFans","GCOIN":"Galaxy Fight Club","GCAKE":"Pancake Games","TPAD":"Trustpad","BDX":"Beldex","STATIC":"ChargeDeFi Static","DMC":"DMEX (Decentralized Mining Exchange)","MTS":"Metastrike","PLACE":"PlaceWar","TORII":"Torii Finance","BST":"BitStone","SHIBKING":"Shibking Inu","NBNG":"Nobunaga Token","FORESTPLUS":"The Forbidden Forest","XYZ":"Universe.XYZ","KITTY":"Kitty Finance","NIFTSY":"Envelop","MAFA":"Mafagafo","JRSC":"Jurassic Token","POLAR":"POLARNODES","bnUSD":"Balanced Dollars","REVU":"Revuto","FRA":"Findora","EDDA":"EDDASwap","BE":"Belon DAO","GMR":"Gimmer","PAPER":"Dope Wars Paper","BOTX":"botXcoin","GODZ":"Cryptogodz","MM":"MasterMint","ZILLA":"ChainZilla","CGS":"Crypto Gladiator Shards","ENTR":"EnterDAO","SMARTNFT":"SmartNFT","SUPERBID":"SuperBid","LIL":"Lillion","KXA":"Kryxivia","SLVT":"Silvertoken","STORE":"Bit.Store","ICH":"Idea Chain Coin","GFloki":"GenshinFlokiInu","SZCB":"Zugacoin","AVN":"AVNRich Token","BFG":"BFG Token","EQX":"EQIFI","MCRT":"MagicCraft","GOFX":"GooseFX","DXCT":"DNAxCAT Token","COPI":"Cornucopias","LUNI":"Luni","DAPPX":"dAppstore","WINRY":"Winry Inu","NMX":"Nominex","LINKBULL":"3X Long Chainlink Token","BLACK":"eosBLACK","LBXC":"Lux Bio Cell","IN":"InCoin","UPS":"UPFI Network","$KING":"King Swap","LARIX":"Larix","HCT":"HeroCatGamefi","CBANK":"CryptoBank","XCV":"XCarnival","RETH":"Rocket Pool ETH","TRONPAD":"TRONPAD","ZONE":"ZONE","MATA":"Ninneko (Mata)","TITA":"Titan Hunters","MNY":"Monkey","HE":"Heroes & Empires","DIVER":"Divergence","SSM":"SatoShi Monsters","DSG":"Dinosaureggs","99DEFI":"99DEFI.NETWORK","MER":"Mercury","ZYRO":"Zyro","IMC":"i Money Crypto","H3RO3S":"H3RO3S","GG":"GalaxyGoggle DAO","BEXT":"ByteDex","KASTA":"Kasta","REFLEX":"Reflex Finance","DHP":"dHealth","APAD":"Anypad","XL":"Xolo Inu","DACC":"Decentralized Accessible Content Chain","BCNA":"BitCanna","APECOIN":"Asia Pacific Electronic Coin","RTT":"Restore Truth Token","EMAX":"EthereumMax","EXCC":"ExchangeCoin","ROSN":"Roseon Finance","KIBA":"Kiba Inu","PSL":"Pastel","MTW":"Meta World Game","WGMI":"WGMI","DOG":"DogeSwap","NFTART":"NFT Art Finance","wxDai":"Wrapped XDAI","PORT":"Port Finance","ZLDA":"Zelda Inu","ME":"All.me","UNIV":"Universe","ECOIN":"E-coin Finance","PET":"Battle Pets","CAVE":"Crypto Cavemen Club","APRIL":"April","AFIN":"Asian Fintech","LQR":"Laqira Protocol","BAE":"BAE","MOONEY":"Mooney","BRUSH":"PaintSwap","NTX":"NuNet","POG":"Polygonum Online","DANA":"Ardana","ANGEL":"Crypto Angel","HND":"Hundred Finance","mGS":"Mirrored Goldman Sachs Group Inc","SPIN":"Spintop","WOD":"World of Defish","PKOIN":"Pkoin","CIND":"Cindrum","WAM":"WAM","GOMA":"GOMA Finance","SHUNAV2":"Shuna Inuverse","METABOT":"Robot Warriors","SHIBIC":"Shiba Inu Classic","CCAR":"CryptoCars","RAVE":"Ravelous","VFT":"Value Finance","SOLR":"SolRazr","TOMS":"TomTomCoin","MEB":"Meblox Protocol","APW":"APWine Finance","DOGECOLA":"DogeCola","USDs":"Sperax USD","DLYCOP":"Daily COP","BOLLY":"BollyCoin","MYNE":"ITSMYNE","MMG":"Monopoly Millionaire Game","HPL":"HappyLand","TWD":"Taiwan New Dollar","CHER":"Cherry Network","YFIC":"Yearn Cash","fUSDT":"Frapped USDT","FHM":"FantOHM DAO","UNIQ":"Uniqredit","EQ":"EQUI","GES":"Galaxy eSolutions","BTL":"Bitrolium","GEMMINE":"GemMine","KUJI":"Kujira","SINGLE":"Single Finance","GART":"Griffin Art","KPC":"Keeps Coin","AUST":"AnchorUST","PSB":"PesoBit","FICO":"Fish Crypto","MCHC":"My Crypto Heroes","ECC":"ECC","BURP":"Burp","GSCARAB":"GScarab","CLY":"COLONY","MVRS":"Meta MVRS","RAM":"Ramifi Protocol","PYPL":"PayPal tokenized stock FTX","WAR":"WeStarter","MHT":"Mouse Haunt Token","ABP":"Asset Backed Protocol","BNPL":"BNPL Pay","LMCSWAP":"LimoCoin Swap","ZSHARE":"Zilla Shares","SUM":"SumSwap","DIBS":"Dibs Money","SPY":"Verifier","OUD":"OUD","SST":"SIMBA Storage Token","ZEDXION":"ZEDXION","DSHARE":"Dibs Share","SOKU":"SokuSwap","TBE":"TrustBase","APOLLO":"Apollo Inu","HANU":"Hanu Yokia","TRXDOWN":"TRXDOWN","G.O.A.T":"G.O.A.T Token","WELD":"WELD","ZOE":"Zoe Cash","ETLT":"Ethereum Lightning","CDROP":"CryptoDrop","MASKDOGE":"MaskDoge","TARP":"Totally A Rug Pull","BLH":"Blue Horizon","VERA":"Vera","LIQ":"Liquidus","EXFI":"Flare Finance","MAGIK":"Magik Finance","CALO":"Calo App","GAZE":"GazeTV","ACYC":"All Coins Yield Capital","CRF":"CrowdForce","BUND":"BundlesBets","PLT":"Poolotto.finance","WINE":"WineCoin","YO":"Yobit Token","RETIRE":"Retire Token","FAST":"FastSwap (BSC)","2022M":"2022MOON","DOGECOIN":"Buff Doge Coin","SX":"SX Network","LXF":"LuxFi","INDEX":"Index Cooperative","KBOX":"The Killbox","YOSHI":"Yoshi.exchange","STKATOM":"pSTAKE Staked ATOM","SLOT":"Snowtomb LOT","SIP":"SPACE SIP","BRIBE":"Bribe Protocol","SCOTTY":"Scotty Beam","CYS":"BlooCYS","TBL":"Tombola","MIZL":"Microzillas","NAOS":"NAOS Finance","LMCH":"Latamcash","TRXUP":"TRXUP","LICO":"Liquid Collectibles","PRL":"Oyster Pearl","GAC":"GACUBE","KRRX":"Kyrrex","VENT":"Vent Finance","BRG.X":"Bridge$","GLD":"GoldCoin","MAG":"Magnet","ELEPHANT":"Elephant Money","SHKOOBY":"SHKOOBY INU","EARN":"Yearn Classic Finance","MGLC":"MetaverseMGL","IOI":"IOI Token","LUNR":"Lunr Token","KAKA":"KAKA NFT World","FACTR":"Defactor","IMPACTXP":"ImpactXP","ERON":"ERON","MNTTBSC":"MoonTrustBSC","MWG":"MotionWreck Games","LUM":"Lum Network","BLI":"BALI TOKEN","CP":"CryptoProfile","4PLAY":"NFT4Play","IONX":"Charged Particles","RIT20":"Uberstate RIT 2.0","RICE":"RiceCoin","KIAN":"Porta","ATD":"A2DAO","METO":"Metafluence","FILDA":"Filda","GAN":"Galactic Arena: The NFTverse","MTC":"DOCADEMIC","ANTIS":"ANTIS INU","OOGI":"OOGI","POP":"PopularCoin","MCAT":"mCat","PUNK":"Punk Vault (NFTX)","SMD":"SMD COIN","HTB":"Hotbit Token","ULTI":"Ulti Arena","CART":"CryptoArt.Ai","KST":"StarKST","UNIC":"Unicly","ARX":"ARCS","BNSD":"BNSD Finance","SUTEKU":"Suteku","PEARL":"Pearl","SILO":"Silo Finance","IMRTL":"Immortl","SPHRI":"Spherium","DOGEZILLA":"DogeZilla","ECOREAL":"Ecoreal Estate","BDOG":"Big Dog Coin","TKG":"Takamaka Green Coin","PARA":"ParanoiaCoin","FDO":"Firdaos","BLS":"blocsport.one","IZI":"Izumi Finance","COPE":"Cope","CCOMP":"cCOMP","BRIGHT":"Bright Union","NBL":"Nybble","VIVE":"Vive La Bouje","THETABULL":"3X Long Theta Network Token","PRCH":"Power Cash","FFF":"Food Farmer Finance","KNCL":"Kyber Network Crystal Legacy","MVI":"Metaverse Index","DXB":"DXBPay","MPD":"Metapad","MRFI":"Morphie Network","MNG":"Moon Nation Game","CINU":"Cheems Inu","MUTE":"Mute","XRD":"Radix","STEMX":"STEMX","MTR":"MasterTraderCoin","YINBI":"Yinbi","CNNS":"CNNS","LACE":"Lovelace World","ANV":"ANIVERSE","EVA":"Evanesco Network","MXW":"Maxonrow","YAK":"Yield Yak","DMTR":"Dimitra","LIVENFT":"LiveNFT","COMFY":"Comfy","LOOMI":"Loomi","MKITTY":"mKitty","FEES":"UNIFEES","XGOLD":"XGOLD COIN","UNN":"UNION Protocol Governance Token","ECELL":"Consensus Cell Network","WZM":"Woozoo Music","EXPO":"Exponential Capital","TRVL":"Dtravel","SRIRACHA":"Sriracha Inu","SHINTAMA":"Shintama","AIR":"AirToken","PLE":"Plethori","MUSK":"Musk Gold","KPETS":"Krypto Pets","ETH2X-FLI-P":"ETH 2x Flexible Leverage Index (Polygon)","WSHEC":"Wrapped Staked HEC","ULTGG":"UltimoGG","NFTG":"NFT Global","HOLDEX":"Holdex Finance","FMV":"FlameMetaverse","1PECO":"1peco","VODKA":"Vodka Token","NEVADA":"Nevada","pBTC35A":"pBTC35A","A.O.T":"Age of Tanks","FWB":"Friends With Benefits Pro","LTEX":"Ltradex","ETCH":"ElonTech","SNAP":"Snap Token","ELS":"Elysium","PYE":"PYE","MEPAD":"MemePad","RNX":"ROONEX","NMS":"Numus","ROY":"Crypto Royale","WST":"Samoan Tala","RBIS":"ArbiSmart","LPNT":"Luxurious Pro Network Token","SHIR":"Shiro Inu","BSP":"Ballswap","COMT":"Community Token","DES":"Destiny","NBP":"NFTBomb","CLU":"CluCoin","EC":"Eclipse","ZCON":"Zcon Protocol","OCC":"Original Crypto Coin","GGM":"Monster Galaxy","MEAN":"Meanfi","XDEFI":"XDEFI Wallet","MBX":"MobieCoin","NEWB":"Newbium","CLBK":"Cloudbric","TFI":"TrustFi Network","XKI":"Ki","AVXL":"AvaXlauncher","JAM":"Tune.FM","SPRT":"Sportium","DEVIL":"Devil Finance","TRDC":"Traders coin","SHIBTAMA":"Shibtama","REL":"Reliance","FOREX":"FOREXCOIN","YLDY":"Yieldly","GNNX":"Gennix","HAKA":"TribeOne","DNF":"DNFT Protocol","BTH":"Bithereum","WGRT":"WaykiChain Governance Coin","SURV":"Survival Game Online","DOGEBULL":"3X Long Dogecoin Token","FUKU":"FuruKuru","UEDC":"UNITED EMIRATE DECENTRALIZED COIN.","MSTR":"MicroStrategy tokenized stock FTX","QUAI":"QUAI DAO","LHB":"Lendhub","LIEN":"Lien","HVE2":"Uhive","UMI":"UMI","ETL":"EtherLite","SNFT":"Spain National Fan Token","BLZZ":"Blizz Finance","EShib":"Euro Shiba Inu","$WEAPON":"Megaweapon","EYES":"EYES Protocol","NOBEL":"Nobelium","GNP":"Genie Protocol","BABYSHIBAINU":"Baby Shiba Inu","MILK":"The Crypto You","AT":"ABCC Token","STRX":"StrikeX","MINIDOGE":"MiniDOGE","DIGICHAIN":"Digichain","DOX":"Doxed","GDT":"Gorilla Diamond","SCARAB":"Scarab Finance","SHBT":"Shiba toby","JBX":"Juicebox","GRAPE":"Grape Finance","IDK":"IDK","GSKY":"SKY FRONTIER","GSPI":"GSPI Shopping.io Governance","FJB":"Freedom. Jobs. Business.","CLIQ":"DefiCliq","iBFR":"Buffer Finance","XMS":"Megastake","TBTC":"tBTC","TSC":"ThunderStake","ZUNA":"ZUNA","DAVIS":"Davis Cup Fan Token","REF":"RefToken","OJA":"Ojamu","SHUMO":"SHUMO","EHASH":"EHash","ALPA":"Alpaca City","PUFF":"Puff","CUB":"Cub Finance","LESS":"Less Network","VX":"ViteX Coin","LVT":"Louverture","CKT":"Caketools","PSI":"PSIcoin","HOHOHO":"Santa Floki","CALI":"CaliCoin","BTCV":"Bitcoin Vault","HVT":"HyperVerse","BLIN":"Blin Metaverse","UCO":"Archethic","APT":"Aptos","CSPD":"CasperPad","BKR":"Balkari","FREN":"Frenchie Network","ARTM":"ARTM","MMM7":"MMM7","BBND":"BeatBind","STOMB":"Snowtomb","LTT":"LocalTrade","CWT":"Coinware","POTS":"Moonpot","YFO":"YFIONE","PFY":"Portify","BTSG":"BitSong","DRV":"Dragon Verse","MAST":"MAST","DAOVC":"DAO.vc","CARR":"Carnomaly","SHIBORG":"SHIBORG INU","TEM":"Temtum","PREMIA":"Premia","MSU":"MetaSoccer","BAS":"BitAsean","BAoE":"Business Age of Empires","TFS":"TFS Token","ROAR":"AlphaDEX","MOVD":"MOVE Network","GHD":"Giftedhands","SHIBURAI":"Shiba Samurai","ENTC":"ENTERBUTTON","DCS":"deCLOUDs","RDT":"Ridotto","LIBRE":"Libre DeFi","HUSKY":"Husky Avax","JEWEL":"DeFi Kingdoms","CPD":"CoinsPaid","SPICE":"SPiCE Venture Capital","BAMBOO":"BambooDeFi","PROT":"Prostarter","WIDI":"WidiLand","UBE":"Ubeswap","CLIFF":"Clifford Inu","AINU":"Ainu Token","PLN":"Polish Zloty","TPF":"TopFlower","CVNT":"Conscious Value Network","GOMAX":"GOMAx","QA":"Quantum Assets","QRX":"QuiverX","TBCC":"TBCC","PIXEL":"PixelVerse","LF":"Life DAO","CJP":"Crypto Jackpot","SWAPP":"SWAPP Protocol","KRZ":"Kranz Token","SHIBELON":"ShibElon","LUSHI":"Lucky Shinu","ORO":"OroCoin","BAGS":"Basis Gold Share","BGS":"Battle of Guardians","mCEUR":"Moola Celo EUR","DOGE-1":"Doge-1 Mission to the moon","Mononoke-Inu":"Mononoke Inu","OPV":"OpenLive NFT","SQUIRT":"Squirt Game","NDN":"NDN Link","NIL":"NIL Coin","SAUNA":"SaunaFinance Token","LOUD":"Loud Market","KOIN":"Koinos","SOLD":"Solanax","PEFI":"Penguin Finance","YFFI":"yffi finance","NST":"Ninja Squad Token","MARSRISE":"MarsRise","EGOH":"EGOH Finance","JSOL":"JPool Staked SOL (JSOL)","GBOX":"Gbox","SHARPEI":"Shar Pei","NMT":"NFTMart Token","FIWA":"DeFi Warrior (FIWA)","BKBT":"BeeKan","PHONON":"Phonon DAO","CARDS":"CARD.STARTER","LTCBULL":"3x Long Litecoin Token","IXS":"IX Swap","HZM":"HZM Coin","NINJA":"Ninja Protocol","ARCANE":"Arcane Token","THOREUM":"Thoreum V2","DOD":"Day Of Defeat","NEKO":"The Neko","HPW":"HappyLand Reward","THEOS":"Theos","LEON":"Leonicorn Swap ( LEON )","DUEL":"Duel Network","TAI":"TAI","HGHG":"HUGHUG Coin","DVDX":"Derived","SEUR":"sEUR","PARAS":"Paras","CZRX":"Compound 0x","AMD":"Armenian Dram","GRIM":"GrimToken","MRCR":"Mercor Finance","SCY":"SCARY","WWAN":"Wrapped WAN","MARSINU":"Mars Inu","LIB":"Libellum","KARA":"KaraStar","STRM":"Instrumental Finance","JRIT":"JERITEX","VEN":"ImpulseVen","PICA":"PicaArtMoney","VGM":"Virtual Gamer","MOM":"Mother of Memes","NOONE":"No one","XIL":"Project X","KOT":"Kols Offering Token","BNS":"BNS Token","BLOCKS":"BLOCKS","KAINET":"KAINET","JK":"JK Coin","BSR":"BitSoar Coin","XPRESS":"CryptoXpress","DESU":"Dexsport","MPT":"Media Protocol Token","BNBBULL":"3X Long BNB Token","FTS":"Fortress Lending","ORK":"Orakuru","FLUF":"Fluffy Coin","MEFA":"Metaverse Face","CMETA":"Crafty Metaverse","MYS":"MoneyShow","WSB":"WallStreetBets DApp","MTIX":"Matrix Token","BT":"BuildTeam","Kishimoto":"Kishimoto Inu","DIG":"Dignity","GFCE":"GFORCE","mBTC":"Mirrored Bitcoin","GZIL":"governance ZIL","MONS":"Monsters Clan","SEEDED":"Seeded Network","USNOTA":"Nota","TRK":"TruckCoin","EVILSQUID":"EvilSquidGame","LOC":"Loco","LEZ":"Peoplez","ROI":"ROIcoin","HACHIKO":"Hachiko","RD":"Round Dollar","DOGEGF":"DogeGF","MKONG":"MEME KONG","ISDT":"ISTARDUST","BLOVELY":"Baby Lovely Inu","WMEMO":"Wonderful Memories","AIMX":"Aimedis","LSC":"Last Survivor","XSP":"PoolStamp","CVXCRV":"Convex CRV","DASHD":"Dash Diamond","FLURRY":"Flurry Finance","KLEE":"KleeKai","DXF":"Dexfin","POW":"Metahero Universe (POW)","CPTINU":"Captain Inu","MOO":"MooMonster","INST":"Instadapp","COP":"Colombian Peso","ABR":"Allbridge","LOVELY":"Lovely Inu","SINU":"Spook Inu","ASY":"ASYAGRO","SRP":"Starpunk","UXP":"UXD Protocol","CHAINCADE":"ChainCade","DFC":"Defi Connect","SCROOGE":"SCROOGE","SAITOKI":"Saitoki Inu","TOOLS":"BSC TOOLS","CNFI":"Connect Financial","MDAO":"Metaverse DAO","DSFR":"Digital Swiss Franc","FCF":"French Connection Finance","GME":"GameStop tokenized stock FTX","RVST":"Revest Finance","IMI":"Influencer","BITGATTI":"BITGATTI","NKCLC":"NKCL Classic","COGE":"Cogecoin","DMLG":"Demole","JFI":"JackPool.finance","ADEL":"Akropolis Delphi","RBIF":"Robo Inu Finance","$LORDZ":"Meme Lordz","STKXPRT":"Persistence Staked XPRT","KCAKE":"KittyCake","FRIN":"Fringe Finance","xDAI":"xDAI","AI":"Flourishing AI","WCS":"Weecoins","DOGERISEUP":"Doge Rise Up","ARI":"AriCoin","UJENNY":"Jenny Metaverse DAO Token","KVERSE":"KVerse Society","WX":"Waves.Exchange Token","TCG2":"TCGCoin 2.0","ENNO":"ENNO Cash","MON":"MilionCoin","CUNI":"Compound Uni","DEL":"DelChain","TOON":"Pontoon","CSC":"CasinoCoin","H2O":"Hydrominer","PHAE":"Phaeton","CMCC":"CMC Coin","SHIBAPUP":"ShibaPup","RAK":"Rake Finance","TRUSTNFT":"TrustNFT","CORGI":"CorgiCoin","GERO":"GeroWallet","ARTEX":"Artex","ETHE":"ETHEKing","CRK":"Croking","EFK":"ReFork","PRNT":"Prime Numbers","SPEC":"SpecCoin","BPLC":"BlackPearl Token","WANA":"Wanaka Farm","HIMO":"Himo World","VD":"VinDax Coin","MELI":"MELI","DRACE":"MetaDrace","SAFLE":"Safle","PPAD":"PlayPad","N2":"Node Squared","TGDAO":"Launchpad TG DAO 3.0","BBT":"BitBoost","CRFI":"CrossFi","LAVA":"LavaSwap","QBIT":"Project Quantum","GUILD":"BlockchainSpace","GOV":"GovWorld","POCHI":"Pochi Inu","KEYS":"Keys Token","WIT":"Witcoin","KTZ":"KILLTHEZERO","METAMUSK":"Musk Metaverse","INDIA":"India Coin","GLOW":"Glow Token","APP":"SappChat","DSE":"DeSpace","HP":"HeroPark","XMT":"MetalSwap","SNTR":"Silent Notary","SGLY":"Singularity","LOBI":"Lobis","UMG":"UnderMineGold","SYL":"SYL","LIQR":"Topshelf Finance","ONS":"One Share","BVC":"BeaverCoin","MORA":"Meliora","NFS":"Nfans","ACRE":"Arable Protocol","XLPG":"StellarPayGlobal","VSOL":"VSolidus","KAIECO":"Kaiken Inu","EAGON":"EagonSwap Token","BNOX":"BlockNoteX","IDO":"INTERSTELLAR DOMAIN ORDER","STZ":"99Starz","FEY":"Feyorra","LINSPIRIT":"linSpirit","RMARS":"REDMARS","COPYCAT":"Copycat Finance","RIFI":"Rikkei Finance","GMD":"Gambian Dalasi","WPP":"Green Energy Token","CPRX":"Crypto Perx","B20":"B20","AQUAGOAT":"AquaGoat.Finance","SLND":"Solend","YAMV2":"YAM V2","PERC":"Perion","MAIR":"MetaAir","FLOAT":"Float Protocol: Float","MONSTA":"Cake Monster","BOG":"Bogcoin","VIVA":"Viva Classic","DPK TOKEN":"DPK","MAGE":"MetaBrands","BWJ":"Baby WOJ","GER":"GermanCoin","HKUN":"HakunaMatata (new)","QTF":"Quantfury Token","BXR":"Blockster","STN":"Sao Tomean Dobra","RTC":"Rijent Coin","SPAY":"SpaceY","PETH":"PumpETH","LNCHX":"LaunchX","SAGA":"SagaCoin","XTT-B20":"XTblock","DFD":"DefiDollar DAO","DUSD":"DefiDollar","GTFO":"DumpBuster","GMEX":"Game Coin","MSD":"MSD","ONC":"One Cash","VERSE":"Shibaverse","FLAG":"Flag Network","CBP":"ComBox","MINE":"Instamine Nuggets","OFF":"OFFLINE","CTNT":"Cryptonite","KIRO":"Kirobo","EOSBULL":"3x Long EOS Token","PLGR":"Pledge","SUP":"Supcoin","XFUND":"xFund","SCRL":"Scroll","A5T":"Alpha5","EFT":"ETH Fan Token Ecosystem","DXGM":"DexGame","PEL":"Propel","TGNB":"Tiger Token","MCRN":"MacronCoin","GAMINGSHIBA":"GamingShiba","TLB":"The Luxury Coin","REVA":"Revault Network","FINS":"AutoShark DEX","MODA":"MODA DAO","ETHHEDGE":"1X Short Ethereum Token","ECOP":"Eco DeFi","WIZARD":"WIZARD","VOW":"Vow","HKC":"HK Coin","REGEN":"Regen Network","SSAP":"Human World","TKNFY":"Tokenfy","TIP":"Tip Blockchain","DCB":"Decubate","LUXE":"LuxeRacing","WANUSDT":"wanUSDT","PILOT":"Unipilot","FANV":"FanVerse","TLAND":"Terra Land","DPT":"Deliverers Power Token","COCO":"Coco Swap","MERKLE":"Merkle Network","SMAC":"Social Media Coin","NITRO":"Nitro League","VDV":"VIRVIA ONLINE SHOPPING","RPS":"RPS LEAGUE","IAG":"IAGON","MGA":"Malagasy Ariary","ASS":"Australian Safe Shepherd","MAXI":"Maximizer","LEMD":"Lemond","XFI":"Xfinance","XQK":"XQuake","JNTR":"Jointer","PSWAP":"Polkaswap","BUIDL":"DFOhub","CTZN":"Totem","L2P":"Lung Protocol","KALAM":"Kalamint","HOKK":"Hokkaido Inu","BXS":"Brixel War","MIMO":"Mimo Governance Token","MRFOX":"Mr.FOX TOKEN","MARVIN":"Marvin Inu","UNIK":"OEC UNI","DIC":"Daikicoin","CHIRO":"Chihiro Inu","bPRIVA":"Privapp Network","UPR":"Upfire","DEXI":"Dexioprotocol","BALN":"Balance Tokens","mETH":"Mirrored Ether","BFK":"BFK Warzone","KLP":"Kulupu","KTT":"K-Tune","BPRO":"B.Protocol","JACY":"Jacy","LOON":"Loon Network","YUCT":"Yucreat","GDC":"GrandCoin","MULTI":"Multichain","WSOW":"RxSeed Coin","CBAT":"Compound Basic Attention Token","TOPC":"Topchain","MINITESLA":"MiniTesla","BTCIX":"BITCOLOJIX","WEBFOUR":"Webfour","HERA":"Hero Arena","GOAL":"Goal Bonanza","SUMMIT":"Summit Defi","MINDS":"Minds","VOLLAR":"V-Dimension","OUR":"Ouranos","BUSY":"Busy DAO","OS":"Ethereans","NFTPAD":"NFTPad","PINU":"Pi INU","NII":"Nahmii","HODL":"HOdlcoin","SANSHU":"Sanshu Inu","NOS":"nOS","ESPL":"ESPLASH","VLK":"Vulkania","4JNET":"4JNET","ADT":"AdToken","STF":"Structure finance","MBF":"MoonBear.finance","A4":"A4","VGO":"Vagabond","TENSHI":"Tenshi","onLEXpa":"onLEXpa","GOKU":"Goku","BX":"ByteEx","CBT":"CommerceBlock Token","THALES":"Thales","YIN":"YIN Finance","ZMT":"Zipmex","STON":"Mainston","VIDYX":"VidyX","WDUCX":"Wrapped DucatusX","HOPE":"Hope","HSHARES":"Hermes Shares","GENS":"Genshiro","HK":"Helkin","XBLADE":"CryptoWar xBlade","SEREN":"Serenity","KDOGE":"Koreadoge","DV":"Dreamverse","SCRAP":"Scrap","BABYDOGE":"BabyDoge ETH","METACEX":"Metaverse Exchange","BES":"battle esports coin","FORTUNE":"Fortune","Y-5":"Y-5 FINANCE","TOM":"Tomahawkcoin","MIA":"MiamiCoin","COLA":"Colawork","DGE":"DragonSea","MANDOX":"MandoX","BOSS":"BitBoss","LED":"Terawatt","SAFEMARS":"Safemars","ZOMFI":"Zomfi","NINTI":"Nintia Estate","KAIBA":"Kaiba DeFi","ARKK":"ARK Innovation ETF tokenized stock FTX","NFTS":"NFT STARS","LGBT":"LetsGoBrandonToken","DKS":"DarkShield Games Studio","SHIBA22":"SHIBA2K22","LBY":"Lobby","BDC":"Based Token","OBS":"Obscurebay","IXIR":"ixirswap","QUID":"Quid Ika","DCT":"Decent","IVG":"IVOGEL","TRCL":"Treecle","BLINU":"Baby Lambo Inu","BTCA":"Bitair","UMY":"KaraStar UMY","KOBE":"Shabu Shabu Finance","VIRES":"Vires Finance","TREASURE":"Treasure","LIFT":"Uplift","DOGIRA":"Dogira","ASIA":"Asia Coin","GLYPH":"GlyphCoin","BLES":"Blind Boxes","MFC":"Millonarios FC Fan Token","PUD":"PuddingSwap","XTR":"Xtremcoin","TOURISTS":"TOURIST SHIBA INU","EGAME":"EVERY GAME","TECH":"TechCoin","SPDR":"SpiderDAO","LKT":"Locklet","TARAL":"Tarality","KITTY DINGER":"Schrodinger","CCC":"CCCoin","CHORSE":"CryptoHorse","VHC":"Vault Hill City","OAI":"OMNI - People Driven","KING":"King93","HOL":"Hololoot","HLTH":"HLTH Token","OASIS":"ProjectOasis","CFT":"CryptoForecast","TR3":"Tr3zor","NOVA":"ShibaNova","GENI":"GemUni","ASHIT":"AstroShit","WPL":"WorldPlus","AGFI":"AggregatedFinance","HELIOS":"Mission Helios","ECTE":"EurocoinToken","SMON":"Starmon Metaverse","RADR":"CoinRadr","FROG":"FrogSwap","PULSEDOGE":"PulseDoge","CRYSTAL":"Cyber Crystal","LTCBEAR":"3x Short Litecoin Token","iOWN":"iOWN Token","SFC":"Solarflarecoin","D11":"DeFi11","$KMC":"Kitsumon","TIIM":"TriipMiles","TKX":"Token X","HBB":"Hubble Protocol","GAMER":"GameStation","STD":"Sao Tomean Dobra","RCH":"MyRichFarm","VETTER":"Vetter Token","MBET":"Moonbet","XPAY":"Wallet Pay","NASADOGE":"Nasa Doge","LENDA":"Lenda","SKRT":"Sekuritance","FLASH":"FLASH coin","$LUNAINU":"Luna Inu","WMW":"WoopMoney","DEKU":"Deku Inu","UBER":"Uber tokenized stock FTX","ANJI":"Anji","AART":"ALL.ART protocol","ANOM":"Anomus","LOVE":"Deesse","DINGER":"Dinger Token","PAYT":"PayAccept","WGL":"Wiggly Finance","DOR":"Dorado","WHE":"Worthwhile","BSTS":"Magic Beasties","HVI":"Hungarian Vizsla Inu","GNBU":"Nimbus Governance Token","GN":"GN","SOLAR":"Solar","OH":"Oh! Finance","DESIRE":"DesireNFT","VXL":"Voxel X Network","JNB":"Jinbi Token","LCG":"LCG","INVI":"Invitoken","BYG":"Black Eye Galaxy","ABL":"Airbloc","YCC":"Yuan Chain Coin","BLWA":"BlockWarrior","RTM":"Raptoreum","IM":"Intelligent Mining","SCARD":"SCARDust","ADEN":"Adene","CRYPTOGRAM":"Cryptogram","1SOL":"1Sol","JIND":"JINDO INU","RIDGE":"Ridge","PAYN":"PayNet Coin","HFT":"Hashflow","SNP":"Synapse Network","DAL":"DAOLaunch","BDT":"Bangladeshi Taka","ETGF":"ETG Finance","XMN":"Motion","BOT":"Bodhi","DODI":"DoubleDice","NACHO":"Nacho","NXTT":"NextEarth","SYM":"SymVerse","POK":"Pokmonsters","LFG":"Gamerse","WOLVERINU":"WOLVERINU","SOURCE":"ReSource Protocol","DAPPT":"Dapp Token","ORKL":"Orakler","NGC":"NagaCoin","MEWTWO":"Mewtwo Inu","STEAMX":"Steam Exchange","CPH":"Cypherium","ITG":"iTrust.Finance","DUKE":"DUKE INU TOKEN","SURFMOON":"SurfMoon","SOLAB":"Solabrador","SWARM":"SwarmCoin","SSN":"Supersonic Finance","UMBR":"Umbria Network","FSCC":"Fisco Coin","ZPAY":"ZoidPay","$DREAM":"Dream","MVEDA":"Medicalveda","ABC":"AB-Chain","BingDwenDwen":"BingDwenDwen","SLNV2":"StarLink","DADDYDOGE":"Daddy Doge","MILKY":"MilkyWayEx","WOKT":"Wrapped OKT","MSQ":"Mirrored Square","CENX":"Centcex","WBX":"WiBX","RVX":"Rivex","JEM":"Itchiro Games","ULAB":"Unilab","EXIP":"EXIP","FIBO":"Fibswap DEx","DKT":"Duelist King","WEYU":"WEYU","MSN":"Maison Capital","SHINJURAI":"Shinjurai","HEROES":"DeHero","KINT":"Kintsugi","OBT":"Oobit","MOGX":"Mogu","G999":"G999","SHAK":"Shakita Inu","EMBR":"Embr","TAUR":"Marnotaur","RIPH":"Harambe Protocol","GREENBIOX":"GreenBioX","SMBR":"Sombra Network","FEEDTK":"FEED SYSTEM","RUN":"RunNode","HUNNY":"HUNNY FINANCE","MRT":"MinersReward","ACS":"ACryptoS","ETHOS":"Ethos","POCO":"Pocoland","ELONONE":"AstroElon","RWN":"Rowan Token","ARTE":"Artemine","HTMOON":"HTMOON","MAXR":"Max Revive","SYA":"SYA x Flooz","BIRB":"Birb","AUSCM":"Auric Network","POODL":"Poodl Token","PIGGY":"Piggy Coin","PKMON":"PolkaMonster","LOL":"LOL","SRWD":"ShibRWD","BBTC":"BlakeBitcoin","SPROUT":"The Plant Dao","VKNF":"VKENAF","BPX":"Black Phoenix","MINI":"MiniSwap","MIMIR":"Mimir Token","TUBE2":"ESWAP.TUBE","SMRAT":"Secured MoonRat Token","ISKY":"Infinity Skies","KVA":"Kevacoin","KP3RB":"Keep3r BSC Network","MDF":"MatrixETF","TEMP":"Tempus","BSGG":"Betswap.gg","LEOPARD":"LEOPARD","SCH":"Sia Cash Coin","DXG":"DexAge","BGH":"Bitcoin Classic","SODV2":"Son of Doge V2","DRCT":"Ally Direct Token","RIN":"Aldrin","FRMX":"FRMx Token","TSF":"Transaction Service fee","RELAY":"Relay Token","ARI10":"Ari10","VINCI":"DaVinci Token","ARC":"ArcticCoin","VIV":"VIVAL","SASHIMI":"Sashimi","ZKT":"zkTube Protocol","MVS":"Multiverse","HAG":"HaggleX","KODI":"Kodi Coin","LDX":"Londex","RBUNNY":"Rewards Bunny","UENC":"UniversalEnergyChain","TOR":"TorCoin","WALLET":"Ambire Wallet","COWS":"Cowboy Snake","KIKO":"KIKO INU","MIYAGI":"KaiFloki","YEFIM":"YFi Management","ATK":"Attack Wagon","POLX":"Polylastic","TOTORO":"Totoro Inu","FAN":"Fan360","LDDP":"La Doge de Papel","LPI":"LPI DAO","FREL":"Freela","ANCHOR":"AnchorSwap","CTS":"Citrus","BABYSHIBA":"Baby Shiba Coin","RACEX":"RaceX","BOOFI":"Boo Finance","MECH":"Mech Master","TRUBGR":"TruBadger","AGF":"Augmented Finance","SMOON":"SaylorMoon","AGX":"Agricoin","AAG":"AAG Ventures","NSH":"NOSHIT","BBETH":"BabyEthereum","ANSR":"Answerly","Grimace":"Grimace.top","CXC":"CheckCoin","LEAG":"LeagueDAO","SHOP":"Shoppi Coin","DT":"DarkToken","CSTR":"CoreStarter","AMC":"AmericanCoin","ASGARDV2":"Asgard Dao V2","BME":"BitcoMine Token","NOKU":"NOKU Master token","DIS":"DiscoveryIoT","CRPRO":"Crystal Pro","GYRO":"Gyro","METAPAY":"MetaPay","FLOV":"Valentine Floki","LOTT":"LOT.TRADE","NFTBS":"NFTBooks","MOVE":"MarketMove","KACY":"Kassandra","GGC":"Gingr","PNL":"TruePNL","UNIMOON":"UNIMOON","MOR":"MOR","PRXY":"Proxy","ML":"Market Ledger","PIPI":"Pippi Finance","UBG":"UBGToken","RUYI":"Ruyi","PIE":"Persistent Information Exchange","MONX":"Monster of God","GAINS":"Gains Associates","FEED":"chikn feed","UNQ":"UNQclub","FOOTIE":"Footie Plus","PLUG":"PL^Gnet","PID":"PIDAO","WEAVE":"Weave","TOAD":"TOAD.Network","MOI":"MyOwnItem","ATTN":"ATTN","LORC":"LandOrc","MELD":"Meland.ai","SMILE":"Smile Coin","BANK$":"Bankers Dream","CORIS":"Corgiswap","LKN":"Lockness","MPG":"Max Property Group","SKRY":"Sakaryaspor Token","BABL":"Babylon Finance","XUC":"Exchange Union","SVT":"Space Vikings","UZUMAKI":"Uzumaki Inu","MICS":"Vconomics - Decentralized Digital Economy","ELLO":"ICHELLO Music & Technology","SI":"Siren","MSCP":"Moonscape","ECOT":"ECHO TECH COIN","COINSCOPE":"Coinscope","MAI":"Mindsync","STFI":"StartFi","Mars":"Mars","JUB":"Jumbo","METRA":"Metra","SHIBLITE":"Shiba Lite","ECCHI":"EcchiCoin","BIOS":"BiosCrypto","LORD":"Overlord","HFUEL":"HFUEL LAUNCHPAD","mGOOGL":"Mirrored Google","XUSD":"XUSD Stable","ROCKET":"Rocket","HPD":"Hpdex","SK":"SideKick Token","OCB":"BLOCKMAX","NFUP":"Natural Farm Union Protocol","HPAD":"HarmonyPad","GAMI":"GAMI World","NYAN":"NyanCoin","NAXAR":"Naxar","LAMBO":"Wen Lambo","GYSR":"GYSR","SVG":"Squidverse 3D","SHWA":"ShibaWallet","BNBHEDGE":"1X Short BNB Token","VENTION":"Vention","DEUS":"DEUS Finance","BXH":"BOY X HIGHSPEED","FAR":"Farmland Protocol","MPLAY":"MetaPlay","$SPY":"Spywolf","STOP":"Satopay Network","ALPH":"Alephium","HEP":"Health Potion","SHKG":"SharkGate","C3":"Charli3","YTS":"YetiSwap","HDP.ф":"HEdpAY","SPAT":"Meta Spatial","ORBIT":"Orbit Token","ERR":"ErrorCoin","ARTH":"ARTH [polygon]","ELEF":"ELEF WORLD","CTRAIN":"CryptoTrains","TUT":"Tutellus","HPX":"HUPAYX","FSHIB":"Floki Shiba","CEUR":"Celo Euro","SMARS":"SafeMars","CTR":"Centra","PRZ":"Prize Coin","HUH":"HUH Token","SRX":"Solarex","BTC2X-FLI":"Index Coop","BHT":"BNBHunter","WKD":"Wakanda Inu","MCAN":"Medican Coin","DALI":"Dali","IBG":"iBG Finance","INFP":"InfinityPad","SCAR":"Velhalla","BSCGOLD":"BSC Gold","YON":"YondoCoin","DFND":"dFund","CPOS":"Cpos Cloud Payment","HBD":"Hive Dollar","PICIPO":"Picipo","MOCHI":"Mochi Inu","DEFI":"D3 Protocol","kitty":"Kitty Inu","GDO":"GroupDao","METAF":"Metaverse Future","DENTRO":"Dentrocoin","MNIO":"Mirrored Nio","F11":"First Eleven","DCIP":"Decentralized Community Investment Protocol","IOV":"IOV","TGC":"TigerCoin","UM":"Continuum World","ZURR":"ZURRENCY","SHIBGF":"Shiba Girlfriend","TASTE":"TasteNFT","$WOOD":"Mindfolk Wood","OPA":"OptionPanda","GBET":"GangstaBet","POOL":"PoolTogether","CLION":"CryptoLion","M31":"Andromeda","MGLXY":"Mirrored Galaxy Digital Holdings Ltd","WALMETA":"WalMeta","CDTC":"DeCredit","MYC":"MayaCoin","LION":"CoinLion","SNS":"Sense","ATLO":"Atlo","FVP":"Fisher Vs Pirate","POOCOIN":"PooCoin","CHEERS":"CheersLand","AAPL":"Apple tokenized stock FTX","MONO":"MonoX Protocol","CRT":"Carrot","CFXQ":"CFX Quantum","SWAPZ":"Swapz","CBD":"CBD Crystals","SFF":"Sunflower Farm","CERBY":"Cerby Token","YAG":"Yaki Gold","REUM":"Rewardeum","SAS":"Smashchain","MTO":"Merchant Token","XNFT":"xNFT Protocol","BAKED":"reBaked","TXBIT":"Txbit Token","DND":"Dungeonswap","SPARK":"Spark Finance","NIO":"Nicaraguan Cordoba","MDM":"Medium","WHL":"WhaleCoin","VBNT":"Bancor Governance Token","PATH":"PathDAO","PINT":"Pub Finance","XEUS":"XEUS","MIS":"MIScoin","BABYTK":"Baby Tiger King","PNIX":"PhoenixDefi.Finance","Spark":"SparkLab","GINZA":"GINZA NETWORK","CHARM":"Charm Coin","BEPR":"BEUROP","USD":"US Dollar","CAD":"Canadian Dollar","EUR":"Euro","AED":"Emirati Dirham","AFN":"Afghan Afghani","ARS":"Argentine Peso","AUD":"Australian Dollar","AZN":"Azerbaijan Manat","BAM":"Bosnian Convertible Mark","BGN":"Bulgarian Lev","BIF":"Burundian Franc","BND":"Bruneian Dollar","BRL":"Brazilian Real","BWP":"Botswana Pula","BYR":"Belarusian Ruble","BZD":"Belizean Dollar","CDF":"Congolese Franc","CHF":"Swiss Franc","CLP":"Chilean Peso","CNY":"Chinese Yuan Renminbi","CRC":"Costa Rican Colon","CVE":"Cape Verdean Escudo","CZK":"Czech Koruna","DJF":"Djiboutian Franc","DKK":"Danish Krone","DZD":"Algerian Dinar","EEK":"Estonian Kroon","EGP":"Egyptian Pound","ETB":"Ethiopian Birr","GBP":"British Pound","GHS":"Ghanaian Cedi","GNF":"Guinean Franc","GTQ":"Guatemalan Quetzal","HKD":"Hong Kong Dollar","HNL":"Honduran Lempira","HRK":"Croatian Kuna","HUF":"Hungarian Forint","IDR":"Indonesian Rupiah","ILS":"Israeli Shekel","INR":"Indian Rupee","IQD":"Iraqi Dinar","IRR":"Iranian Rial","ISK":"Icelandic Krona","JMD":"Jamaican Dollar","JOD":"Jordanian Dinar","JPY":"Japanese Yen","KES":"Kenyan Shilling","KHR":"Cambodian Riel","KMF":"Comorian Franc","KWD":"Kuwaiti Dinar","KZT":"Kazakhstani Tenge","LBP":"Lebanese Pound","LTL":"Lithuanian Litas","LVL":"Latvian Lat","LYD":"Libyan Dinar","MAD":"Moroccan Dirham","MDL":"Moldovan Leu","MKD":"Macedonian Denar","MMK":"Burmese Kyat","MOP":"Macau Pataca","MUR":"Mauritian Rupee","MXN":"Mexican Peso","MYR":"Malaysian Ringgit","MZN":"Mozambican Metical","NAD":"Namibian Dollar","NGN":"Nigerian Naira","NOK":"Norwegian Krone","NPR":"Nepalese Rupee","NZD":"New Zealand Dollar","OMR":"Omani Rial","PAB":"Panamanian Balboa","PEN":"Peruvian Sol","PHP":"Philippine Peso","PYG":"Paraguayan Guarani","QAR":"Qatari Riyal","RSD":"Serbian Dinar","RUB":"Russian Ruble","RWF":"Rwandan Franc","SAR":"Saudi Arabian Riyal","SDG":"Sudanese Pound","SEK":"Swedish Krona","SGD":"Singapore Dollar","THB":"Thai Baht","TND":"Tunisian Dinar","TTD":"Trinidadian Dollar","TZS":"Tanzanian Shilling","UAH":"Ukrainian Hryvnia","UGX":"Ugandan Shilling","UYU":"Uruguayan Peso","UZS":"Uzbekistani Som","VEF":"Venezuelan Bolívar","VND":"Vietnamese Dong","XAF":"Central African CFA Franc BEAC","XOF":"CFA Franc","YER":"Yemeni Rial","ZAR":"South African Rand","ZMK":"Zambian Kwacha","ZWL":"Zimbabwean Dollar","ANG":"Dutch Guilder","AWG":"Aruban or Dutch Guilder","BBD":"Barbadian or Bajan Dollar","BMD":"Bermudian Dollar","BTN":"Bhutanese Ngultrum","CLF":"Chilean Unit of Account (UF)","CNH":"Chinese Yuan Renminbi Offshore","CUC":"Cuban Convertible Peso","CUP":"Cuban Peso","FJD":"Fijian Dollar","FKP":"Falkland Island Pound","GGP":"Guernsey Pound","GIP":"Gibraltar Pound","GYD":"Guyanese Dollar","HTG":"Haitian Gourde","JEP":"Jersey Pound","KGS":"Kyrgyzstani Som","KPW":"North Korean Won","KYD":"Caymanian Dollar","LAK":"Lao Kip","LRD":"Liberian Dollar","LSL":"Basotho Loti","MNT":"Mongolian Tughrik","MRO":"Mauritanian Ouguiya","MRU":"Mauritanian Ouguiya","MVR":"Maldivian Rufiyaa","MWK":"Malawian Kwacha","PGK":"Papua New Guinean Kina","SHP":"Saint Helenian Pound","SLL":"Sierra Leonean Leone","SRD":"Surinamese Dollar","SVC":"Salvadoran Colon","SZL":"Swazi Lilangeni","TJS":"Tajikistani Somoni","VUV":"Ni-Vanuatu Vatu","XAG":"Silver Ounce","XAU":"Gold Ounce","XCD":"East Caribbean Dollar","XDR":"IMF Special Drawing Rights","XPF":"CFP Franc","ZMW":"Zambian Kwacha","ARC*":"Arcade City","CLUB":"ClubCoin","007":"007 coin","BIT16":"16BitCoin","1CR":"1Credit","CHAO":"23 Skidoo","ARMS":"2Acoin","2BACCO":"2BACCO Coin","2TF":"2TF","32BIT":"32Bitcoin","3XD":"3DChain","3DES":"3DES","8BT":"8 Circuit Studios","8BIT":"8BIT Coin","ATKN":"A-Token","RTB":"AB-CHAIN","AC3":"AC3","AENT":"AEN","AGT":"AGATE","AIC":"AI Crypto","XAI*":"AICoin","AIOT":"AIOT Token","AITT":"AITrading","AXT":"AIX","ALX":"ALAX","ALIS":"ALISmedia","AMBT":"AMBT Token","AMIS":"AMIS","ANTS":"ANTS Reloaded","APIS":"APIS","APS":"APRES","QEY":"AQwire","ARB*":"ARBITRAGE","ARE":"ARENON","ARNA":"ARNA Panacea","ARR":"ARROUND","ASGC":"ASG","ASQT":"ASQ Protocol","ATFS":"ATFS Project","AUC*":"AU-Coin","AWAX":"AWAX","AXR":"AXRON","ABELE":"Abele","ABJ":"Abjcoin","ABS":"Absolute Coin","ACC*":"Accelerator Network","ACCO":"Accolade","AEC":"AcesCoin","ACES":"AcesCoin","ACT*":"Achain","ACID":"AcidCoin","OAK":"Acorn Collective","ACTN":"Action Coin","AMT":"Acumen","ACC":"AdCoin","ADAB":"Adab Solutions","ADL":"Adelphoi","ADH":"Adhive","ADST":"Adshares","AIB":"AdvancedInternetBlock","AGS":"Aegis","AEN":"Aenco","AERM":"Aerium","AERO":"Aero Coin","ARN":"Aeron","XRM":"Aerum","AET":"AfterEther","AGVC":"AgaveCoin","ESTATE":"AgentMile","AIBB":"AiBB","ADN":"Aiden","APOD":"AirPod","ALCE":"Alcedo","ALEX":"Alexandrite","PLM":"Algo.Land","ALG":"Algory","AFO":"AllForOneBusiness","ASAFE2":"Allsafe","ALPS":"Alpenschillling","ALF":"AlphaCoin","AX":"AlphaX","APZ":"Alprockz","ALQO":"Alqo","ALTCOM":"AltCommunity Coin","ALTOCAR":"AltoCar","ALUX":"Alux Bank","AS":"AmaStar","AMBER":"AmberCoin","AMX":"Amero","AMMO":"Ammo Rewards","AMOS":"Amos","VEO":"Amoveo","AMY":"Amygws","ANCP":"Anacrypt","ANAL":"AnalCoin","ACP":"Anarchists Prime","AND":"AndromedaCoin","ANGL":"Angel Token","AVH":"Animation Vision Cash","ANI":"Animecoin","ANK":"Ankorus Token","RYZ":"Anryze","ANTI":"Anti Bitcoin","ATHK":"AntiHACK.me","ANTC":"AntiLitecoin","CPX":"Apex Token","APEX":"ApexCoin","APH":"Aphelion","APXT":"ApolloX","AQUA":"Aquachain","AR*":"Ar.cash","ALC":"Arab League Coin","ARBI":"Arbi","ARCX":"ArcadierX","ARCH":"ArchCoin","ARENA":"Arena","AGM":"Argoneum","BOTS":"ArkDAO","ARM":"Armory Coin","ABY":"ArtByte","ATX":"ArtexCoin","AUA":"ArubaCoin","ASN":"Ascension Coin","ADCN":"Asiadigicoin","ATX*":"Aston","AST*":"Astral","THO":"Athero","ATMI":"Atonomi","ATTR":"Attrace","AUK":"Aukcecoin","AURS":"Aureus","AURA":"Aurora","AUR":"Aurora Coin","AUN":"Authoreon","AUPC":"Authpaper","ATC":"AutoBlock","NIO*":"Autonio","AUT":"Autoria","ATM*":"Autumncoin","Auxilium":"Auxilium","AV":"Avatar Coin","AOP":"Averopay","AVE":"Avesta","ACN":"AvonCoin","WORK":"Aworker","AXIOM":"Axiom Coin","AXYS":"Axys","AZART":"Azart","AZU":"Azultec","B21":"B21","B2B":"B2BX","B3":"B3 Coin","KB3":"B3Coin","BKX":"BANKEX","BBN":"BBNCOIN","BEAT":"BEAT Token","BEX":"BEX token","BFEX":"BFEX","BHPC":"BHPCash","BMT":"BMChain","BSC*":"BOONSCoin","BST*":"BOOSTO","BOS":"BOScoin","BQC":"BQCoin","BQTX":"BQT","BVO":"BRAVO Pay","BRAT":"BROTHER","BTCM":"BTCMoon","BKC":"Balkancoin","NANAS":"BananaBits","XBANK":"Bancryp","B@":"BankCoin","BBN*":"Banyan Network","BBCC":"BaseballCardCoin","BASHC":"BashCoin","BASIS":"Basis","BCX":"BattleCoin","BSTK":"BattleStake","BRDD":"BeardDollars","XBTS":"Beats","BEC":"Beauty Chain","BEE":"Bee Token","BFDT":"Befund","BBI":"BelugaPay","BMK":"Benchmark","BENJI":"BenjiRolls","KNG":"BetKings","BET":"BetaCoin","BETHER":"Bethereum","KRO":"Betoken","BTRM":"Betrium Token","BETR":"BetterBetting","BTXC":"Bettex coin","BETT":"Bettium","BEZ":"Bezop","BGG":"Bgogo Token","BNR":"BiNeuro","DOOH":"Bidooh","BDB":"Big Data Block","BBG":"BigBang","HUGE":"BigCoin","LFC":"BigLifeCoin","BIGUP":"BigUp","BIC":"Bikercoins","BLRY":"BillaryCoin","XBL":"Billionaire Token","BRC*":"BinaryCoin","BIOB":"BioBar","BIOC":"BioCrypt","BIO":"Biocoin","BIPC":"BipCoin","BZ":"Bit-Z","BAY":"BitBay","BRONZ":"BitBronze","BCD*":"BitCAD","BEN":"BitCOEN","BITCAR":"BitCar","CAT*":"BitClave","BCCOIN":"BitConnect Coin","BCR":"BitCredit","BTCRY":"BitCrystal","BCY":"BitCrystals","BTCR":"BitCurrency","BDG":"BitDegree","CSNO":"BitDice","HNY":"BitFence","BFX":"BitFinex Tokens","FLIP":"BitFlip","FLX*":"BitFlux","HIRE*":"BitHIRE","BIH":"BitHostCoin","STU":"BitJob","BTLC":"BitLuckCoin","LUX*":"BitLux","BTMX":"BitMax Token","BTMI":"BitMiles","BITM":"BitMoney","BM":"BitMoon","BITOK":"BitOKX","BTQ":"BitQuark","RNTB":"BitRent","BSCH":"BitSchool","XSEED":"BitSeeds","BTE*":"BitSerial","STASH":"BitStash","BSTN":"BitStation","BXT":"BitTokens","VEG":"BitVegan","XBOND":"Bitacium","BB1":"Bitbond","BOSE":"Bitbose","BTMG":"Bitcademy Football","BTD":"Bitcloud","B2G":"Bitcoiin2Gen","CDY":"Bitcoin Candy","BTCC":"Bitcoin Core","BTCH":"Bitcoin Hush","BCI":"Bitcoin Interest","BTPL":"Bitcoin Planet","BTCRED":"Bitcoin Red","BCR*":"Bitcoin Royal","BTCS":"Bitcoin Scrypt","BT2":"Bitcoin SegWit2X","BTCS*":"Bitcoin Supreme","BTCD":"BitcoinDark","BTCE*":"BitcoinEX","BCF":"BitcoinFast","BTF*":"BitcoinFor","BTCGO":"BitcoinGo","BWS":"BitcoinWSpectrum","BCX*":"BitcoinX","BTCUS":"Bitcoinus","BM*":"Bitcomo","DARX":"Bitdaric","BDL":"Bitdeal","XBX":"BiteX","BT1":"Bitfinex Bitcoin Future","BTCL*":"BitluckCoin","BIM":"BitminerCoin","BMXT":"Bitmxittz","XPAT":"Bitnation Pangea","BQ":"Bitqy","BITSD":"Bits Digit","BINS":"Bitsense","BSX":"Bitspace","XBS":"Bitstake","BITS*":"Bitswift","BWT":"Bittwatt","BTV":"Bitvote","BWT2":"Bitwin 2.0","BITZ":"Bitz Coin","BTZ":"BitzCoin","BTZN":"Bitzon","BXM":"Bixtrim","BZKY":"Bizkey","BS":"BlackShadowCoin","BBOS":"Blackbox Foundation","BHC*":"BlackholeCoin","BMC":"Blackmoon Crypto","BSTAR":"Blackstar","BLC":"BlakeCoin","BLAS":"BlakeStar","BLAZR":"BlazerCoin","BLKD":"Blinked","BLITZ":"BlitzCoin","XBP*":"BlitzPredict","ARY":"Block Array","BCAT":"BlockCAT","BCDN":"BlockCDN","BLOCKPAY":"BlockPay","BPL":"BlockPool","BCAP":"Blockchain Capital","BLX":"Blockchain Index","BTF":"Blockchain Traded Fund","BCIO":"Blockchain.io","BPT":"Blockport","CCC*":"Blockshipping","BKT":"Blocktrade token","BLV":"Blockvest","BNTN":"Blocnation","CDT":"Blox","BDR":"BlueDragon","BOE":"Bodhi","BOLD":"Bold","BLN*":"Bolenum","BOLTT":"BolttCoin","BONA":"Bonafi","BON*":"BonesCoin","BOST":"BoostCoin","BMG":"Borneo","BOS*":"Bostoken","BOTC":"BotChain","CAP":"BottleCaps","BOU":"Boulle","BNTE":"Bountie","XBTY":"Bounty","AHT*":"Bowhead Health","BOXY":"BoxyCoin","IMPCN":"Brain Space","BRAIN":"BrainCoin","BRAZ":"Brazio","BRX":"Breakout Stake","BRK":"BreakoutCoin","BRIA":"Briacoin","XBB":"BrickBlock","BCO":"BridgeCoin","BRC":"BrightCoin","BRIK":"BrikBit","BRIT":"BritCoin","BRNX":"Bronix","BUBO":"Budbo","BUD":"Buddy","BULLS":"BullshitCoin","BWK":"Bulwark","BUN":"BunnyCoin","BURST":"BurstCoin","BYC":"ByteCent","BTE":"ByteCoin","BYTHER":"Bytether","BTM*":"Bytom","C25":"C25 Coin","CAIx":"CAIx","CDRX":"CDRX","CDX":"CDX Network","CEDEX":"CEDEX Coin","CETI":"CETUS Coin","CHIPS":"CHIPS","CIC":"CIChain","CINX":"CINDX","CINNI":"CINNICOIN","CMS":"COMSA","CNCT":"CONNECT","CPY":"COPYTRACK","COSS":"COSS","CPC*":"CPChain","MLS":"CPROP","CPROP":"CPROP","CRWD":"CRWD Network","CMZ":"CRYPTOMAGZ","CRS*":"CRYSTALS","CYBR":"CYBR","CACH":"Cachecoin","CALC":"CaliphCoin","CAM":"Camcoin","CMPCO":"CampusCoin","CAN":"CanYaCoin","CND*":"Canada eCoin","CDN":"Canada eCoin","CAND":"Canlead","XCI":"Cannabis Industry Coin","CNAB":"Cannabium","CAR":"CarBlock","CARAT":"Carats Token","CARE*":"Care Token","CRGO":"CargoCoin","TICS":"CargoConX","DIEM":"CarpeDiemCoin","CNBC":"Cash & Back Coin","CASH*":"Cash Poker Pro","CBC*":"CashBagCoin","CASH":"CashCoin","CSH":"CashOut","CST":"Casper API","CVTC":"CavatCoin","CAV":"Caviar","CBS":"Cerberus","XCE":"Cerium","CHC":"ChainCoin","CHAN":"ChanCoin","CAG":"Change","CHA":"Charity Coin","CHK":"Chek","CHILD":"ChildCoin","CHIP":"Chip","CHOOF":"ChoofCoin","CHW":"Chrysalis Coin","CLPX":"Chynge.net","CIN":"CinderCoin","CIR":"CircuitCoin","CTW":"Citowise","CLRTY":"Clarity","CAID":"ClearAid","XCLR":"ClearCoin","CHASH":"CleverHash","CLICK":"Clickcoin","CLIN":"Clinicoin","CLINT":"Clinton","CCCX":"Clipper Coin Capital","CKC":"Clockcoin","CLD":"Cloud","CLOUT":"Clout","CLDX":"Cloverdex","CLUD":"CludCoin","COE":"CoEval","COVEX":"CoVEX","COX":"CobraCoin","CFC":"CoffeeCoin","CFI":"Cofound.it","COGEN":"Cogenero","COGS":"Cogmento","COG":"Cognitio","COIN*":"Coin","COY":"Coin Analyst","XMG":"Coin Magi","BTTF":"Coin to the Future","CONI":"CoinBene","XCJ":"CoinJob","CL":"CoinLancer","MEE":"CoinMeet","MEET":"CoinMeet","CPL":"CoinPlace Token","CPEX":"CoinPulseToken","CCH":"Coinchase","DAILY":"Coindaily","CTIC":"Coinmatic","COI":"Coinnec","CNO":"Coino","CNMT":"Coinomat","XCXT":"CoinonatX","TCJ":"Coinshare","CEN":"Coinsuper Ecosystem Network","CXG":"Coinxes","CLN":"Colu Local Network","CMTC":"CometCoin","COMM":"Community Coin","COC":"Community Coin","CMP":"Compcoin","CPN":"CompuCoin","CNL":"ConcealCoin","CFD":"Confido","CJR":"Conjure","CJT":"ConnectJob Token","CTY":"Connecty","CQST":"ConquestCoin","SEN*":"Consensus","CAN*":"Content and AD Network","CUZ":"Cool Cousin","COOL":"CoolCoin","XCPO":"Copico","CORAL":"CoralPay","COSX":"Cosmecoin","CSMIC":"Cosmic","CMOS":"Cosmo","ATOM*":"Cosmos","CMC":"CosmosCoin","COU":"Couchain","CHT":"Countinghouse Fund","COV*":"CovenCoin","CPLO":"Cpollo","CRAB":"CrabCoin","CRACK":"CrackCoin","CFTY":"Crafty","CRAIG":"CraigsCoin","CRNK":"CrankCoin","CRAVE*":"Crave-NG","CRAVE":"CraveCoin","CZC":"Crazy Coin","XCRE":"Creatio","CRDNC":"Credence Coin","PESA":"Credible","CRB":"Creditbit","CRE*":"Creditcoin","CCOIN":"Creditcoin","CDPT":"Creditor Data Platform","CRDS":"Credits","CS*":"Credits","CFT*":"Credo","CREDO":"Credo","CRC***":"CrowdCoin","CCOS":"CrowdCoinage","CDP":"CrowdPrecision","YUP":"Crowdholding","WIZ":"Crowdwiz","CRC**":"CryCash","IPT":"Crypt-ON","CRYPT":"CryptCoin","CRL":"Cryptelo Coin","XCR":"Crypti","CRYP":"CrypticCoin","QRP":"Cryptics","CTO":"Crypto","CESC":"Crypto Escudo","CIF":"Crypto Improvement Fund","TKT":"Crypto Tickets","CWEX":"Crypto Wine Exchange","CWIS":"Crypto Wisdom Coin","CWX":"Crypto-X","MCO":"Crypto.com","CABS":"CryptoABS","BUK":"CryptoBuk","CCRB":"CryptoCarbon","CIRC":"CryptoCircuits","FCS":"CryptoFocus","CHBR":"CryptoHub","TKR":"CryptoInsight","CJC":"CryptoJournal","LEU":"CryptoLEU","CPAY":"CryptoPay","CRPS":"CryptoPennies","CREV":"CryptoRevolution","CR":"CryptoRiyal","CWXT":"CryptoWorldXToken","CCIN":"Cryptocoin Insurance","CDX*":"Cryptodex","CGA":"Cryptographic Anomaly","CYT":"Cryptokenz","CIX":"Cryptonetix","CNX":"Cryptonex","CEFS":"CryptopiaFeeShares","CRS":"Cryptoreal","CXA":"CryptovationX","OXY2":"Cryptoxygen","MN":"Cryptsy Mining Contract","POINTS":"Cryptsy Points","CRTM":"Cryptum","CVCOIN":"Crypviser","CCT":"Crystal Clear Token","CTKN":"Curaizon","CBUK":"CurveBlock","CHFT":"CustomCoin","CCL":"CyClean","XCS":"CybCSec Coin","CCI":"Cyber Capital Invest","CC":"CyberCoin","CABS*":"CyberTrust","CRE**":"Cybereits Token","CYDER":"Cyder Coin","CYG":"Cygnus","CYP":"Cypriot Pound","FUNK":"Cypherfunks Coin","CYRS":"Cyrus Token","DACH":"DACH Coin","DADI":"DADI","BET*":"DAO.casino","GEN*":"DAOstack","DAS":"DAS","DAV*":"DAV","DRP":"DCORP","DEEX":"DEEX","CET*":"DICE Money","DIM":"DIMCOIN","DIW":"DIWtoken","DNTX":"DNAtix","DNN":"DNN Token","DREAM*":"DREAM","DRPU":"DRP Utility","DRACO":"DT Token","DYNO":"DYNO","DAN":"Daneel","DXC*":"Daox","PROD":"Darenta","DISK":"Dark Lisk","MOOND":"Dark Moon","DB":"DarkBit","DRKC":"DarkCash","DCC":"DarkCrave","DETH":"DarkEther","DGDC":"DarkGold","DKC":"DarkKnightCoin","DANK":"DarkKush","DSB":"DarkShibe","DRKT":"DarkTron","DNET":"Darknet","DASC":"DasCoin","DSH":"Dashcoin","DTT*":"Data Trading","DXT":"DataWallet","DTB":"Databits","DBCCOIN":"Datablockchain","DTC*":"Datacoin","XDT":"Dataeum","DTN":"Datareum","DAT":"Datum","DAXX":"DaxxCoin","DAYTA":"Dayta","DNET*":"DeNet","XNA":"DeOxyRibose","DBC*":"Debit Coin","DBTC":"DebitCoin","DUBI":"Decentralized Universal Basic Income","HST":"Decision Token","DEEP":"Deep Gold","DEA":"Degas Coin","DEI":"Deimos","DKD":"Dekado","DPAY":"DelightPay","DLXV":"Delta-X","DCRE":"DeltaCredits","DNR":"Denarius","DNO":"Denaro","DFBT":"DentalFix","DESI":"Desico","DTCT":"DetectorToken","DCK":"DickCoin","DIGS":"Diggits","DEUR":"DigiEuro","DIGIF":"DigiFel","DFXT":"DigiFinexToken","DGM":"DigiMoney","DGPT":"DigiPulse","DGMS":"Digigems","DAGT":"Digital Asset Guarantee Token","DPP":"Digital Assets Power Play","DBG":"Digital Bullion Gold","DDF":"Digital Developers Fund","DRS":"Digital Rupees","DP":"DigitalPrice","DCY":"Dinastycoin","XDQ":"Dirac Coin","DCC*":"Distributed Credit Chain","DIVX":"Divi Exchange Token","DTC**":"DivotyCoin","DXC":"DixiCoin","DLISK":"Dlisk","DOC":"Doc Coin","NRN":"Doc.ai Neuron","DOGED":"DogeCoinDark","DGORE":"DogeGoreCoin","XDP":"DogeParty","DLA":"Dolla","DT1":"Dollar Token 1","DLR":"DollarOnline","BOAT":"Doubloon","Dow":"DowCoin","DRA":"DraculaCoin","DRG":"Dragon Coin","DRM8":"Dream8Coin","DREAM":"DreamTeam Token","DRZ":"Droidz","DROP":"Dropil","DRXNE":"Droxne","DUB":"DubCoin","DBIC":"DubaiCoin","DBIX":"DubaiCoin","DUTCH":"Dutch Coin","DUX":"DuxCoin","DYC":"Dycoin","DTR":"Dynamic Trading Rights","DYNCOIN":"Dyncoin","DTEM":"Dystem","DBR":"Düber","ECC*":"E-CurrencyCoin","EB3":"EB3coin","EBC":"EBCoin","EGO":"EGOcoin","EJAC":"EJA Coin","EMANATE":"EMANATE","EMX":"EMX","ET":"ENDO","ENTRY":"ENTRY","EOT*":"EON","EQUI":"EQUI Token","ERB":"ERBCoin","EST":"ESports Chain","XBASE":"ETERBASE","ETS":"ETH Share","ERA":"ETHA","EGAS":"ETHGAS","EVOS":"EVOS","EXMR":"EXMR","ETE":"EXTRADECOIN","EYE":"EYE Token","EZX":"EZ Exchange","EZC":"EZCoin","EZM":"EZMarket","EZT":"EZToken","EA":"EagleCoin","EAGS":"EagsCoin","EARTH":"Earth Token","EAC":"EarthCoin","EGDC":"EasyGuide","EMT":"EasyMine","ETKN":"EasyToken","EBZ":"Ebitz","EBS":"EbolaShare","ECOB":"EcoBit","ECR":"EcoVerse","EDDIE":"Eddie coin","EDGE":"EdgeCoin","EDU":"EduCoin","EDO":"Eidoo","XEL":"Elastic","ECA":"Electra","ELT":"Electron","EKN":"Elektron","ELE":"Elementrem","ELM":"Elements","ELES":"Elements Estates","ELI*":"Elicoin","ELI":"Eligma","ELIX":"Elixir","ELLA":"Ellaism","ELP":"Ellerium","ELLI":"ElliotCoin","AEC*":"EmaratCoin","EMB":"EmberCoin","MBRS":"Embers","EMN":"Eminent Token","EMIGR":"EmiratesGoldCoin","EPY*":"Emphy","PLEO":"Empleos","EMPC":"EmporiumCoin","EPY":"Empyrean","ENCX":"Encrybit","ETT":"EncryptoTel","ENCN":"EndChain","EDR*":"Endor Protocol Token","ENE":"EneCoin","ETK":"Energi Token","ENGT":"Engagement Token","EGCC":"Engine","XNG":"Enigma","ENK":"Enkidu","ENTER":"EnterCoin (ENTER)","ENTRP":"Entropy Token","ENU":"Enumivo","ENV":"Envienta","NVOY":"Envoy","ZYM":"Enzym","EQUAL":"EqualCoin","EQT":"EquiTrader","EQB":"Equibit","EQM":"Equilibrium Coin","EQY":"Eqwity","ERE":"Erecoin","EFYT":"Ergo","ERT*":"Eristica","ERY":"Eryllium","ESP":"Spanish Peseta","ERT":"Esports.com","ETALON":"Etalon","ETT*":"Eternal Trusts","EBET":"EthBet","ETBS":"EthBits","LEND":"EthLend","HEAL":"Etheal","ETHB":"EtherBTC","EDT":"EtherDelta","DOGETH":"EtherDoge","ESZ":"EtherSportz","ECH":"EthereCash","ETBT":"Ethereum Black","ECASH":"Ethereum Cash","ETHD":"Ethereum Dark","ETHM":"Ethereum Meta","EMV":"Ethereum Movie Venture","ETHPR":"Ethereum Premium","EQC":"Ethereum Qchain Token","LNK":"Ethereum.Link","BTCE":"EthereumBitcoin","ETF":"EthereumFog","ELITE":"EthereumLite","ETHS":"EthereumScrypt","RIYA":"Etheriya","DICE":"Etheroll","ESN":"Ethersocial","ESC":"Ethersportcoin","NEC*":"Ethfinex Nectar Token","ETHIX":"EthicHub","HORSE":"Ethorse","ET4":"Eticket4","ERC":"EuropeCoin","EVN*":"EvenCoin","EVENT":"Event Token","EVR":"Everus","EOC":"EveryonesCoin","EXB":"ExaByte (EXB)","EXN":"ExchangeN","XNT":"Exenium","EXC":"Eximchain","EXIT":"ExitCoin","EXPR":"Expercoin","EXT*":"Experience Token","EXY":"Experty","EON":"Exscudo","TAURI":"Extauri","EXTN":"Extensive Coin","XTRA":"ExtraCredit","ELT*":"ExtraLovers","XSB":"Extreme Sportsbook","F16":"F16Coin","FIBRE":"FIBRE","eFIC":"FIC Network","FLIK":"FLiK","FRED":"FREDEnergy","FXP":"FXPay","FABA":"Faba Invest","FT":"Fabric Token","FC":"Facecoin","FTR":"FactR","FAIR*":"FairGame","FAIRC":"Faireum Token","FAME":"FameCoin","FANZ":"FanChain","FCN":"FantomCoin","FRD":"Farad","F2K":"Farm2Kitchen","FTUM":"Fatum","DROP*":"FaucetCoin","FAZZ":"FazzCoin","FIH":"Fidelity House","FLC":"Fieldcoin","FIII":"Fiii","FFM":"Files.fm Library","FILL":"Fillit","FNTB":"FinTab","FIND":"FindCoin","FNL":"Finlocale","NOM":"Finom NOM Token","FFC":"FireflyCoin","1ST":"FirstBlood","FIRST":"FirstCoin","FIST":"FistBump","FRV":"Fitrova","FLAP":"Flappy Coin","FLVR":"FlavorCoin","FNP":"FlipNpik","FLO":"Flo","FLT":"FlutterCoin","FLUZ":"FluzFluz","FLDC":"Folding Coin","FLLW":"Follow Coin","FNO":"Fonero","FONZ":"FonzieCoin","FOOD":"FoodCoin","FOPA":"Fopacoin","FML":"FormulA","FFCT":"FortFC","FOTA":"Fortuna","FSBT":"Forty Seven Bank","FRAC":"FractalCoin","FRN":"Francs","FRK":"Franko","FRWC":"Frankywillcoin","FRAZ":"FrazCoin","FGZ":"Free Game Zone","FRE":"FreeCoin","FRECN":"Freldo","FREC":"Freyrchain","FSC":"FriendshipCoin","FUCK":"Fuck Token","FC2":"Fuel2Coin","NTO":"Fujinto","FLS":"Fuloos Coin","FUNC":"FunCoin","FUNDZ":"FundFantasy","FND":"FundRequest","ATON":"Further Network","FSN*":"Fusion","FUTC":"FutCoin","FTRC":"FutureCoin","FTP":"FuturePoints","FTW":"FutureWorks","FPC":"Futurepia","FTO":"FuturoCoin","GAKH":"GAKHcoin","GTX":"GALLACTIC","GBRC":"GBR Coin","GGR":"GGRocket","GIN":"GINcoin","GIZ":"GIZMOcoin","GMC*":"GMC Coin","GPU":"GPU Coin","GSM":"GSM Coin","GXS":"GXChain","GBO":"Gabro.io","GEP":"Gaia","GNR":"Gainer","GLX":"GalaxyCoin","GALI":"Galilel","GLN":"Galion Token","GAM":"Gambit coin","GMCN":"GambleCoin","GBT":"GameBetCoin","GML":"GameLeagueCoin","UNITS":"GameUnits","GX":"GameX","GDX":"Gamedex","FLP":"Gameflip","GNJ":"GanjaCoin V2","GAP":"Gapcoin","FORK":"Gastro Advisor Token","GBA":"Geeba","GEMA":"Gemera","GMS":"Gemstra","GEMZ":"Gemz Social","GXC*":"GenXCoin","GENX":"Genesis Network","GSY":"GenesysCoin","GUNS":"GeoFunders","GEON":"Geon","SPKTR":"Ghost Coin","GHOUL":"Ghoul Coin","GIC":"Giant","GIFT":"GiftNet","GFT":"Giftcoin","GBTC":"GigTricks","WTT":"Giga Watt","GZB":"Gigzi","GGS":"Gilgam","GIM":"Gimli","GIVE":"GiveCoin","GLA":"Gladius","GLOBE":"Global","GJC":"Global Jobcoin","GTC*":"Global Tour Coin","GTIB":"Global Trust Coin","GVE":"Globalvillage Ecosystem","GSI":"Globex SCI","GBXT":"Globitex Token","xGOx":"Go!","GOT*":"GoToken","GOA":"GoaCoin","GOAT":"Goat","GBE":"Godbex","GDL":"GodlyCoin","XR":"Gofind XR","GPL":"Gold Pressed Latinum","GRX":"Gold Reward Token","XGR":"GoldReserve","GMA":"Goldchip Mining Asset","GEA":"Goldea","XGH":"Golden Hash","XGB":"GoldenBird","GLDR":"Golder Coin","GNT":"GreenTrust","GOLF":"GolfCoin","GOLOS":"Golos","GBG":"Golos Gold","GOOD":"GoodCoin","GOOD*":"Goodomy","GOON":"Goonies","BUCKS*":"GorillaBucks","GOTX":"GothicCoin","GAI":"GraphGrail AI","77G":"GraphenTech","GBIT":"GravityBit","GRE":"GreenCoin","GRMD":"GreenMed","GEX":"GreenX","GNC":"Greencoin","GREXIT":"GrexitCoin","GC":"Gric Coin","GRM":"GridMaster","GRWI":"Growers International","GROW":"GrownCoin","GRW":"GrowthCoin","GTR":"Gturbo","GETX":"Guaranteed Ethurance Token Extra","GUAR":"Guarium","GUE":"GuerillaCoin","GUN":"GunCoin","GUP":"Guppy","HIDU":"H-Education World","HART":"HARA","HBZ":"HBZ Coin","HIX":"HELIX Orange","HELL":"HELL COIN","HRO":"HEROIC.com","HOLD":"HOLD","HLDY":"HOLIDAY","HTML5":"HTML5 Coin","HUS":"HUSSY","HYGH":"HYGH","HKN":"Hacken","HKG":"Hacker Gold","HAC":"Hackspace Capital","HPAY":"HadePay","HLC":"Halal-Chain","HAL":"Halcyon","HALLO":"Halloween Coin","HALO":"Halo Platform","HAMS":"HamsterCoin","HANA":"Hanacoin","HPC":"HappyCoin","HCC":"HappyCreatorCoin","HRBE":"Harambee Token","HRB":"Harbour DAO","HMN":"Harvest Masternode Coin","HGS":"HashGains","HASH":"Hashbon","HAT":"Hawala.Exchange","HZT":"HazMatCoin","HAZE":"HazeCoin","HDAC":"Hdac","HHEM":"Healthureum","WORM":"HealthyWorm","HVC":"HeavyCoin","HDG":"Hedge Token","HEDGE":"Hedgecoin","HEEL":"HeelCoin","HYS":"Heiss Shares","HLM":"Helium","HLX":"Helix3","HNC":"Hellenic Coin","HGT":"Hello Gold","HMP":"HempCoin","HER":"Hero Node","HETA":"HetaChain","HXC":"HexanCoin","HXT":"HextraCoin","HXX":"HexxCoin","HMC":"Hi Mutual Society","HIH":"HiHealth","AIMS":"HighCastle Token","HV":"HighVibe.Network","HGO":"HireGo","HIRE":"HireMatch","HTC":"Hitcoin","HBN":"HoboNickels","HWC":"HollyWoodCoin","HOT*":"Holo","HBC":"HomeBlockCoin","HMD":"Homelend","HONEY":"Honey","HZ":"Horizon","HSP":"Horse Power","HYT":"HoryouToken","HSR":"Hshare","HBT":"Hubii Network","HNC*":"Huncoin","HUC":"HunterCoin","HUR":"Hurify","H3O":"Hydrominer","HYPER":"HyperCoin","HLD":"HyperLending","TREE":"HyperionX","HPSP":"Hyperspace","HYP":"Hyperstake","I0C":"I0coin","IAM":"IAME Identity","ICASH":"ICASH","ICOO":"ICO OpenLedger","ICOS":"ICOBox","ICST":"ICST","IDAC":"IDAC","IDAP":"IDAP","IDXM":"IDEX Membership","IDM":"IDM","IGTT":"IGT","ILCT":"ILCoin Token","IML":"IMMLA","ITR":"INTRO","IOT":"IOTA","IOTW":"IOTW","IOUX":"IOU","IOU":"IOU1","IPSX":"IP Exchange","IPC*":"IPChain","IRC":"IRONCOIN","IVN":"IVN Security","IZX":"IZX","ICB":"IceBergCoin","ICHX":"IceChain","IDC":"IdealCoin","REX":"Imbrex","IMGZ":"Imigize","IMVR":"ImmVRse","IMPCH":"Impeach","IPC":"ImperialCoin","XIM":"Impresso","IMPS":"Impulse Coin","NKA":"IncaKoin","INCNT":"Incent","INCP":"InceptionCoin","INC":"Incrementum","IDH":"IndaHash","INDI":"IndiCoin","IFX":"Infinex","XIN":"Infinity Economics","INF8":"Infinium-8","IFLT":"InflationCoin","IFUM":"Infleum","INFLR":"Inflr","INTO":"Influ Token","INFX":"Influxcoin","ILK":"Inlock","SOUND":"Inmusik","MINX":"InnovaMinex","INSANE":"InsaneCoin","WOLF":"Insanity Coin","INS":"Insolar","ICC":"Insta Cash Coin","SPON":"Instant Sponsor Token","IPL":"InsurePal","ISR":"Insureum","IQB":"Intelligence Quotient Benefit","ITT":"Intelligent Trading","XID*":"International Diamond Coin","IOP":"Internet of People","ISH":"Interstellar Holdings","ITZ":"Interzone","ICT":"Intrachain","INV*":"Invacio","INVX":"Investx","IVC":"Investy Coin","IVZ":"InvisibleCoin","INVOX":"Invox Finance","IZA":"Inzura","TLU":"Irene Energy","IRL":"IrishCoin","ISL":"IslaCoin","ITA":"Italocoin","ING":"Iungo","IEC":"IvugeoEvolutionCoin","IVY":"IvyKoin","IWT":"IwToken","J8T":"JET8","JEX":"JEX Token","JIO":"JIO Token","JOYS":"JOYS","JOY*":"JOYSO","JSE":"JSEcoin","JANE":"JaneCoin","JNS":"Janus","JVY":"Javvy","JC":"JesusCoin","JWL":"Jewels","JIB":"Jibbit","JNT":"Jibrel Network Token","JIF":"JiffyCoin","JCR":"Jincor","JINN":"Jinn","JOBS":"JobsCoin","J":"JoinCoin","JOK":"JokerCoin","XJO":"JouleCoin","JOYT":"JoyToken","JOY":"Joycoin","JUDGE":"JudgeCoin","JBS":"JumBucks Coin","JUMP":"Jumpcoin","JKC":"JunkCoin","JMC":"Junson Ming Chan Coin","JDC":"JustDatingSite","KSYS":"K-Systems","KAAS":"KAASY.AI","KEC":"KEYCO","KIBIS":"KIBIS","TOS":"KRATOS","KRC":"KRCoin","KREDS":"KREDS","KUBO":"KUBO","KWH":"KWHCoin","KAPU":"Kapu","KBC":"Karatgold coin","KRM":"Karma","K2G":"Kasko2go","KAYI":"Kayı","KEK":"KekCoin","KEN":"Kencoin","KEP":"Kepler","KC":"Kernalcoin","KETAN":"Ketan","KEY*":"KeyCoin","KMX":"KiMex","KLC":"KiloCoin","KVT":"Kinesis Velocity Token","KNC**":"KingN Coin","MEOW":"Kittehcoin","KLK":"Klickzie","KED":"Klingon Empire Darsek","KDC":"Klondike Coin","KNW":"Knowledge","KOLION":"Kolion","KORE":"Kore","KOTO":"Koto","KUSD":"Kowala","KRAK":"Kraken","KRONE":"Kronecoin","KSS":"Krosscoin","KGC":"KrugerCoin","KTK":"KryptCoin","KRP":"Kryptoin","KR":"Krypton","KBX":"KuBitX","KBR":"Kubera Coin","KUBOS":"KubosCoin","KUSH":"KushCoin","KVT*":"Kvantor","LAX":"LAPO","LAO":"LC Token","LGBTQ":"LGBTQoin","LHC":"LHCoin","LNKC":"LINKCHAIN","VEEN":"LIVEEN","LIPC":"LIpcoin","LTBC":"LTBCoin","LUMA":"LUMA Token","LVX":"LVX","LYN":"LYNCHPIN Token","LALA":"LaLa World","LBR":"LaborCrypto","LAB":"Labrys","BAC*":"LakeBanker","PIX":"Lampix","LTH":"Lathaan","LATX":"LatiumX","LAZ":"Lazarus","LEPEN":"LePenCoin","LEA":"LeaCoin","LDC":"LeadCoin","LEAF":"LeafCoin","LGD":"Legends Cryptocurrency","LGO":"Legolas Exchange","LELE":"Lelecoin","LEMON":"LemonCoin","LCT":"LendConnect","LOAN":"Lendoit","LENIN":"LeninCoin","LIR":"Let it Ride","LVL*":"LevelNet Token","LVG":"Leverage Coin","XLC":"LeviarCoin","XLB":"LibertyCoin","LXC":"LibrexCoin","LIGER":"Ligercoin","LSD":"LightSpeedCoin","LPC*":"Lightpaycoin","LK":"Liker","LIMX":"LimeCoinX","LTD":"Limited Coin","LINDA":"Linda","LNC*":"Linker Coin","LINX":"Linx","LIPS":"LipChain","LEN":"Liqnet","LQD":"Liquid","LQ8":"Liquid8","LQDN":"Liquidity Network","LTCC":"Listerclassic Coin","LTG":"LiteCoin Gold","LCWP":"LiteCoinW Plus","LDOGE":"LiteDoge","LTB":"Litebar","LTCH":"Litecoin Cash","LCASH":"LitecoinCash","LTCD":"LitecoinDark","LTCP":"LitecoinPro","LTCX":"LitecoinX","LTZ":"Litecoinz","LNT":"Litenett","LTS":"Litestar Coin","LITION":"Lition","LTA":"Litra","LPC":"Little Phil","LIVE":"Live Stars","LVN":"LivenPay","LIV":"LiviaCoin","LIZ":"Lizus Payment","LTE":"Local Token Exchange","LWF":"Local World Forwarders","LOCI":"LociCoin","LOC*":"LockTrip","LGR":"Logarithm","LOKI":"Loki","LMC":"LomoCoin","LOOK":"LookCoin","LOT":"LottoCoin","LYK":"Loyakk Vega","LYL":"LoyalCoin","BASH":"LuckChain","LCK":"Luckbox","LK7":"Lucky7Coin","LUCKY":"LuckyBlocks","LKY":"LuckyCoin","LCR":"Lucre","LDM":"Ludum token","LNL":"LunarLink","LC":"Lutetium Coin","LUX**":"Luxmi Coin","LYC":"LycanCoin","LYFE":"Lyfe","LKK":"Lykke","LYNK":"Lynked.World","LYNX":"Lynx","LYB":"LyraBar","M2O":"M2O Token","MDN":"MADANA","MAKE":"MAKE","MRK":"MARK.SPACE","MCAP":"MCAP","MCV":"MCV Token","MTEL":"MEDoctor","MFX":"MFChain","MIMI":"MIMI Money","MIODIO":"MIODIOCOIN","MILC":"MIcro Licensing Coin","MMNXT":"MMNXT","MMXVI":"MMXVI","MOAC":"MOAC","MOBU":"MOBU","MOS":"MOS Coin","XDMC":"MPCX","MTCMN":"MTC Mesh","MUN":"MUNcoin","MUST":"MUST Protocol","YCE":"MYCE","MRV":"Macroverse","MDC*":"MadCoin","MAG**":"Maggie Token","MGN":"MagnaCoin","MAG*":"Magos","MMXIV":"MaieutiCoin","MSC*":"MaisCoin","MIV":"MakeItViral","MAT*":"Manet Coin","MAPC":"MapCoin","MASP":"Market.space","MRS":"MarsCoin","MARS":"MarsCoin","MARV":"Marvelous","MARYJ":"MaryJane Coin","MGD":"MassGrid","MCAR":"MasterCar","MSC":"MasterCoin","MAN*":"Matrix AI Network","MZC":"MazaCoin","MBIT":"Mbitbooks","MLITE":"MeLite","MDT*":"Measurable Data Token","MED*":"MediBloc","MEDI":"MediBond","MCU":"MediChain","MNT*":"Media Network Coin","MEDX":"Mediblock","MDC":"MedicCoin","MTN*":"Medicalchain","MHP":"MedicoHealth","MPRO":"MediumProject","MEGA":"MegaFlash","EMT*":"Memority","MMC":"MemoryCoin","MENU":"MenuBuzz","MRN":"Mercoin","MTLM3":"Metal Music v3","METAL":"MetalCoin","MET*":"Metronome","MIT":"MiMiner","MBTC":"MicroBitcoin","MUU":"MilkCoin","MIL":"Milllionaire Coin","MILO":"MiloCoin","MINC":"MinCoin","MG":"Mind Gene","MIC":"Mindexcoin","MINT*":"Mineable Token","MIO":"Miner One token","MIN":"Minerals Coin","MNM":"Mineum","MINEX":"Minex","MNX":"MinexCoin","MNTS":"Mint","XIN*":"Mixin","CHF*":"MobileBridge Momentum","MOLK":"Mobilink Token","MTRC":"ModulTrade","MDL*":"Modulum","MOIN":"MoinCoin","MOL":"Molecule","TAB":"MollyCoin","MMTM":"Momentum","MNZ":"Monaize","ZMR":"Monero 0","XMRG":"Monero Gold","XMO":"Monero Original","MONETA":"Moneta","MNV":"MonetaVerde","MTZ":"Monetizr","MNB":"MoneyBag","MONEY":"MoneyCoin","MRP*":"MoneyRebel","XMCC":"Monoeci","MBI":"Monster Byte Inc","MBLC":"Mont Blanc","MOON":"MoonCoin","LX":"Moonlight","MZG":"Moozicore","MRPH":"Morpheus Network","MRP":"MorpheusCoin","MZX":"Mosaic Network","MOAT":"Mother Of All Tokens","MSP":"Mothership","MTN**":"Motion","MOV":"MovieCoin","MTK":"Moya Token","MRSA":"MrsaCoin","MUDRA":"MudraCoin","MTT":"MulTra","MTCN":"Multiven","MRY":"MurrayCoin","MITC":"MusicLife","MUSIC":"Musicoin","MCI":"Musiconomi","MUT":"Mutual Coin","MYDFS":"MyDFS","MAZC":"MyMazzu","MT*":"MyToken","MT":"Mycelium Token","MYO":"Mycro","MPXT":"Myplacex","NEOG":"NEO Gold","NOX":"NITRO","NOAH":"NOAHCOIN","NBAR":"NOBAR","NOIZ":"NOIZ","CHFN":"NOKU CHF","EURN":"NOKU EUR","NSP":"NOMAD.space","NPC":"NPCcoin","NPER":"NPER","NVST":"NVO","NWP":"NWPSolution","NXE":"NXEcoin","NXTI":"NXTI","NXTTY":"NXTTY","NYN":"NYNJA","NYX":"NYXCOIN","NFN":"Nafen","NZE":"Nagezeni","NKT":"NakomotoDark","NAM":"Namacoin","NMH":"Namahe","NMK":"Namek","NAMO":"NamoCoin","NANO":"Nano","NHCT":"Nano Healthcare Token","NAN":"NanoToken","NAS2":"Nas2Coin","NAUT":"Nautilus Coin","NAVIB":"Navibration","NEBU":"Nebuchadnezzar","NBAI":"Nebula AI","NDC*":"NeedleCoin","NEF":"NefariousCoin","NRX":"Neironix","NEC":"NeoCoin","NEOS":"NeosCoin","NTCC":"NeptuneClassic","NBIT":"NetBit","NET":"NetCoin","NTM":"NetM","OUT":"Netscouters","NTWK":"Network Token","NETC":"NetworkCoin","NEU*":"NeuCoin","NEU":"Neumark","NRO":"Neuro","NRC":"Neurocoin","NRM":"Neuromachine","NDC":"NeverDie","NIC":"NewInvestCoin","NZC":"NewZealandCoin","NXC":"Nexium","Pakka":"NextPakk","NEXXO":"Nexxo","NGIN":"Ngin","NICE":"NiceCoin","NIHL":"Nihilo Coin","NMB":"Nimbus Coin","NIMFA":"Nimfamoney","NTC":"NineElevenTruthCoin","NDOGE":"NinjaDoge","NBR":"Niobio Cash","$NOBS":"No BS Crypto","NLC":"NoLimitCoin","NLC2":"NoLimitCoin","NOBL":"NobleCoin","NODE":"Node","NODIS":"Nodis","NVDX":"Nodvix","NRB":"NoirBits","NRS":"NoirShares","NUSD":"Nomin USD","NZO":"NonZero","NOO":"Noocoin","MNVM":"Novam","NWCN":"NowCoin","NBT":"NuBits","NUBIS":"NubisCoin","NUKE":"NukeCoin","NKC":"Nukecoinz","NLX":"Nullex","N7":"Number7","XNC*":"Numismatic Collections","OATH":"OATH Protocol","ODE":"ODEM","ODMC":"ODMCoin","OKOIN":"OKOIN","ONAM":"ONAM","OPC":"OP Coin","OPP*":"OPP Open WiFi","ORET":"ORET Token","ORM":"ORIUM","OASC":"Oasis City","OBITS":"Obits Coin","ODN":"Obsidian","OCL":"Oceanlab","OTX":"Octanox","OCTO*":"OctoBit Coin","OFCR":"OfficerCoin","OJX":"Ojooo","OLM":"Olam","ODNT":"Old Dogs New Tricks","OLDSF":"OldSafeCoin","OLV":"OldV","OLE":"Olive","OLYMP":"OlympCoin","MOT":"Olympus Labs","OMA":"OmegaCoin","OMGC":"OmiseGO Classic","ONL":"On.Live","OGT":"One Game","OSF":"One Solution","OIO":"Online","ONGAS":"Ontology Gas","OPQ":"Opacity","XPO":"Opair","OTN":"Open Trading Network","BRIX":"OpenBrix","OSC":"OpenSourceCoin","OPES":"Opes","OPP":"Opporty","OPEX":"Optherium Token","OSA":"Optimal Shelf Availability Token","OPTION":"OptionCoin","OPU":"Opu Coin","OC":"OrangeCoin","RDC":"Ordocoin","ORGT":"Organic Token","ORI":"Origami","ORS*":"OriginSport","ORLY":"OrlyCoin","ORME":"Ormeus Coin","OROC":"Orocrypt","ORV":"Orvium","OICOIN":"Osmium Investment Coin","OS76":"OsmiumCoin","OWD":"Owlstand","OYS":"Oyster Platform","SHL":"Oyster Shell","P2PS":"P2P Solutions Foundation","PQT":"PAquarium","PGF7T":"PGF500","PITCH":"PITCH","PCH":"POPCHAIN","PPOVR":"POVR","TOSS":"PROOF OF TOSS","PROUD":"PROUD Money","PROOF":"PROVER","PVP":"PVPChain","PX":"PXcoin","PCS":"Pabyosi Coin","PBC":"PabyosiCoin","PLMT":"Pallium","PND":"PandaCoin","PINKX":"PantherCoin","PAN":"Pantos","PRP":"Papyrus","PRG":"Paragon","DUO":"ParallelCoin","PARETO":"Pareto Network Token","PASL":"Pascal Lite","PAS":"Passive Coin","PTO":"Patentico","PAVO":"Pavocoin","PAX":"Paxos Standard Token","PBLK":"PayBlock","PYC":"PayCoin","PAYP":"PayPeer","PYP":"PayPro","CON_":"Paycon","PGC*":"Paygine","PMNT":"Paymon","PYT":"Payther","PEC":"PeaceCoin","PRLPAY":"PearlPay","XPB":"Pebble Coin","PBL":"Pebbles","PCO":"Pecunio","PCN":"PeepCoin","PMTN":"Peer Mountain","GUESS":"Peerguess","PPY":"Peerplays","PGC":"Pegascoin","PEN*":"PenCoin","PTA":"PentaCoin","PEPECASH":"Pepe Cash","PERU":"PeruCoin","PTC":"PesetaCoin","PETL":"Petlife","PTR":"Petro","SOUL*":"Phantasma","XPH":"PharmaCoin","PHS":"PhilosophersStone","PHM":"Phomeum","PHR*":"Phore","PHTC":"Photochain","PHO":"Photon","PKC":"Pikciochain","PTT":"Pink Taxi Token","PINMO":"Pinmo","PCOIN":"Pioneer Coin","PIO":"Pioneershares","SKULL":"Pirate Blocks","PIRL":"Pirl","PLAI":"Plair","PLAN":"Plancoin","PLANET":"PlanetCoin","PLNX":"Planumex","PTNX":"Platin","PLC*":"PlatinCoin","PNC":"PlatiniumCoin","LUC":"Play 2 Live","DN8":"Pldgr","PLG":"Pledgecamp","PLX":"PlexCoin","PLUS1":"PlusOneCoin","GPPT":"Pluto Project Coin","PTC**":"Plutocoin","PLTX":"PlutusX","POS":"PoSToken","XPS":"PoisonIvyCoin","XPOKE":"PokeChain","POKER":"PokerCoin","XPST":"PokerSports","PAL":"PolicyPal Network","PLBT":"Polybius","POLY*":"Polymath Network","PON":"Ponder","PSK":"Pool of Stake","PPS":"PopulStay","PSD":"Poseidon","PCCM":"Poseidon Chain","POSQ":"Poseidon Quark","PSM":"Prasm","ENTT":"Presale Ventures","PRE*":"Presearch","HILL":"President Clinton","PRES":"President Trump","PBT":"Primalbase","PSF":"Prime Shipping Foundation","PRIME":"Echelon Prime","PRM":"PrismChain","PRA":"ProChain","XPRO":"ProCoin","PROC":"ProCurrency","PCM":"Procom","PROD*":"Productivist","PHC":"Profit Hunters Coin","PDC":"Project Decorum","JTX":"Project J","PAI*":"Project Pai","OMX":"Project Shivom","PRFT":"Proof Suite Token","PTC*":"Propthereum","VRP":"Prosense.tv","PGL":"Prospectors","PRC":"ProsperCoin","PROTON":"Proton","XES":"Proxeus","PSEUD":"PseudoCash","PULSE":"Pulse","NPXS":"Pundi X","PUPA":"PupaCoin","PURA":"Pura","PURE":"Pure","PURK":"Purk","PRPL":"Purple Token","PRPS":"Purpose","HLP":"Purpose Coin","PUSHI":"Pushi","PYLNT":"Pylon Network","QUSD":"QUSD","QBT*":"Qbao","QOBI":"Qobit","QORA":"QoraCoin","XQR":"Qredit","QBK":"QuBuck Coin","eQUAD":"Quadrant Protocol","QNTU":"Quanta","QUANT":"Quantler","QNTR":"Quantor","QAU":"Quantum","Q1S":"Quantum1Net","QTZ":"Quartz","QTL":"Quatloo","QCN":"Quazar Coin","Q2C":"QubitCoin","QSLV":"Quicksilver coin","QUIZ":"Quizando","QUN":"QunQun","XQN":"Quotient","QVT":"Qvolta","QWARK":"Qwark","RFL":"RAFL","RAIZER":"RAIZER","KRX":"RAVN Korrax","RAWG":"RAWG","RAC":"RAcoin","RHOC":"RChain","RCN*":"RCoin","REBL":"REBL","MWAT":"RED MegaWatt","RST":"REGA Risk Sharing Token","REME":"REME-Coin","RENC":"RENC","RGC":"RG Coin","ROS":"ROS Coin","RFT":"RYFTS","RADI":"RadicalCoin","RADS":"Radium","RDN*":"Raiden Network","RF":"Raido Financial","RAINC":"RainCheck","RAP":"Rapture","ROC":"Rasputin Online Coin","RATIO":"Ratio","RAYS":"Rays Network","RZR":"RazorCoin","RWE":"Real-World Evidence","RCT":"RealChain","REA":"Realisto","RCC":"Reality Clash","XRK":"RecordsKeeper","RRT":"Recovery Right Tokens","RRC":"Recycling Regeneration Chain","REDC":"RedCab","RCX":"RedCrowCoin","REDN":"Reden","REE":"ReeCoin","REC":"Regalcoin","RDS":"Reger Diamond","RLX":"Relex","REMCO":"Remco","RPM":"Render Payment","RNS":"RenosCoin","RPB":"Republia","REPUX":"Repux","RMS":"Resumeo Shares","RBIT":"ReturnBit","RNC":"ReturnCoin","R":"Revain","RVR":"Revolution VR","XRE":"RevolverCoin","RWD":"Reward Vision","RMOB":"RewardMob","RHEA":"Rhea","XRL":"Rialto.AI","RBR":"Ribbit Rewards","RIDE":"Ride My Car","RIC":"Riecoin","RMESH":"RightMesh","RIPO":"RipOffCoin","RIPAX":"RipaEx","RIPT":"RiptideCoin","RBX":"RiptoBuX","RAC**":"RoBET","ROBET":"RoBet","RBDT":"RoBust Defense Token","PUT*":"Robin8 Profile Utility Token","RAC*":"RoboAdvisorCoin","ROX":"Robotina","RKT":"Rock Token","ROK":"Rockchain","ROCK*":"RocketCoin","RPC":"RonPaulCoin","RSC":"Ronaldinho Soccer Coin","ROOT":"RootCoin","ROOTS":"RootProject","RT2":"RotoCoin","ROUND":"RoundCoin","ROE":"Rover Coin","RKC":"Royal Kingdom Coin","RYC":"RoyalCoin","ROYAL":"RoyalCoin","RYCN":"RoyalCoin 2.0","RUBY":"Rubius","RUBIT":"Rublebit","RBY":"RubyCoin","RUPX":"Rupaya","RC":"Russiacoin","RMC":"Russian Mining Coin","RUST":"RustCoin","RUSTBITS":"Rustbits","S8C":"S88 Coin","SABR":"SABR Coin","SGA":"SAGA","SAR*":"SARCoin","SLY":"SELFLLERY","SGAT":"SGAT","SGP":"SGPay","SIDT":"SID Token","SKYFT":"SKYFchain","SMNX":"SMNX","SXDT":"SPECTRE Dividend Token","SRCOIN":"SRCoin","STACS":"STACS Token","STRS":"STARS","STEX":"STEX","STK":"STK Token","STRY":"STRYKZ","SUQA":"SUQA","SaTT":"SaTT","HAVEN":"Safe Haven","XSTC":"Safe Trade Coin","SAFEX":"SafeExchangeCoin","SFR":"SaffronCoin","SAF":"Safinus","SFU":"Saifu","SKB*":"Sakura Bloom","SKR":"Sakuracoin","SAL":"SalPay","SLS":"SaluS","SMSR":"Samsara Coin","SPN*":"Sapien Network","XAI":"SapienceCoin","XRF":"Sarf","XRN":"Saronite","SAT":"Satisfaction Token","MAD*":"SatoshiMadness","SAT2":"Saturn2Coin","ST":"Scienceroot","SNcoin":"ScientificCoin","SCOOBY":"Scooby coin","SCORE":"Scorecoin","SCOR":"Scorista","SCR*":"Scorum","SCOT":"Scotcoin","SCRIBE":"Scribe Network","SCRPT":"ScryptCoin","SCT":"ScryptToken","SRT":"Scrypto","SEAL":"Seal Network","SECI":"Seci","SRC":"SecureCoin","SEC":"SecureCryptoPayments","SRXIO":"Securix","SEEDS":"SeedShares","B2X":"SegWit2x","SEL":"SelenCoin","STOR":"Self Storage Coin","SSC":"SelfSell","SGO":"Selfie GO","SDRN":"Senderon","SENSE":"Sense Token","SEN":"Sentaro","EMOT":"Sentigraph.io","SENT":"Sentinel","SEQ":"Sequence","SERA":"Seraph","SRNT":"Serenity","SRV":"ServAdvisor","SP":"Sex Pistols","SHADE":"ShadeCoin","SDC":"ShadowCash","eSwitch":"ShareMeAll","SAK":"SharkCoin","SHP*":"Sharpe Capital","JEW":"Shekel","SHLD":"ShieldCoin","SHIFT":"Shift","SH":"Shilling","SHE":"Shine Chain","SHPT":"Shipit","SHORTY":"ShortyCoin","SHOW":"ShowCoin","SHREK":"ShrekCoin","SGL":"Sigil","SGN":"Signals Network","SIGT":"Signatum","SILKT":"SilkChain","SILK":"SilkCoin","SPLB":"SimpleBank","SIGU":"Singular","SNGLS":"SingularDTV","AGI":"SingularityNET","SKC":"Skeincoin","SKI":"Skillchain","SKRP":"Skraps","SKR*":"Skrilla Token","SKYM":"SkyMap","SLX":"Slate","SLM":"SlimCoin","SLING":"Sling Coin","SIFT":"Smart Investment Fund Token","POD":"Smart League","TASH":"Smart Trip Platform","SMART*":"SmartBillions","SLST":"SmartLands","SMT*":"SmartMesh","SMILO":"Smilo","SMOKE":"Smoke","SMF":"SmurfCoin","SNPC":"SnapCoin","SNIP":"SnipCoin","SNOV":"Snovio","XSG":"Snowgem","SEND":"Social Send","SREUR":"SocialRemit","XBOT":"SocialXbotCoin","SOIL":"SoilCoin","SOJ":"Sojourn Coin","SLR":"SolarCoin","SOLE":"SoleCoin","SOLID":"Solidified","SCT*":"Soma","SSD":"Sonic Screw Driver Coin","SOON":"SoonCoin","SNK":"Sosnovkino","SPX":"Sp8de","SCASH":"SpaceCash","SPC*":"SpaceChain","SPACE":"SpaceCoin","SPANK":"SpankChain","SPX*":"Specie","XSPEC":"Spectre","SPEND":"Spend","SPHR":"Sphere Coin","XID":"Sphre AIR","SPD*":"Spindle","SPKZ":"Spokkz","SPORT":"SportsCoin","SPF":"SportyCo","SPOT":"Spotcoin","SPOTS":"Spots","SPRTZ":"SpritzCoin","SPRTS":"Sprouts","SQP":"SqPay","SQL":"Squall Coin","SQR":"Squeezer","XSI":"Stability Shares","SBC":"StableCoin","STCN":"Stakecoin","STA*":"Stakers","STHR":"Stakerush","STALIN":"StalinCoin","STR*":"StarCoin","STAR*":"StarCoin","SRC*":"StarCredits","STP":"StashPay","SQOIN":"StasyQ","SBD*":"Steem Backed Dollars","XTL":"Stellite","SCIA":"Stem Cell","STEPS":"Steps","SLG":"SterlingCoin","STIPS":"Stips","STOCKBET":"StockBet","STQ":"Storiqa Token","SJCX":"StorjCoin","STORM":"Storm","SISA":"Strategic Investments in Significant Areas","STRAT":"Stratis","SSH":"StreamSpace","SUT":"Suapp","SUB*":"Subscriptio","SUCR":"Sucre","SGC":"Sudan Gold Coin","SGR":"Sugar Exchange","SSTC":"SunShotCoin","UNITY":"SuperNET","SEED":"Superbloom","M1":"SupplyShock","SPM":"Supreme","SUR":"Suretly","SWA":"Swace","SWACH":"Swachhcoin","BUCKS":"SwagBucks","SWEET":"SweetStake","SCN":"Swiscoin","SRC**":"SwissRealCoin","SIC":"Swisscoin","SDP":"SydPakCoin","SYC":"SynchroCoin","SYNCO":"Synco","SYNX":"Syndicate","TBT":"T-BOT","TCX":"T-Coin","TZO":"TANZŌ","TDFB":"TDFB","TFD":"TE-FOOD","TXM":"TMONEY","TOA":"TOA Coin","TPC":"TPCash","XTROPTIONS":"TROPTIONS","TTV":"TV-TWO","TWISTR":"TWIST","TTU":"TaTaTu","TCHN":"Tachain","TAK":"TakCoin","TKLN":"Taklimakan","TALAO":"Talao","TLNT":"Talent Token","TCOIN":"Talenthon","TAL":"Talentico","TAM":"TamaGucci","XTO":"Tao","TGT":"TargetCoin","TAT":"Tatiana Coin","TSE":"TattooCoin","TEC":"TeCoin","TCHB":"Teachers Blockchain","TEAM":"TeamUP","THS":"TechShares","TEK":"TekCoin","GRAM":"Telegram Open Network","TELL":"Tellurion","TENNET":"Tennet","TENZ":"Tenzorum","TERN":"Ternio","TRN":"Ternion","TVA":"Terra Virtua","TECO":"TerraEcoCoin","TGN":"TerraGreen","TER":"TerraNovaCoin","TESLA":"TeslaCoilCoin","TES":"TeslaCoin","THNX":"ThankYou","0xDIARY":"The 0xDiary Token","TFC":"The Freedom Coin","GOVT":"The Government Network","SUNEX":"The Sun Exchange","XVE":"The Vegan Initiative","CHIEF":"TheChiefCoin","GCC*":"TheGCCcoin","TAGR":"Think And Get Rich Coin","THRT":"ThriveToken","TIA":"Tianhe","TBRS":"Tiberius","TDX":"Tidex Token","TNT":"Tierion","TIE":"Ties Network","TIG":"Tigereum","XTC":"TileCoin","BILL":"TillBilly","TME":"Timereum","TMC":"TimesCoin","TIMI":"Timicoin","TIO*":"Tio Tour Guides","TTC":"TitCoin","TBAR":"Titanium BAR","TIT":"TittieCoin","TMT*":"ToTheMoon","TODAY":"TodayCoin","TKD":"Tokedo","TAAS":"Token as a Service","TDS":"TokenDesk","TPAY*":"TokenPay","TEAMT":"TokenStars TEAM Token","AIRE":"Tokenaire","TGTC":"Tokensgate","TKA":"Tokia","TOKC":"Tokyo Coin","TOT":"TotCoin","TRET":"Tourist Review","BBC":"TraDove B2BCoin","TRCT":"Tracto","TXP":"Trade Pharma Network","TIOX":"Trade Token X","TIO":"Trade.io","EXTP":"TradePlace","TDZ":"Tradelize","TRAID":"Traid","TRAK":"TrakInvest","TBCX":"TrashBurn","AVALA":"Travala","TLT":"Travelertoken","TRF":"Travelflex","TRAVEL":"Travelvee","TMT**":"Traxia Membership Token","TOT*":"Trecento Blockchain Capital","FORCE":"TriForce Tokens","TRIA":"Triaconta","TRI":"Triangles Coin","TRICK":"TrickyCoin","TRDT":"Trident","GPS":"Triffic","TRIG":"Trigger","TRIP":"Trippki","TRVC":"Trivecoin","TRVR":"Trivver","TRW":"Triwer","TPG":"Troll Payment","TKN*":"TrollTokens","TRCK":"Truckcoin","TRUMP":"TrumpCoin","TTB":"TrustaBit","WHO":"Truwho","TYM":"Tryvium","TLP":"TulipCoin","TUR":"Turron","TRT":"TuurnT","TWLV":"Twelve Coin","TWC":"Twilight","TWIST":"TwisterCoin","UCASH":"U.CASH","UCOINT":"UCOIN","UCT":"UCOT","HVE":"UHIVE","UMK":"UMKA","UNX":"UNEOX","XUP":"UPcoin","UR":"UR","URX":"URANIUMX","USAT":"USAT","USCOIN":"USCoin","USDCT":"USDCT","USOAMIC":"USOAMIC","UBC":"Ubcoin","UBIQ":"Ubiqoin","U":"Ucoin","USC":"Ultimate Secure Cash","UTC":"UltraCoin","XUN":"UltraNote","ULTC":"Umbrella","UMC":"Umbrella Coin","UNC":"UnCoin","UNAT":"Unattanium","NBOX":"Unboxed","UNF":"Unfed Coin","USX":"Unified Society USDEX","UKG":"UnikoinGold","USDE":"UnitaryStatus Dollar","UAEC":"United Arab Emirates Coin","UEC":"United Emirates Coin","UTT":"United Traders Token","UBTC":"UnitedBitcoin","GOALS":"UnitedFans","UIS":"Unitus","UTNP":"Universa","UMO":"Universal Molecule","URT":"Universal Recognition Token","URP":"Universal Reward Protocol","UNRC":"UniversalRoyalCoin","URALS":"Urals Coin","URB":"Urbit Data","URO":"UroCoin","USE":"Usechain Token","UETL":"Useless Eth Token Lite","UET":"Useless Ethereum Token","UTH":"Uther","UTL":"Utile Network","UTIL":"Utility Coin","OOT":"Utrum","UWC":"Uwezocoin","VANIG":"VANIG","VANM":"VANM","VAR":"VARcrypt","VNTY":"VENOTY","VRX Token":"VIARIUM","VIVO":"VIVO Coin","VLUX":"VLUX","VTOS":"VTOS","VTUUR":"VTUUR","VTRD":"VTradeExchange","VVI":"VV Coin","VALID":"Validator Token","VLR":"Valorem","VANY":"Vanywhere","VPRC":"VapersCoin","VAPOR":"Vaporcoin","VAD":"Varanida","VLTC":"VaultCoin","XVC":"Vcash","VC":"Vecap","VENA":"Vena Network","VNS":"Venus","VENUS":"VenusEnergy","VME":"VeriME","VRF":"Verifier","CRED":"Verify","VRTY":"Verity","VRM":"Verium","VRS":"Veros","VERSA":"Versa Token","VTEX":"Vertex","VTL":"Vertical","VST":"Vestarin","VZT":"Vezt","VIAZ":"Viaz","VTM":"Victorieum","VTY":"Victoriouscoin","VIC":"Victorium","VDO":"VidioCoin","VIDI":"Vidion","VIEW":"Viewly","VEOT":"Viewo","VIOR":"ViorCoin","IDORU":"Vip2Fan","VIRAL":"Viral Coin","VUC":"Virta Unique Coin","VTA":"VirtaCoin","XVP":"VirtacoinPlus","VRH":"Virtual Rehab","VMC":"VirtualMining Coin","VISIO":"Visio","VNX":"VisionX","VITAE":"Vitae","VIU":"Viuly","VOISE":"Voise","VOL":"VolAir","VLTX":"Volentix","VLP":"Volpo","VTN":"Voltroon","VOOT":"VootCoin","VOYA":"Voyacoin","VSX":"Vsync","VTR":"Vtorrent","VULC":"Vulcano","W12":"W12 Protocol","W3C":"W3Coin","WRL":"WHIRL","WMC":"WMCoin","WOWX":"WOWX","WRT":"WRTcoin","WTXH":"WTX HUB","WU":"WULET","WAND":"WandX","WRC*":"WarCoin","WASH":"WashingtonCoin","WUG":"WatchUGot","WMB":"WatermelonBlock","WCT":"Waves Community Token","WGO":"WavesGO","WNET":"Wavesnode.net","WAY":"WayCoin","WSX":"WeAreSatoshi","WBY":"WeBuy","WT":"WeToken","WEALTH":"WealthCoin","WVR":"Weave","WEB*":"Webchain","WDX":"WeiDex","WLME":"Wellmee","WTL":"Welltrado","WMK":"Wemark","WEX":"Wexcoin","AWT":"WhatsOnPic","WHEN":"WhenHub","WC":"WhiteCoin","WIC":"Wi Coin","WIIX":"Wiix","WINS":"WinStars","WHN":"Windhan Energy","LIF":"Winding Tree","WINK":"Wink","WISC":"WisdomCoin","WSC":"WiserCoin","WSH":"Wish Finance","WISH*":"WishFinance","WLK":"Wolk","WOMEN":"WomenCoin","WBBC":"World Bit Bank","WCG":"World Crypto Gold","XWT":"World Trade Funds","WOBTC":"WorldBTC","WDC":"WorldCoin","WOP":"WorldPay","WPT":"Worldopoly","WAX":"Worldwide Asset eXchange","WYR":"Wyrify","WYS":"Wysker","XRED":"X Real Estate Development","XC":"X11 Coin","X2":"X2Coin","XCZ":"XCOYNZ","XDE2":"XDE II","XTN":"XEND token","XG":"XG Sports","XXX":"XXXCoin","XNX":"XanaxCoin","XCSH":"Xcash","XCEL":"XcelTrip","XCG":"Xchange","XEN":"XenixCoin","XNN":"Xenon","XNB":"Xeonbit","MI":"XiaoMiCoin","XDCE":"XinFin Coin","XIOS":"Xios","XT3":"Xt3ch","XRBT":"Xtribe","YAC":"YAcCoin","YACHTCO":"Yachtco","YMC":"YamahaCoin","YMZ":"Yamzu","YBC":"YbCoin","YDY":"Ydentity","YBT":"YellowBetter","YES":"YesCoin","YOVI":"YobitVirtualCoin","YSH":"Yoshi","U42":"You42","YUM":"Yumerium","Z2":"Z2 Coin","ZAB":"ZABERcoin","ZAZA":"ZAZA","ZCC":"ZCC Coin","ZECD":"ZCashDarkCoin","ZCG":"ZCashGOLD","XZC":"ZCoin","ZEPH":"ZEPHYR","ZIX":"ZIX Token","ZLQ":"ZLiteQubit","ZMN":"ZMINE","ZNAQ":"ZNAQ","ZSE":"ZSEcoin","ZEX":"Zaddex","ZAT":"ZatGo","ZXT":"Zcrypt","ZCO":"Zebi Coin","ZED":"ZedCoins","ZEEW":"Zeew","ZEIT":"ZeitCoin","ZEL":"Zelcash","ZP":"Zen Protocol","ZND":"Zenad","ZNA":"Zenome","ZCC1":"ZeroCarbon","ZSC*":"ZeroState","ZEST":"ZestCoin","ZET2":"Zeta2Coin","ZCN*":"Zichain","ZBC":"Zilbercoin","ZIP":"Zipper","ZIPT":"Zippie","ZOI":"Zoin","ZNE":"ZoneCoin","ZOOM":"ZoomCoin","ZRC":"ZrCoin","ZUP":"Zupply Token","ZUR":"Zurcoin","ZUUM":"Zuum","AQU":"aQuest","BPN":"beepnow","OX":"betbox","BITGOLD":"bitGold","BITSILVER":"bitSilver","BITUSD":"bitUSD","CSQ":"cosquare","ECHT":"e-Chat","EBIT":"eBit","EBTC":"eBitcoin","ELTC2":"eLTC","LYQD":"eLYQD","EMU":"eMusic","ePRX":"eProxy","EREAL":"eREAL","EMPR":"empowr","FDX":"fidentiaX","FFUEL":"getFIFO","HBE":"healthbank","ICHN":"i-chain","ILT":"iOlite","ITU":"iTrue","IW":"iWallet","IMU":"imusify","ITM":"intimate.io","MCN":"mCoin","MVU":"meVu","MIBO":"miBoodle","MOOLYA":"moolyacoin","redBUX":"redBUX","SVD":"savedroid","SBA":"simplyBrand","UGC":"ugChain","VSL":"vSlice","VTAG":"veriTAG Token","WBTC*":"wBTC","OPET":"ÕpetFoundation","GQE":"Central African CFA franc","MZM":"Mozambican Metical","VEB":"Venezuelan Bolívar","ZWR":"Zimbabwean dollar","FLR":"FLARE","BLUR":"Blur","ZWD":"Zimbabwean Dollar","CGLD":"Celo Gold","DIMO":"DIMO","XTS":"Xaviera Techno Solutions","SKK":"Slovak Koruna","TMM":"Turkmenistani Manat","EUROC":"Euro Coin","SLE":"Sierra Leonean Leone","MNDE":"Marinade","OP":"Optimism","APE":"ApeCoin","ETH2":"Ethereum 2.0","00":"00 Token","STG":"Stargate Finance","SUI":"Sui","XBA":"XBank","LSETH":"Liquid Staked Ethereum","WAXL":"Axelar","WAMPL":"Wrapped Ampleforth","CBETH":"Coinbase Wrapped Staked ETH","REPV2":"REPv2","VES":"Venezuelan Bolívar","SPL":"Seborgan Luigino","TVD":"Tuvaluan Dollar","AZM":"Azerbaijani Manat","BEF":"Belgian Franc","FIM":"Finnish Markka","FRF":"French Franc","GRD":"Greek Drachma","IEP":"Irish Pound","LUF":"Luxembourg Franc","MGF":"Malagasy Franc","PTE":"Portuguese Escudo","ROL":"Romanian Leu","SDD":"Sudanese Dinar","SIT":"Slovenian Tolar","SRG":"Surinamese Guilder","XEU":"European Currency Unit"} diff --git a/country.json b/country.json new file mode 100644 index 0000000..51db99c --- /dev/null +++ b/country.json @@ -0,0 +1,1962 @@ +{ + "af": { + "country_name": "afghanistan", + "country_iso3": "afg", + "country_iso_numeric": "4", + "currency_name": "afghani", + "currency_code": "afn", + "currency_number": "971" + }, + "al": { + "country_name": "albania", + "country_iso3": "alb", + "country_iso_numeric": "8", + "currency_name": "lek", + "currency_code": "all", + "currency_number": "8" + }, + "dz": { + "country_name": "algeria", + "country_iso3": "dza", + "country_iso_numeric": "12", + "currency_name": "algerian dinar", + "currency_code": "dzd", + "currency_number": "12" + }, + "as": { + "country_name": "american samoa", + "country_iso3": "asm", + "country_iso_numeric": "16", + "currency_name": "us dollar", + "currency_code": "usd", + "currency_number": "840" + }, + "ad": { + "country_name": "andorra", + "country_iso3": "and", + "country_iso_numeric": "20", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "ao": { + "country_name": "angola", + "country_iso3": "ago", + "country_iso_numeric": "24", + "currency_name": "kwanza", + "currency_code": "aoa", + "currency_number": "973" + }, + "ai": { + "country_name": "anguilla", + "country_iso3": "aia", + "country_iso_numeric": "660", + "currency_name": "east caribbean dollar", + "currency_code": "xcd", + "currency_number": "951" + }, + "aq": { + "country_name": "antarctica", + "country_iso3": "ata", + "country_iso_numeric": "10", + "currency_name": "no universal currency", + "currency_code": "", + "currency_number": "" + }, + "ag": { + "country_name": "antigua and barbuda", + "country_iso3": "atg", + "country_iso_numeric": "28", + "currency_name": "east caribbean dollar", + "currency_code": "xcd", + "currency_number": "951" + }, + "ar": { + "country_name": "argentina", + "country_iso3": "arg", + "country_iso_numeric": "32", + "currency_name": "argentine peso", + "currency_code": "ars", + "currency_number": "32" + }, + "am": { + "country_name": "armenia", + "country_iso3": "arm", + "country_iso_numeric": "51", + "currency_name": "armenian dram", + "currency_code": "amd", + "currency_number": "51" + }, + "aw": { + "country_name": "aruba", + "country_iso3": "abw", + "country_iso_numeric": "533", + "currency_name": "aruban florin", + "currency_code": "awg", + "currency_number": "533" + }, + "au": { + "country_name": "australia", + "country_iso3": "aus", + "country_iso_numeric": "36", + "currency_name": "australian dollar", + "currency_code": "aud", + "currency_number": "36" + }, + "at": { + "country_name": "austria", + "country_iso3": "aut", + "country_iso_numeric": "40", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "az": { + "country_name": "azerbaijan", + "country_iso3": "aze", + "country_iso_numeric": "31", + "currency_name": "azerbaijanian manat", + "currency_code": "azn", + "currency_number": "944" + }, + "bs": { + "country_name": "bahamas (the)", + "country_iso3": "bhs", + "country_iso_numeric": "44", + "currency_name": "bahamian dollar", + "currency_code": "bsd", + "currency_number": "44" + }, + "bh": { + "country_name": "bahrain", + "country_iso3": "bhr", + "country_iso_numeric": "48", + "currency_name": "bahraini dinar", + "currency_code": "bhd", + "currency_number": "48" + }, + "bd": { + "country_name": "bangladesh", + "country_iso3": "bgd", + "country_iso_numeric": "50", + "currency_name": "taka", + "currency_code": "bdt", + "currency_number": "50" + }, + "bb": { + "country_name": "barbados", + "country_iso3": "brb", + "country_iso_numeric": "52", + "currency_name": "barbados dollar", + "currency_code": "bbd", + "currency_number": "52" + }, + "by": { + "country_name": "belarus", + "country_iso3": "blr", + "country_iso_numeric": "112", + "currency_name": "belarussian ruble", + "currency_code": "byn", + "currency_number": "933" + }, + "be": { + "country_name": "belgium", + "country_iso3": "bel", + "country_iso_numeric": "56", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "bz": { + "country_name": "belize", + "country_iso3": "blz", + "country_iso_numeric": "84", + "currency_name": "belize dollar", + "currency_code": "bzd", + "currency_number": "84" + }, + "bj": { + "country_name": "benin", + "country_iso3": "ben", + "country_iso_numeric": "204", + "currency_name": "cfa franc bceao", + "currency_code": "xof", + "currency_number": "952" + }, + "bm": { + "country_name": "bermuda", + "country_iso3": "bmu", + "country_iso_numeric": "60", + "currency_name": "bermudian dollar", + "currency_code": "bmd", + "currency_number": "60" + }, + "bt": { + "country_name": "bhutan", + "country_iso3": "btn", + "country_iso_numeric": "64", + "currency_name": "ngultrum", + "currency_code": "btn", + "currency_number": "64" + }, + "bo": { + "country_name": "bolivia (plurinational state of)", + "country_iso3": "bol", + "country_iso_numeric": "68", + "currency_name": "boliviano", + "currency_code": "bob", + "currency_number": "68" + }, + " sint eustatius and saba": { + "country_name": "bonaire", + "country_iso3": "bq", + "country_iso_numeric": "bes", + "currency_name": " sint eustatius and saba", + "currency_code": "us dollar", + "currency_number": "usd" + }, + "ba": { + "country_name": "bosnia and herzegovina", + "country_iso3": "bih", + "country_iso_numeric": "70", + "currency_name": "convertible mark", + "currency_code": "bam", + "currency_number": "977" + }, + "bw": { + "country_name": "botswana", + "country_iso3": "bwa", + "country_iso_numeric": "72", + "currency_name": "pula", + "currency_code": "bwp", + "currency_number": "72" + }, + "bv": { + "country_name": "bouvet island", + "country_iso3": "bvt", + "country_iso_numeric": "74", + "currency_name": "norwegian krone", + "currency_code": "nok", + "currency_number": "578" + }, + "br": { + "country_name": "brazil", + "country_iso3": "bra", + "country_iso_numeric": "76", + "currency_name": "brazilian real", + "currency_code": "brl", + "currency_number": "986" + }, + "io": { + "country_name": "british indian ocean territory (the)", + "country_iso3": "iot", + "country_iso_numeric": "86", + "currency_name": "us dollar", + "currency_code": "usd", + "currency_number": "840" + }, + "bn": { + "country_name": "brunei darussalam", + "country_iso3": "brn", + "country_iso_numeric": "96", + "currency_name": "brunei dollar", + "currency_code": "bnd", + "currency_number": "96" + }, + "bg": { + "country_name": "bulgaria", + "country_iso3": "bgr", + "country_iso_numeric": "100", + "currency_name": "bulgarian lev", + "currency_code": "bgn", + "currency_number": "975" + }, + "bf": { + "country_name": "burkina faso", + "country_iso3": "bfa", + "country_iso_numeric": "854", + "currency_name": "cfa franc bceao", + "currency_code": "xof", + "currency_number": "952" + }, + "bi": { + "country_name": "burundi", + "country_iso3": "bdi", + "country_iso_numeric": "108", + "currency_name": "burundi franc", + "currency_code": "bif", + "currency_number": "108" + }, + "cv": { + "country_name": "cabo verde", + "country_iso3": "cpv", + "country_iso_numeric": "132", + "currency_name": "cabo verde escudo", + "currency_code": "cve", + "currency_number": "132" + }, + "kh": { + "country_name": "cambodia", + "country_iso3": "khm", + "country_iso_numeric": "116", + "currency_name": "riel", + "currency_code": "khr", + "currency_number": "116" + }, + "cm": { + "country_name": "cameroon", + "country_iso3": "cmr", + "country_iso_numeric": "120", + "currency_name": "cfa franc beac", + "currency_code": "xaf", + "currency_number": "950" + }, + "ca": { + "country_name": "canada", + "country_iso3": "can", + "country_iso_numeric": "124", + "currency_name": "canadian dollar", + "currency_code": "cad", + "currency_number": "124" + }, + "ky": { + "country_name": "cayman islands (the)", + "country_iso3": "cym", + "country_iso_numeric": "136", + "currency_name": "cayman islands dollar", + "currency_code": "kyd", + "currency_number": "136" + }, + "cf": { + "country_name": "central african republic (the)", + "country_iso3": "caf", + "country_iso_numeric": "140", + "currency_name": "cfa franc beac", + "currency_code": "xaf", + "currency_number": "950" + }, + "td": { + "country_name": "chad", + "country_iso3": "tcd", + "country_iso_numeric": "148", + "currency_name": "cfa franc beac", + "currency_code": "xaf", + "currency_number": "950" + }, + "cl": { + "country_name": "chile", + "country_iso3": "chl", + "country_iso_numeric": "152", + "currency_name": "chilean peso", + "currency_code": "clp", + "currency_number": "152" + }, + "cn": { + "country_name": "china", + "country_iso3": "chn", + "country_iso_numeric": "156", + "currency_name": "yuan renminbi", + "currency_code": "cny", + "currency_number": "156" + }, + "cx": { + "country_name": "christmas island", + "country_iso3": "cxr", + "country_iso_numeric": "162", + "currency_name": "australian dollar", + "currency_code": "aud", + "currency_number": "36" + }, + "cc": { + "country_name": "cocos (keeling) islands (the)", + "country_iso3": "cck", + "country_iso_numeric": "166", + "currency_name": "australian dollar", + "currency_code": "aud", + "currency_number": "36" + }, + "co": { + "country_name": "colombia", + "country_iso3": "col", + "country_iso_numeric": "170", + "currency_name": "colombian peso", + "currency_code": "cop", + "currency_number": "170" + }, + "km": { + "country_name": "comoros (the)", + "country_iso3": "com", + "country_iso_numeric": "174", + "currency_name": "comoro franc", + "currency_code": "kmf", + "currency_number": "174" + }, + "cd": { + "country_name": "congo (the democratic republic of the)", + "country_iso3": "cod", + "country_iso_numeric": "180", + "currency_name": "congolese franc", + "currency_code": "cdf", + "currency_number": "976" + }, + "cg": { + "country_name": "congo (the)", + "country_iso3": "cog", + "country_iso_numeric": "178", + "currency_name": "cfa franc beac", + "currency_code": "xaf", + "currency_number": "950" + }, + "ck": { + "country_name": "cook islands (the)", + "country_iso3": "cok", + "country_iso_numeric": "184", + "currency_name": "new zealand dollar", + "currency_code": "nzd", + "currency_number": "554" + }, + "cr": { + "country_name": "costa rica", + "country_iso3": "cri", + "country_iso_numeric": "188", + "currency_name": "costa rican colon", + "currency_code": "crc", + "currency_number": "188" + }, + "hr": { + "country_name": "croatia", + "country_iso3": "hrv", + "country_iso_numeric": "191", + "currency_name": "kuna", + "currency_code": "hrk", + "currency_number": "191" + }, + "cu": { + "country_name": "cuba", + "country_iso3": "cub", + "country_iso_numeric": "192", + "currency_name": "cuban peso", + "currency_code": "cup", + "currency_number": "192" + }, + "cw": { + "country_name": "cura�ao", + "country_iso3": "cuw", + "country_iso_numeric": "531", + "currency_name": "netherlands antillean guilder", + "currency_code": "ang", + "currency_number": "532" + }, + "cy": { + "country_name": "cyprus", + "country_iso3": "cyp", + "country_iso_numeric": "196", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "ci": { + "country_name": "c�te d'ivoire", + "country_iso3": "civ", + "country_iso_numeric": "384", + "currency_name": "cfa franc bceao", + "currency_code": "xof", + "currency_number": "952" + }, + "dk": { + "country_name": "denmark", + "country_iso3": "dnk", + "country_iso_numeric": "208", + "currency_name": "danish krone", + "currency_code": "dkk", + "currency_number": "208" + }, + "dj": { + "country_name": "djibouti", + "country_iso3": "dji", + "country_iso_numeric": "262", + "currency_name": "djibouti franc", + "currency_code": "djf", + "currency_number": "262" + }, + "dm": { + "country_name": "dominica", + "country_iso3": "dma", + "country_iso_numeric": "212", + "currency_name": "east caribbean dollar", + "currency_code": "xcd", + "currency_number": "951" + }, + "do": { + "country_name": "dominican republic (the)", + "country_iso3": "dom", + "country_iso_numeric": "214", + "currency_name": "dominican peso", + "currency_code": "dop", + "currency_number": "214" + }, + "ec": { + "country_name": "ecuador", + "country_iso3": "ecu", + "country_iso_numeric": "218", + "currency_name": "us dollar", + "currency_code": "usd", + "currency_number": "840" + }, + "eg": { + "country_name": "egypt", + "country_iso3": "egy", + "country_iso_numeric": "818", + "currency_name": "egyptian pound", + "currency_code": "egp", + "currency_number": "818" + }, + "sv": { + "country_name": "el salvador", + "country_iso3": "slv", + "country_iso_numeric": "222", + "currency_name": "us dollar", + "currency_code": "usd", + "currency_number": "840" + }, + "gq": { + "country_name": "equatorial guinea", + "country_iso3": "gnq", + "country_iso_numeric": "226", + "currency_name": "cfa franc beac", + "currency_code": "xaf", + "currency_number": "950" + }, + "er": { + "country_name": "eritrea", + "country_iso3": "eri", + "country_iso_numeric": "232", + "currency_name": "nakfa", + "currency_code": "ern", + "currency_number": "232" + }, + "ee": { + "country_name": "estonia", + "country_iso3": "est", + "country_iso_numeric": "233", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "et": { + "country_name": "ethiopia", + "country_iso3": "eth", + "country_iso_numeric": "231", + "currency_name": "ethiopian birr", + "currency_code": "etb", + "currency_number": "230" + }, + "fk": { + "country_name": "falkland islands (the) [malvinas]", + "country_iso3": "flk", + "country_iso_numeric": "238", + "currency_name": "falkland islands pound", + "currency_code": "fkp", + "currency_number": "238" + }, + "fo": { + "country_name": "faroe islands (the)", + "country_iso3": "fro", + "country_iso_numeric": "234", + "currency_name": "danish krone", + "currency_code": "dkk", + "currency_number": "208" + }, + "fj": { + "country_name": "fiji", + "country_iso3": "fji", + "country_iso_numeric": "242", + "currency_name": "fiji dollar", + "currency_code": "fjd", + "currency_number": "242" + }, + "fi": { + "country_name": "finland", + "country_iso3": "fin", + "country_iso_numeric": "246", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "fr": { + "country_name": "france", + "country_iso3": "fra", + "country_iso_numeric": "250", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "gf": { + "country_name": "french guiana", + "country_iso3": "guf", + "country_iso_numeric": "254", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "pf": { + "country_name": "french polynesia", + "country_iso3": "pyf", + "country_iso_numeric": "258", + "currency_name": "cfp franc", + "currency_code": "xpf", + "currency_number": "953" + }, + "tf": { + "country_name": "french southern territories (the)", + "country_iso3": "atf", + "country_iso_numeric": "260", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "ga": { + "country_name": "gabon", + "country_iso3": "gab", + "country_iso_numeric": "266", + "currency_name": "cfa franc beac", + "currency_code": "xaf", + "currency_number": "950" + }, + "gm": { + "country_name": "gambia (the)", + "country_iso3": "gmb", + "country_iso_numeric": "270", + "currency_name": "dalasi", + "currency_code": "gmd", + "currency_number": "270" + }, + "ge": { + "country_name": "georgia", + "country_iso3": "geo", + "country_iso_numeric": "268", + "currency_name": "lari", + "currency_code": "gel", + "currency_number": "981" + }, + "de": { + "country_name": "germany", + "country_iso3": "deu", + "country_iso_numeric": "276", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "gh": { + "country_name": "ghana", + "country_iso3": "gha", + "country_iso_numeric": "288", + "currency_name": "ghana cedi", + "currency_code": "ghs", + "currency_number": "936" + }, + "gi": { + "country_name": "gibraltar", + "country_iso3": "gib", + "country_iso_numeric": "292", + "currency_name": "gibraltar pound", + "currency_code": "gip", + "currency_number": "292" + }, + "gr": { + "country_name": "greece", + "country_iso3": "grc", + "country_iso_numeric": "300", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "gl": { + "country_name": "greenland", + "country_iso3": "grl", + "country_iso_numeric": "304", + "currency_name": "danish krone", + "currency_code": "dkk", + "currency_number": "208" + }, + "gd": { + "country_name": "grenada", + "country_iso3": "grd", + "country_iso_numeric": "308", + "currency_name": "east caribbean dollar", + "currency_code": "xcd", + "currency_number": "951" + }, + "gp": { + "country_name": "guadeloupe", + "country_iso3": "glp", + "country_iso_numeric": "312", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "gu": { + "country_name": "guam", + "country_iso3": "gum", + "country_iso_numeric": "316", + "currency_name": "us dollar", + "currency_code": "usd", + "currency_number": "840" + }, + "gt": { + "country_name": "guatemala", + "country_iso3": "gtm", + "country_iso_numeric": "320", + "currency_name": "quetzal", + "currency_code": "gtq", + "currency_number": "320" + }, + "gg": { + "country_name": "guernsey", + "country_iso3": "ggy", + "country_iso_numeric": "831", + "currency_name": "pound sterling", + "currency_code": "gbp", + "currency_number": "826" + }, + "gn": { + "country_name": "guinea", + "country_iso3": "gin", + "country_iso_numeric": "324", + "currency_name": "guinea franc", + "currency_code": "gnf", + "currency_number": "324" + }, + "gw": { + "country_name": "guinea-bissau", + "country_iso3": "gnb", + "country_iso_numeric": "624", + "currency_name": "cfa franc bceao", + "currency_code": "xof", + "currency_number": "952" + }, + "gy": { + "country_name": "guyana", + "country_iso3": "guy", + "country_iso_numeric": "328", + "currency_name": "guyana dollar", + "currency_code": "gyd", + "currency_number": "328" + }, + "ht": { + "country_name": "haiti", + "country_iso3": "hti", + "country_iso_numeric": "332", + "currency_name": "gourde", + "currency_code": "htg", + "currency_number": "332" + }, + "hm": { + "country_name": "heard island and mcdonald islands", + "country_iso3": "hmd", + "country_iso_numeric": "334", + "currency_name": "australian dollar", + "currency_code": "aud", + "currency_number": "36" + }, + "va": { + "country_name": "holy see (the)", + "country_iso3": "vat", + "country_iso_numeric": "336", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "hn": { + "country_name": "honduras", + "country_iso3": "hnd", + "country_iso_numeric": "340", + "currency_name": "lempira", + "currency_code": "hnl", + "currency_number": "340" + }, + "hk": { + "country_name": "hong kong", + "country_iso3": "hkg", + "country_iso_numeric": "344", + "currency_name": "hong kong dollar", + "currency_code": "hkd", + "currency_number": "344" + }, + "hu": { + "country_name": "hungary", + "country_iso3": "hun", + "country_iso_numeric": "348", + "currency_name": "forint", + "currency_code": "huf", + "currency_number": "348" + }, + "is": { + "country_name": "iceland", + "country_iso3": "isl", + "country_iso_numeric": "352", + "currency_name": "iceland krona", + "currency_code": "isk", + "currency_number": "352" + }, + "in": { + "country_name": "india", + "country_iso3": "ind", + "country_iso_numeric": "356", + "currency_name": "indian rupee", + "currency_code": "inr", + "currency_number": "356" + }, + "id": { + "country_name": "indonesia", + "country_iso3": "idn", + "country_iso_numeric": "360", + "currency_name": "rupiah", + "currency_code": "idr", + "currency_number": "360" + }, + "ir": { + "country_name": "iran (islamic republic of)", + "country_iso3": "irn", + "country_iso_numeric": "364", + "currency_name": "iranian rial", + "currency_code": "irr", + "currency_number": "364" + }, + "iq": { + "country_name": "iraq", + "country_iso3": "irq", + "country_iso_numeric": "368", + "currency_name": "iraqi dinar", + "currency_code": "iqd", + "currency_number": "368" + }, + "ie": { + "country_name": "ireland", + "country_iso3": "irl", + "country_iso_numeric": "372", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "im": { + "country_name": "isle of man", + "country_iso3": "imn", + "country_iso_numeric": "833", + "currency_name": "pound sterling", + "currency_code": "gbp", + "currency_number": "826" + }, + "il": { + "country_name": "israel", + "country_iso3": "isr", + "country_iso_numeric": "376", + "currency_name": "new israeli sheqel", + "currency_code": "ils", + "currency_number": "376" + }, + "it": { + "country_name": "italy", + "country_iso3": "ita", + "country_iso_numeric": "380", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "jm": { + "country_name": "jamaica", + "country_iso3": "jam", + "country_iso_numeric": "388", + "currency_name": "jamaican dollar", + "currency_code": "jmd", + "currency_number": "388" + }, + "jp": { + "country_name": "japan", + "country_iso3": "jpn", + "country_iso_numeric": "392", + "currency_name": "yen", + "currency_code": "jpy", + "currency_number": "392" + }, + "je": { + "country_name": "jersey", + "country_iso3": "jey", + "country_iso_numeric": "832", + "currency_name": "pound sterling", + "currency_code": "gbp", + "currency_number": "826" + }, + "jo": { + "country_name": "jordan", + "country_iso3": "jor", + "country_iso_numeric": "400", + "currency_name": "jordanian dinar", + "currency_code": "jod", + "currency_number": "400" + }, + "kz": { + "country_name": "kazakhstan", + "country_iso3": "kaz", + "country_iso_numeric": "398", + "currency_name": "tenge", + "currency_code": "kzt", + "currency_number": "398" + }, + "ke": { + "country_name": "kenya", + "country_iso3": "ken", + "country_iso_numeric": "404", + "currency_name": "kenyan shilling", + "currency_code": "kes", + "currency_number": "404" + }, + "ki": { + "country_name": "kiribati", + "country_iso3": "kir", + "country_iso_numeric": "296", + "currency_name": "australian dollar", + "currency_code": "aud", + "currency_number": "36" + }, + "kr": { + "country_name": "korea (the republic of)", + "country_iso3": "kor", + "country_iso_numeric": "410", + "currency_name": "won", + "currency_code": "krw", + "currency_number": "410" + }, + "kw": { + "country_name": "kuwait", + "country_iso3": "kwt", + "country_iso_numeric": "414", + "currency_name": "kuwaiti dinar", + "currency_code": "kwd", + "currency_number": "414" + }, + "kg": { + "country_name": "kyrgyzstan", + "country_iso3": "kgz", + "country_iso_numeric": "417", + "currency_name": "som", + "currency_code": "kgs", + "currency_number": "417" + }, + "lv": { + "country_name": "latvia", + "country_iso3": "lva", + "country_iso_numeric": "428", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "lb": { + "country_name": "lebanon", + "country_iso3": "lbn", + "country_iso_numeric": "422", + "currency_name": "lebanese pound", + "currency_code": "lbp", + "currency_number": "422" + }, + "ls": { + "country_name": "lesotho", + "country_iso3": "lso", + "country_iso_numeric": "426", + "currency_name": "loti", + "currency_code": "lsl", + "currency_number": "426" + }, + "lr": { + "country_name": "liberia", + "country_iso3": "lbr", + "country_iso_numeric": "430", + "currency_name": "liberian dollar", + "currency_code": "lrd", + "currency_number": "430" + }, + "ly": { + "country_name": "libya", + "country_iso3": "lby", + "country_iso_numeric": "434", + "currency_name": "libyan dinar", + "currency_code": "lyd", + "currency_number": "434" + }, + "li": { + "country_name": "liechtenstein", + "country_iso3": "lie", + "country_iso_numeric": "438", + "currency_name": "swiss franc", + "currency_code": "chf", + "currency_number": "756" + }, + "lt": { + "country_name": "lithuania", + "country_iso3": "ltu", + "country_iso_numeric": "440", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "lu": { + "country_name": "luxembourg", + "country_iso3": "lux", + "country_iso_numeric": "442", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "mo": { + "country_name": "macao", + "country_iso3": "mac", + "country_iso_numeric": "446", + "currency_name": "pataca", + "currency_code": "mop", + "currency_number": "446" + }, + "mg": { + "country_name": "madagascar", + "country_iso3": "mdg", + "country_iso_numeric": "450", + "currency_name": "malagasy ariary", + "currency_code": "mga", + "currency_number": "969" + }, + "mw": { + "country_name": "malawi", + "country_iso3": "mwi", + "country_iso_numeric": "454", + "currency_name": "kwacha", + "currency_code": "mwk", + "currency_number": "454" + }, + "my": { + "country_name": "malaysia", + "country_iso3": "mys", + "country_iso_numeric": "458", + "currency_name": "malaysian ringgit", + "currency_code": "myr", + "currency_number": "458" + }, + "mv": { + "country_name": "maldives", + "country_iso3": "mdv", + "country_iso_numeric": "462", + "currency_name": "rufiyaa", + "currency_code": "mvr", + "currency_number": "462" + }, + "ml": { + "country_name": "mali", + "country_iso3": "mli", + "country_iso_numeric": "466", + "currency_name": "cfa franc bceao", + "currency_code": "xof", + "currency_number": "952" + }, + "mt": { + "country_name": "malta", + "country_iso3": "mlt", + "country_iso_numeric": "470", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "mh": { + "country_name": "marshall islands (the)", + "country_iso3": "mhl", + "country_iso_numeric": "584", + "currency_name": "us dollar", + "currency_code": "usd", + "currency_number": "840" + }, + "mq": { + "country_name": "martinique", + "country_iso3": "mtq", + "country_iso_numeric": "474", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "mr": { + "country_name": "mauritania", + "country_iso3": "mrt", + "country_iso_numeric": "478", + "currency_name": "ouguiya", + "currency_code": "mru", + "currency_number": "929" + }, + "mu": { + "country_name": "mauritius", + "country_iso3": "mus", + "country_iso_numeric": "480", + "currency_name": "mauritius rupee", + "currency_code": "mur", + "currency_number": "480" + }, + "yt": { + "country_name": "mayotte", + "country_iso3": "myt", + "country_iso_numeric": "175", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "mx": { + "country_name": "mexico", + "country_iso3": "mex", + "country_iso_numeric": "484", + "currency_name": "mexican peso", + "currency_code": "mxn", + "currency_number": "484" + }, + "fm": { + "country_name": "micronesia (federated states of)", + "country_iso3": "fsm", + "country_iso_numeric": "583", + "currency_name": "us dollar", + "currency_code": "usd", + "currency_number": "840" + }, + "md": { + "country_name": "moldova (the republic of)", + "country_iso3": "mda", + "country_iso_numeric": "498", + "currency_name": "moldovan leu", + "currency_code": "mdl", + "currency_number": "498" + }, + "mc": { + "country_name": "monaco", + "country_iso3": "mco", + "country_iso_numeric": "492", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "mn": { + "country_name": "mongolia", + "country_iso3": "mng", + "country_iso_numeric": "496", + "currency_name": "tugrik", + "currency_code": "mnt", + "currency_number": "496" + }, + "me": { + "country_name": "montenegro", + "country_iso3": "mne", + "country_iso_numeric": "499", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "ms": { + "country_name": "montserrat", + "country_iso3": "msr", + "country_iso_numeric": "500", + "currency_name": "east caribbean dollar", + "currency_code": "xcd", + "currency_number": "951" + }, + "ma": { + "country_name": "morocco", + "country_iso3": "mar", + "country_iso_numeric": "504", + "currency_name": "moroccan dirham", + "currency_code": "mad", + "currency_number": "504" + }, + "mz": { + "country_name": "mozambique", + "country_iso3": "moz", + "country_iso_numeric": "508", + "currency_name": "mozambique metical", + "currency_code": "mzn", + "currency_number": "943" + }, + "mm": { + "country_name": "myanmar", + "country_iso3": "mmr", + "country_iso_numeric": "104", + "currency_name": "kyat", + "currency_code": "mmk", + "currency_number": "104" + }, + "na": { + "country_name": "namibia", + "country_iso3": "nam", + "country_iso_numeric": "516", + "currency_name": "namibia dollar", + "currency_code": "nad", + "currency_number": "516" + }, + "nr": { + "country_name": "nauru", + "country_iso3": "nru", + "country_iso_numeric": "520", + "currency_name": "australian dollar", + "currency_code": "aud", + "currency_number": "36" + }, + "np": { + "country_name": "nepal", + "country_iso3": "npl", + "country_iso_numeric": "524", + "currency_name": "nepalese rupee", + "currency_code": "npr", + "currency_number": "524" + }, + "nl": { + "country_name": "netherlands (the)", + "country_iso3": "nld", + "country_iso_numeric": "528", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "nc": { + "country_name": "new caledonia", + "country_iso3": "ncl", + "country_iso_numeric": "540", + "currency_name": "cfp franc", + "currency_code": "xpf", + "currency_number": "953" + }, + "nz": { + "country_name": "new zealand", + "country_iso3": "nzl", + "country_iso_numeric": "554", + "currency_name": "new zealand dollar", + "currency_code": "nzd", + "currency_number": "554" + }, + "ni": { + "country_name": "nicaragua", + "country_iso3": "nic", + "country_iso_numeric": "558", + "currency_name": "cordoba oro", + "currency_code": "nio", + "currency_number": "558" + }, + "ne": { + "country_name": "niger (the)", + "country_iso3": "ner", + "country_iso_numeric": "562", + "currency_name": "cfa franc bceao", + "currency_code": "xof", + "currency_number": "952" + }, + "ng": { + "country_name": "nigeria", + "country_iso3": "nga", + "country_iso_numeric": "566", + "currency_name": "naira", + "currency_code": "ngn", + "currency_number": "566" + }, + "nu": { + "country_name": "niue", + "country_iso3": "niu", + "country_iso_numeric": "570", + "currency_name": "new zealand dollar", + "currency_code": "nzd", + "currency_number": "554" + }, + "nf": { + "country_name": "norfolk island", + "country_iso3": "nfk", + "country_iso_numeric": "574", + "currency_name": "australian dollar", + "currency_code": "aud", + "currency_number": "36" + }, + "mp": { + "country_name": "northern mariana islands (the)", + "country_iso3": "mnp", + "country_iso_numeric": "580", + "currency_name": "us dollar", + "currency_code": "usd", + "currency_number": "840" + }, + "no": { + "country_name": "norway", + "country_iso3": "nor", + "country_iso_numeric": "578", + "currency_name": "norwegian krone", + "currency_code": "nok", + "currency_number": "578" + }, + "om": { + "country_name": "oman", + "country_iso3": "omn", + "country_iso_numeric": "512", + "currency_name": "rial omani", + "currency_code": "omr", + "currency_number": "512" + }, + "pk": { + "country_name": "pakistan", + "country_iso3": "pak", + "country_iso_numeric": "586", + "currency_name": "pakistan rupee", + "currency_code": "pkr", + "currency_number": "586" + }, + "pw": { + "country_name": "palau", + "country_iso3": "plw", + "country_iso_numeric": "585", + "currency_name": "us dollar", + "currency_code": "usd", + "currency_number": "840" + }, + " state of": { + "country_name": "palestine", + "country_iso3": "ps", + "country_iso_numeric": "pse", + "currency_name": " state of", + "currency_code": "no universal currency", + "currency_number": "" + }, + "pa": { + "country_name": "panama", + "country_iso3": "pan", + "country_iso_numeric": "591", + "currency_name": "balboa", + "currency_code": "pab", + "currency_number": "590" + }, + "pg": { + "country_name": "papua new guinea", + "country_iso3": "png", + "country_iso_numeric": "598", + "currency_name": "kina", + "currency_code": "pgk", + "currency_number": "598" + }, + "py": { + "country_name": "paraguay", + "country_iso3": "pry", + "country_iso_numeric": "600", + "currency_name": "guarani", + "currency_code": "pyg", + "currency_number": "600" + }, + "pe": { + "country_name": "peru", + "country_iso3": "per", + "country_iso_numeric": "604", + "currency_name": "nuevo sol", + "currency_code": "pen", + "currency_number": "604" + }, + "ph": { + "country_name": "philippines (the)", + "country_iso3": "phl", + "country_iso_numeric": "608", + "currency_name": "philippine peso", + "currency_code": "php", + "currency_number": "608" + }, + "pn": { + "country_name": "pitcairn", + "country_iso3": "pcn", + "country_iso_numeric": "612", + "currency_name": "new zealand dollar", + "currency_code": "nzd", + "currency_number": "554" + }, + "pl": { + "country_name": "poland", + "country_iso3": "pol", + "country_iso_numeric": "616", + "currency_name": "zloty", + "currency_code": "pln", + "currency_number": "985" + }, + "pt": { + "country_name": "portugal", + "country_iso3": "prt", + "country_iso_numeric": "620", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "pr": { + "country_name": "puerto rico", + "country_iso3": "pri", + "country_iso_numeric": "630", + "currency_name": "us dollar", + "currency_code": "usd", + "currency_number": "840" + }, + "qa": { + "country_name": "qatar", + "country_iso3": "qat", + "country_iso_numeric": "634", + "currency_name": "qatari rial", + "currency_code": "qar", + "currency_number": "634" + }, + "mk": { + "country_name": "republic of north macedonia", + "country_iso3": "mkd", + "country_iso_numeric": "807", + "currency_name": "denar", + "currency_code": "mkd", + "currency_number": "807" + }, + "ro": { + "country_name": "romania", + "country_iso3": "rou", + "country_iso_numeric": "642", + "currency_name": "romanian leu", + "currency_code": "ron", + "currency_number": "946" + }, + "ru": { + "country_name": "russian federation (the)", + "country_iso3": "rus", + "country_iso_numeric": "643", + "currency_name": "russian ruble", + "currency_code": "rub", + "currency_number": "643" + }, + "rw": { + "country_name": "rwanda", + "country_iso3": "rwa", + "country_iso_numeric": "646", + "currency_name": "rwanda franc", + "currency_code": "rwf", + "currency_number": "646" + }, + "re": { + "country_name": "r�union", + "country_iso3": "reu", + "country_iso_numeric": "638", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "bl": { + "country_name": "saint barth�lemy", + "country_iso3": "blm", + "country_iso_numeric": "652", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + " ascension and tristan da cunha": { + "country_name": "saint helena", + "country_iso3": "sh", + "country_iso_numeric": "shn", + "currency_name": " ascension and tristan da cunha", + "currency_code": "saint helena pound", + "currency_number": "shp" + }, + "kn": { + "country_name": "saint kitts and nevis", + "country_iso3": "kna", + "country_iso_numeric": "659", + "currency_name": "east caribbean dollar", + "currency_code": "xcd", + "currency_number": "951" + }, + "lc": { + "country_name": "saint lucia", + "country_iso3": "lca", + "country_iso_numeric": "662", + "currency_name": "east caribbean dollar", + "currency_code": "xcd", + "currency_number": "951" + }, + "mf": { + "country_name": "saint martin (french part)", + "country_iso3": "maf", + "country_iso_numeric": "663", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "pm": { + "country_name": "saint pierre and miquelon", + "country_iso3": "spm", + "country_iso_numeric": "666", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "vc": { + "country_name": "saint vincent and the grenadines", + "country_iso3": "vct", + "country_iso_numeric": "670", + "currency_name": "east caribbean dollar", + "currency_code": "xcd", + "currency_number": "951" + }, + "ws": { + "country_name": "samoa", + "country_iso3": "wsm", + "country_iso_numeric": "882", + "currency_name": "tala", + "currency_code": "wst", + "currency_number": "882" + }, + "sm": { + "country_name": "san marino", + "country_iso3": "smr", + "country_iso_numeric": "674", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "st": { + "country_name": "sao tome and principe", + "country_iso3": "stp", + "country_iso_numeric": "678", + "currency_name": "dobra", + "currency_code": "stn", + "currency_number": "930" + }, + "sa": { + "country_name": "saudi arabia", + "country_iso3": "sau", + "country_iso_numeric": "682", + "currency_name": "saudi riyal", + "currency_code": "sar", + "currency_number": "682" + }, + "sn": { + "country_name": "senegal", + "country_iso3": "sen", + "country_iso_numeric": "686", + "currency_name": "cfa franc bceao", + "currency_code": "xof", + "currency_number": "952" + }, + "rs": { + "country_name": "serbia", + "country_iso3": "srb", + "country_iso_numeric": "688", + "currency_name": "serbian dinar", + "currency_code": "rsd", + "currency_number": "941" + }, + "sc": { + "country_name": "seychelles", + "country_iso3": "syc", + "country_iso_numeric": "690", + "currency_name": "seychelles rupee", + "currency_code": "scr", + "currency_number": "690" + }, + "sl": { + "country_name": "sierra leone", + "country_iso3": "sle", + "country_iso_numeric": "694", + "currency_name": "leone", + "currency_code": "sll", + "currency_number": "694" + }, + "sg": { + "country_name": "singapore", + "country_iso3": "sgp", + "country_iso_numeric": "702", + "currency_name": "singapore dollar", + "currency_code": "sgd", + "currency_number": "702" + }, + "sx": { + "country_name": "sint maarten (dutch part)", + "country_iso3": "sxm", + "country_iso_numeric": "534", + "currency_name": "netherlands antillean guilder", + "currency_code": "ang", + "currency_number": "532" + }, + "sk": { + "country_name": "slovakia", + "country_iso3": "svk", + "country_iso_numeric": "703", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "si": { + "country_name": "slovenia", + "country_iso3": "svn", + "country_iso_numeric": "705", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "sb": { + "country_name": "solomon islands", + "country_iso3": "slb", + "country_iso_numeric": "90", + "currency_name": "solomon islands dollar", + "currency_code": "sbd", + "currency_number": "90" + }, + "so": { + "country_name": "somalia", + "country_iso3": "som", + "country_iso_numeric": "706", + "currency_name": "somali shilling", + "currency_code": "sos", + "currency_number": "706" + }, + "za": { + "country_name": "south africa", + "country_iso3": "zaf", + "country_iso_numeric": "710", + "currency_name": "rand", + "currency_code": "zar", + "currency_number": "710" + }, + "gs": { + "country_name": "south georgia and the south sandwich islands", + "country_iso3": "sgs", + "country_iso_numeric": "239", + "currency_name": "no universal currency", + "currency_code": "", + "currency_number": "" + }, + "ss": { + "country_name": "south sudan", + "country_iso3": "ssd", + "country_iso_numeric": "728", + "currency_name": "south sudanese pound", + "currency_code": "ssp", + "currency_number": "728" + }, + "es": { + "country_name": "spain", + "country_iso3": "esp", + "country_iso_numeric": "724", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + }, + "lk": { + "country_name": "sri lanka", + "country_iso3": "lka", + "country_iso_numeric": "144", + "currency_name": "sri lanka rupee", + "currency_code": "lkr", + "currency_number": "144" + }, + "sd": { + "country_name": "sudan (the)", + "country_iso3": "sdn", + "country_iso_numeric": "729", + "currency_name": "sudanese pound", + "currency_code": "sdg", + "currency_number": "938" + }, + "sr": { + "country_name": "suriname", + "country_iso3": "sur", + "country_iso_numeric": "740", + "currency_name": "surinam dollar", + "currency_code": "srd", + "currency_number": "968" + }, + "sj": { + "country_name": "svalbard and jan mayen", + "country_iso3": "sjm", + "country_iso_numeric": "744", + "currency_name": "norwegian krone", + "currency_code": "nok", + "currency_number": "578" + }, + "se": { + "country_name": "sweden", + "country_iso3": "swe", + "country_iso_numeric": "752", + "currency_name": "swedish krona", + "currency_code": "sek", + "currency_number": "752" + }, + "ch": { + "country_name": "switzerland", + "country_iso3": "che", + "country_iso_numeric": "756", + "currency_name": "swiss franc", + "currency_code": "chf", + "currency_number": "756" + }, + "sy": { + "country_name": "syrian arab republic", + "country_iso3": "syr", + "country_iso_numeric": "760", + "currency_name": "syrian pound", + "currency_code": "syp", + "currency_number": "760" + }, + "tw": { + "country_name": "taiwan (province of china)", + "country_iso3": "twn", + "country_iso_numeric": "158", + "currency_name": "new taiwan dollar", + "currency_code": "twd", + "currency_number": "901" + }, + "tj": { + "country_name": "tajikistan", + "country_iso3": "tjk", + "country_iso_numeric": "762", + "currency_name": "somoni", + "currency_code": "tjs", + "currency_number": "972" + }, + " united republic of": { + "country_name": "tanzania", + "country_iso3": "tz", + "country_iso_numeric": "tza", + "currency_name": " united republic of", + "currency_code": "tanzanian shilling", + "currency_number": "tzs" + }, + "th": { + "country_name": "thailand", + "country_iso3": "tha", + "country_iso_numeric": "764", + "currency_name": "baht", + "currency_code": "thb", + "currency_number": "764" + }, + "tl": { + "country_name": "timor-leste", + "country_iso3": "tls", + "country_iso_numeric": "626", + "currency_name": "us dollar", + "currency_code": "usd", + "currency_number": "840" + }, + "tg": { + "country_name": "togo", + "country_iso3": "tgo", + "country_iso_numeric": "768", + "currency_name": "cfa franc bceao", + "currency_code": "xof", + "currency_number": "952" + }, + "tk": { + "country_name": "tokelau", + "country_iso3": "tkl", + "country_iso_numeric": "772", + "currency_name": "new zealand dollar", + "currency_code": "nzd", + "currency_number": "554" + }, + "to": { + "country_name": "tonga", + "country_iso3": "ton", + "country_iso_numeric": "776", + "currency_name": "pa�anga", + "currency_code": "top", + "currency_number": "776" + }, + "tt": { + "country_name": "trinidad and tobago", + "country_iso3": "tto", + "country_iso_numeric": "780", + "currency_name": "trinidad and tobago dollar", + "currency_code": "ttd", + "currency_number": "780" + }, + "tn": { + "country_name": "tunisia", + "country_iso3": "tun", + "country_iso_numeric": "788", + "currency_name": "tunisian dinar", + "currency_code": "tnd", + "currency_number": "788" + }, + "tr": { + "country_name": "turkey", + "country_iso3": "tur", + "country_iso_numeric": "792", + "currency_name": "turkish lira", + "currency_code": "try", + "currency_number": "949" + }, + "tm": { + "country_name": "turkmenistan", + "country_iso3": "tkm", + "country_iso_numeric": "795", + "currency_name": "turkmenistan new manat", + "currency_code": "tmt", + "currency_number": "934" + }, + "tc": { + "country_name": "turks and caicos islands (the)", + "country_iso3": "tca", + "country_iso_numeric": "796", + "currency_name": "us dollar", + "currency_code": "usd", + "currency_number": "840" + }, + "tv": { + "country_name": "tuvalu", + "country_iso3": "tuv", + "country_iso_numeric": "798", + "currency_name": "australian dollar", + "currency_code": "aud", + "currency_number": "36" + }, + "ug": { + "country_name": "uganda", + "country_iso3": "uga", + "country_iso_numeric": "800", + "currency_name": "uganda shilling", + "currency_code": "ugx", + "currency_number": "800" + }, + "ua": { + "country_name": "ukraine", + "country_iso3": "ukr", + "country_iso_numeric": "804", + "currency_name": "hryvnia", + "currency_code": "uah", + "currency_number": "980" + }, + "ae": { + "country_name": "united arab emirates (the)", + "country_iso3": "are", + "country_iso_numeric": "784", + "currency_name": "uae dirham", + "currency_code": "aed", + "currency_number": "784" + }, + "gb": { + "country_name": "united kingdom of great britain and northern ireland (the)", + "country_iso3": "gbr", + "country_iso_numeric": "826", + "currency_name": "pound sterling", + "currency_code": "gbp", + "currency_number": "826" + }, + "um": { + "country_name": "united states minor outlying islands (the)", + "country_iso3": "umi", + "country_iso_numeric": "581", + "currency_name": "us dollar", + "currency_code": "usd", + "currency_number": "840" + }, + "us": { + "country_name": "united states of america (the)", + "country_iso3": "usa", + "country_iso_numeric": "840", + "currency_name": "us dollar", + "currency_code": "usd", + "currency_number": "840" + }, + "uy": { + "country_name": "uruguay", + "country_iso3": "ury", + "country_iso_numeric": "858", + "currency_name": "peso uruguayo", + "currency_code": "uyu", + "currency_number": "858" + }, + "uz": { + "country_name": "uzbekistan", + "country_iso3": "uzb", + "country_iso_numeric": "860", + "currency_name": "uzbekistan sum", + "currency_code": "uzs", + "currency_number": "860" + }, + "vu": { + "country_name": "vanuatu", + "country_iso3": "vut", + "country_iso_numeric": "548", + "currency_name": "vatu", + "currency_code": "vuv", + "currency_number": "548" + }, + "ve": { + "country_name": "venezuela (bolivarian republic of)", + "country_iso3": "ven", + "country_iso_numeric": "862", + "currency_name": "bolivar", + "currency_code": "vef", + "currency_number": "937" + }, + "vn": { + "country_name": "viet nam", + "country_iso3": "vnm", + "country_iso_numeric": "704", + "currency_name": "dong", + "currency_code": "vnd", + "currency_number": "704" + }, + "vg": { + "country_name": "virgin islands (british)", + "country_iso3": "vgb", + "country_iso_numeric": "92", + "currency_name": "us dollar", + "currency_code": "usd", + "currency_number": "840" + }, + "vi": { + "country_name": "virgin islands (u.s.)", + "country_iso3": "vir", + "country_iso_numeric": "850", + "currency_name": "us dollar", + "currency_code": "usd", + "currency_number": "840" + }, + "wf": { + "country_name": "wallis and futuna", + "country_iso3": "wlf", + "country_iso_numeric": "876", + "currency_name": "cfp franc", + "currency_code": "xpf", + "currency_number": "953" + }, + "eh": { + "country_name": "western sahara", + "country_iso3": "esh", + "country_iso_numeric": "732", + "currency_name": "moroccan dirham", + "currency_code": "mad", + "currency_number": "504" + }, + "ye": { + "country_name": "yemen", + "country_iso3": "yem", + "country_iso_numeric": "887", + "currency_name": "yemeni rial", + "currency_code": "yer", + "currency_number": "886" + }, + "zm": { + "country_name": "zambia", + "country_iso3": "zmb", + "country_iso_numeric": "894", + "currency_name": "zambian kwacha", + "currency_code": "zmw", + "currency_number": "967" + }, + "zw": { + "country_name": "zimbabwe", + "country_iso3": "zwe", + "country_iso_numeric": "716", + "currency_name": "zimbabwe dollar", + "currency_code": "zwl", + "currency_number": "932" + }, + "ax": { + "country_name": "Åland islands", + "country_iso3": "ala", + "country_iso_numeric": "248", + "currency_name": "euro", + "currency_code": "eur", + "currency_number": "978" + } +} \ No newline at end of file diff --git a/currscript.js b/currscript.js new file mode 100644 index 0000000..a6832d5 --- /dev/null +++ b/currscript.js @@ -0,0 +1,222 @@ +const fs = require('fs-extra') +const path = require('path') +const { firefox, devices } = require('playwright') + + +// spaces to be used for prettify/json.stringify +const indent = 4 + +// By market capitalization +// Ref: https://coinmarketcap.com/all/views/all/ +let topCryptoCurrency = ["BTC","ETH","ADA","BNB","USDT","XRP","SOL","DOT","DOGE","USDC","UNI","LUNA","LINK","AVAX","LTC","BUSD","AAVE","FRAX","HBAR", + "BCH","ALGO","WBTC","ICP","MATIC","FIL","TRX","FTT","XLM","VET","ATOM","ETC","THETA","DAI","XMR","MANA","ZEC","TUSD","EOS","AXS", + "ONE","EGLD","CHZ","GRT","1INCH","INJ","ENJ","KSM","CRO","SHIB","LEO","NEAR","BTCB","FLOW","XTZ","KCS", "SAND","KLAY","MKR", + "HT","DFI","TTT","WAVES","HNT","BSV","USDP","MIOTA","FTM","XEC","RUNE","QNT","NEO","CAKE","STX","LRC","OKB","NEXO","ZIL","DASH", + "PAXG","CELO","BAT","CVX","CRV","KAVA","GALA","DCR","GNO","AMP","XDC","WEMIX","XEM","MINA","HOT","AR","GT","FEI","COMP","QTUM", + "KNC","BTG","KDA","mBTC","uBTC","mETH","XCH","BSW","BAKE","KAS", "TON", "RVN","LDO","MNT","APT","ARB","OP","USDD","IMX","APE","SNX", + "RNDR","RPL","XAUt","FXS","PEPE","CFX","CSPR","BTT","SUI","LUNC","GUSD","TWT","GMX","AKT","NFT","FLR","DYDX","WOO","MBX","AGIX", + "ORDI","1000SATS"] + +let currencyCodesToRemove = ["CLF"] + +let currLink, currLink2, currLink3, currLink3Key, cryptoLink +if (process.env.CI) { + currLink = process.env.currlink + currLink2 = process.env.currlink2 + currLink3 = process.env.currlink3 + currLink3Key = process.env.currlink3key + cryptoLink = process.env.cryptolink +} else { + [currLink, currLink2, currLink3, currLink3Key, cryptoLink] = fs.readFileSync(path.join(__dirname, 'links.ini')).toString().split(/\r?\n/).map(e => e.trim()) +} +// curr means currency +// stores consolidated currencies in currcode:currname format i.e USD:US Dollar +let allcurr = fs.readFileSync(path.join(__dirname, 'allcurrencies.min.json')).toString() +allcurr = JSON.parse(allcurr) + +// Takes allcurr and have all the keys in uppercase +const allcurrKeyUpper = {} +for (const [key, value] of Object.entries(allcurr)) { allcurrKeyUpper[key.toUpperCase()] = value } + +// Takes allcurr and store in lowercase currname:currcode format i.e. us dollar:usd +const allcurrLower = {} +for (const [key, value] of Object.entries(allcurr)) { allcurrLower[value.toLowerCase()] = key.toLowerCase() } + +const dateToday = new Date().toISOString().substring(0, 10) + + +begin() +// Begins the program +async function begin() { + // launch the browser + // await launchBrowser() + + const latestDir = path.join(__dirname, 'latest') + + const currJSON = await getCurrencies() + // Get & Save All the available currencies in api + const availCurrListObj = await getAvailCurrencyJSON(currJSON) + fs.writeFileSync(path.join(latestDir, 'currencies.min.json'), JSON.stringify(availCurrListObj)) + fs.writeFileSync(path.join(latestDir, 'currencies.json'), JSON.stringify(availCurrListObj, null, indent)) + + // Generate API files + await generateFiles(currJSON) + + // Backup the latest currency files to today's date folder, for historical currency access + const dateDir = path.join(__dirname, dateToday) + fs.mkdirSync(dateDir, { + recursive: true + }) + fs.copySync(latestDir, dateDir) + + // Close the browser +// await browser.close() +} + + +// Returns all the available currencies in the API +async function getAvailCurrencyJSON(CurrObj) { + const availCurrListObj = {} + for (const key of Object.keys(CurrObj)) { + availCurrListObj[key] = allcurrKeyUpper[key.toUpperCase()] || "" + if(!allcurrKeyUpper[key.toUpperCase()]) + console.log(key,"currency code doesn't exist in allcurrencies.min.json") + } + + return availCurrListObj +} + +async function getCurrencies() { +let currDataObj = await getCurrData(currLink) +currDataObj = toLowerCaseKeysBaseCurr(currDataObj) + +let currDataObj2 = await getCurrData(currLink2) +// we need to convert base usd to eur +currDataObj2 = toLowerCaseKeysBaseCurr(currDataObj2, currDataObj['usd']) + +let currDataObj3 = toLowerCaseKeysBaseCurr( (await getCurrData3()) ) +// we need to convert base usd to eur +currDataObj3 = 'eur' in currDataObj3 ? toLowerCaseKeysBaseCurr(currDataObj3, 1/currDataObj3['eur']) : {} + +let cryptoDataObj = await getCryptoData() +// we also need to convert base usd to eur +cryptoDataObj = toLowerCaseKeysBaseCurr(cryptoDataObj,currDataObj['usd']) + let CurrJSON = {...currDataObj2, ...currDataObj, ...cryptoDataObj, ...currDataObj3, eur: 1 } + currencyCodesToRemove.forEach(e=>delete CurrJSON?.[e.toLowerCase()]) + // return sorted object + return sortObjByKeys(CurrJSON) +} + +// Euro as base rates +async function getCurrData(link){ + let response = await fetch(link) + let data = await response.json() + return data.rates +} + +// USD as base rates +async function getCryptoData(){ + let response = await fetch(cryptoLink) + let data = await response.json() + let cleanJSON = {} + for(let value of data.data.reverse()) + cleanJSON[value.symbol] = value.quote.USD.price + + return Object.fromEntries( // Dividing value by 1 to convert to 1 USD as base rate + Object.entries(cleanJSON).filter(([k, v]) => topCryptoCurrency.includes(k)).map(([k,v])=>[k,1/v]) ) +} + +async function getCurrData3(){ + + const browser = await firefox.launch({headless: true}); + let arrRes = [] + try{ + + const context = await browser.newContext({ ...devices['Desktop Firefox'] }); + const page = await context.newPage(); + + const reg = new RegExp(currLink3Key, "gi") + page.on('response', async res => reg.test(res.url()) ? arrRes.push(await res.json().catch(console.error)) : '' ); + for(let i=0;i<3;i++){ + try{ + await page.goto(currLink3) + break; + }catch(e){} + } + + arrRes = arrRes.filter(e=>e?.rates?.USD == 1) + return arrRes.length > 0 ? arrRes[0].rates : {} + + }catch(e){ + console.error(e) + return {} + }finally{ + await browser.close() + } +} + +// convert object keys to lowercase and values to float +// tocurr parameter +// convert object having a base currency value to object of another base currency value +// For example: pass object with base currency as usd, pass tocurr as 1Eur to 1.17USD i.e 1.17 to convert object to base currency as EUR +function toLowerCaseKeysBaseCurr(obj, tocurr=1){ +let newobj = {} +for(let [key,value] of Object.entries(obj)){ + let tempValue = parseFloat(value)*parseFloat(tocurr) + if(Number.isFinite(tempValue)) + newobj[key.toLowerCase()] = tempValue +} +return newobj +} + + +// Sorts an object by keys and returns the sorted object +function sortObjByKeys(obj) { + const sortedObj = {} + const sortedKeys = Object.keys(obj).sort() + for (const key of sortedKeys) { sortedObj[key] = obj[key] } + return sortedObj +} + +// Generates the api files +async function generateFiles(googBingCurrJSON) { + const currenciesDir = path.join(__dirname, 'latest', 'currencies') + for (const [fromKey, fromValue] of Object.entries(googBingCurrJSON)) { + const tempObj = {} + tempObj['date'] = dateToday; + tempObj[fromKey] = {} + const fromKeyDir = path.join(__dirname, 'latest', 'currencies', fromKey) + fs.mkdirSync(fromKeyDir, { + recursive: true + }) + + for (const [toKey, toValue] of Object.entries(googBingCurrJSON)) { + const tempSingleObj = {} + tempObj[fromKey][toKey] = currencyValue(fromValue, toValue) + tempSingleObj['date'] = dateToday; + tempSingleObj[toKey] = tempObj[fromKey][toKey] + fs.writeFileSync(path.join(fromKeyDir, toKey + '.min.json'), JSON.stringify(tempSingleObj)) + fs.writeFileSync(path.join(fromKeyDir, toKey + '.json'), JSON.stringify(tempSingleObj, null, indent)) + } + fs.writeFileSync(path.join(currenciesDir, fromKey + '.min.json'), JSON.stringify(tempObj)) + fs.writeFileSync(path.join(currenciesDir, fromKey + '.json'), JSON.stringify(tempObj, null, indent)) + } +} + +// return 1 fromCurr as base currency for toCurr +// fromCurr & toCurr is against 1 USD or 1 EUR or something common +// For example, if you pass 74 INR & 0.84 EUR and 1 INR = 0.011 Eur +// It returns 0.011 , with numbers upto 20 decimal places +function currencyValue(fromCurr, toCurr) { + return getSignificantNum(toCurr / fromCurr) +} + +// If the value is very small, then return more significant digits +function getSignificantNum(num){ + let minSignificantDigits = 8 + if(num >= 0.1) + return parseFloat(num.toFixed(minSignificantDigits)) + let strNum = num.toFixed(100) + let numOfZeros = strNum.match(/^0\.0+/i)[0].length-2 + return parseFloat(num.toFixed(minSignificantDigits+numOfZeros)) +} diff --git a/money.jpg b/money.jpg new file mode 100644 index 0000000..6f6b017 Binary files /dev/null and b/money.jpg differ diff --git a/other/Common-Currency.json b/other/Common-Currency.json new file mode 100644 index 0000000..6e7f228 --- /dev/null +++ b/other/Common-Currency.json @@ -0,0 +1,1073 @@ +{ + "USD": { + "symbol": "$", + "name": "US Dollar", + "symbol_native": "$", + "decimal_digits": 2, + "rounding": 0, + "code": "USD", + "name_plural": "US dollars" + }, + "CAD": { + "symbol": "CA$", + "name": "Canadian Dollar", + "symbol_native": "$", + "decimal_digits": 2, + "rounding": 0, + "code": "CAD", + "name_plural": "Canadian dollars" + }, + "EUR": { + "symbol": "€", + "name": "Euro", + "symbol_native": "€", + "decimal_digits": 2, + "rounding": 0, + "code": "EUR", + "name_plural": "euros" + }, + "AED": { + "symbol": "AED", + "name": "United Arab Emirates Dirham", + "symbol_native": "د.إ.‏", + "decimal_digits": 2, + "rounding": 0, + "code": "AED", + "name_plural": "UAE dirhams" + }, + "AFN": { + "symbol": "Af", + "name": "Afghan Afghani", + "symbol_native": "؋", + "decimal_digits": 0, + "rounding": 0, + "code": "AFN", + "name_plural": "Afghan Afghanis" + }, + "ALL": { + "symbol": "ALL", + "name": "Albanian Lek", + "symbol_native": "Lek", + "decimal_digits": 0, + "rounding": 0, + "code": "ALL", + "name_plural": "Albanian lekë" + }, + "AMD": { + "symbol": "AMD", + "name": "Armenian Dram", + "symbol_native": "դր.", + "decimal_digits": 0, + "rounding": 0, + "code": "AMD", + "name_plural": "Armenian drams" + }, + "ARS": { + "symbol": "AR$", + "name": "Argentine Peso", + "symbol_native": "$", + "decimal_digits": 2, + "rounding": 0, + "code": "ARS", + "name_plural": "Argentine pesos" + }, + "AUD": { + "symbol": "AU$", + "name": "Australian Dollar", + "symbol_native": "$", + "decimal_digits": 2, + "rounding": 0, + "code": "AUD", + "name_plural": "Australian dollars" + }, + "AZN": { + "symbol": "man.", + "name": "Azerbaijani Manat", + "symbol_native": "ман.", + "decimal_digits": 2, + "rounding": 0, + "code": "AZN", + "name_plural": "Azerbaijani manats" + }, + "BAM": { + "symbol": "KM", + "name": "Bosnia-Herzegovina Convertible Mark", + "symbol_native": "KM", + "decimal_digits": 2, + "rounding": 0, + "code": "BAM", + "name_plural": "Bosnia-Herzegovina convertible marks" + }, + "BDT": { + "symbol": "Tk", + "name": "Bangladeshi Taka", + "symbol_native": "৳", + "decimal_digits": 2, + "rounding": 0, + "code": "BDT", + "name_plural": "Bangladeshi takas" + }, + "BGN": { + "symbol": "BGN", + "name": "Bulgarian Lev", + "symbol_native": "лв.", + "decimal_digits": 2, + "rounding": 0, + "code": "BGN", + "name_plural": "Bulgarian leva" + }, + "BHD": { + "symbol": "BD", + "name": "Bahraini Dinar", + "symbol_native": "د.ب.‏", + "decimal_digits": 3, + "rounding": 0, + "code": "BHD", + "name_plural": "Bahraini dinars" + }, + "BIF": { + "symbol": "FBu", + "name": "Burundian Franc", + "symbol_native": "FBu", + "decimal_digits": 0, + "rounding": 0, + "code": "BIF", + "name_plural": "Burundian francs" + }, + "BND": { + "symbol": "BN$", + "name": "Brunei Dollar", + "symbol_native": "$", + "decimal_digits": 2, + "rounding": 0, + "code": "BND", + "name_plural": "Brunei dollars" + }, + "BOB": { + "symbol": "Bs", + "name": "Bolivian Boliviano", + "symbol_native": "Bs", + "decimal_digits": 2, + "rounding": 0, + "code": "BOB", + "name_plural": "Bolivian bolivianos" + }, + "BRL": { + "symbol": "R$", + "name": "Brazilian Real", + "symbol_native": "R$", + "decimal_digits": 2, + "rounding": 0, + "code": "BRL", + "name_plural": "Brazilian reals" + }, + "BWP": { + "symbol": "BWP", + "name": "Botswanan Pula", + "symbol_native": "P", + "decimal_digits": 2, + "rounding": 0, + "code": "BWP", + "name_plural": "Botswanan pulas" + }, + "BYN": { + "symbol": "Br", + "name": "Belarusian Ruble", + "symbol_native": "руб.", + "decimal_digits": 2, + "rounding": 0, + "code": "BYN", + "name_plural": "Belarusian rubles" + }, + "BZD": { + "symbol": "BZ$", + "name": "Belize Dollar", + "symbol_native": "$", + "decimal_digits": 2, + "rounding": 0, + "code": "BZD", + "name_plural": "Belize dollars" + }, + "CDF": { + "symbol": "CDF", + "name": "Congolese Franc", + "symbol_native": "FrCD", + "decimal_digits": 2, + "rounding": 0, + "code": "CDF", + "name_plural": "Congolese francs" + }, + "CHF": { + "symbol": "CHF", + "name": "Swiss Franc", + "symbol_native": "CHF", + "decimal_digits": 2, + "rounding": 0.05, + "code": "CHF", + "name_plural": "Swiss francs" + }, + "CLP": { + "symbol": "CL$", + "name": "Chilean Peso", + "symbol_native": "$", + "decimal_digits": 0, + "rounding": 0, + "code": "CLP", + "name_plural": "Chilean pesos" + }, + "CNY": { + "symbol": "CN¥", + "name": "Chinese Yuan", + "symbol_native": "CN¥", + "decimal_digits": 2, + "rounding": 0, + "code": "CNY", + "name_plural": "Chinese yuan" + }, + "COP": { + "symbol": "CO$", + "name": "Colombian Peso", + "symbol_native": "$", + "decimal_digits": 0, + "rounding": 0, + "code": "COP", + "name_plural": "Colombian pesos" + }, + "CRC": { + "symbol": "₡", + "name": "Costa Rican Colón", + "symbol_native": "₡", + "decimal_digits": 0, + "rounding": 0, + "code": "CRC", + "name_plural": "Costa Rican colóns" + }, + "CVE": { + "symbol": "CV$", + "name": "Cape Verdean Escudo", + "symbol_native": "CV$", + "decimal_digits": 2, + "rounding": 0, + "code": "CVE", + "name_plural": "Cape Verdean escudos" + }, + "CZK": { + "symbol": "Kč", + "name": "Czech Republic Koruna", + "symbol_native": "Kč", + "decimal_digits": 2, + "rounding": 0, + "code": "CZK", + "name_plural": "Czech Republic korunas" + }, + "DJF": { + "symbol": "Fdj", + "name": "Djiboutian Franc", + "symbol_native": "Fdj", + "decimal_digits": 0, + "rounding": 0, + "code": "DJF", + "name_plural": "Djiboutian francs" + }, + "DKK": { + "symbol": "Dkr", + "name": "Danish Krone", + "symbol_native": "kr", + "decimal_digits": 2, + "rounding": 0, + "code": "DKK", + "name_plural": "Danish kroner" + }, + "DOP": { + "symbol": "RD$", + "name": "Dominican Peso", + "symbol_native": "RD$", + "decimal_digits": 2, + "rounding": 0, + "code": "DOP", + "name_plural": "Dominican pesos" + }, + "DZD": { + "symbol": "DA", + "name": "Algerian Dinar", + "symbol_native": "د.ج.‏", + "decimal_digits": 2, + "rounding": 0, + "code": "DZD", + "name_plural": "Algerian dinars" + }, + "EEK": { + "symbol": "Ekr", + "name": "Estonian Kroon", + "symbol_native": "kr", + "decimal_digits": 2, + "rounding": 0, + "code": "EEK", + "name_plural": "Estonian kroons" + }, + "EGP": { + "symbol": "EGP", + "name": "Egyptian Pound", + "symbol_native": "ج.م.‏", + "decimal_digits": 2, + "rounding": 0, + "code": "EGP", + "name_plural": "Egyptian pounds" + }, + "ERN": { + "symbol": "Nfk", + "name": "Eritrean Nakfa", + "symbol_native": "Nfk", + "decimal_digits": 2, + "rounding": 0, + "code": "ERN", + "name_plural": "Eritrean nakfas" + }, + "ETB": { + "symbol": "Br", + "name": "Ethiopian Birr", + "symbol_native": "Br", + "decimal_digits": 2, + "rounding": 0, + "code": "ETB", + "name_plural": "Ethiopian birrs" + }, + "GBP": { + "symbol": "£", + "name": "British Pound Sterling", + "symbol_native": "£", + "decimal_digits": 2, + "rounding": 0, + "code": "GBP", + "name_plural": "British pounds sterling" + }, + "GEL": { + "symbol": "GEL", + "name": "Georgian Lari", + "symbol_native": "GEL", + "decimal_digits": 2, + "rounding": 0, + "code": "GEL", + "name_plural": "Georgian laris" + }, + "GHS": { + "symbol": "GH₵", + "name": "Ghanaian Cedi", + "symbol_native": "GH₵", + "decimal_digits": 2, + "rounding": 0, + "code": "GHS", + "name_plural": "Ghanaian cedis" + }, + "GNF": { + "symbol": "FG", + "name": "Guinean Franc", + "symbol_native": "FG", + "decimal_digits": 0, + "rounding": 0, + "code": "GNF", + "name_plural": "Guinean francs" + }, + "GTQ": { + "symbol": "GTQ", + "name": "Guatemalan Quetzal", + "symbol_native": "Q", + "decimal_digits": 2, + "rounding": 0, + "code": "GTQ", + "name_plural": "Guatemalan quetzals" + }, + "HKD": { + "symbol": "HK$", + "name": "Hong Kong Dollar", + "symbol_native": "$", + "decimal_digits": 2, + "rounding": 0, + "code": "HKD", + "name_plural": "Hong Kong dollars" + }, + "HNL": { + "symbol": "HNL", + "name": "Honduran Lempira", + "symbol_native": "L", + "decimal_digits": 2, + "rounding": 0, + "code": "HNL", + "name_plural": "Honduran lempiras" + }, + "HRK": { + "symbol": "kn", + "name": "Croatian Kuna", + "symbol_native": "kn", + "decimal_digits": 2, + "rounding": 0, + "code": "HRK", + "name_plural": "Croatian kunas" + }, + "HUF": { + "symbol": "Ft", + "name": "Hungarian Forint", + "symbol_native": "Ft", + "decimal_digits": 0, + "rounding": 0, + "code": "HUF", + "name_plural": "Hungarian forints" + }, + "IDR": { + "symbol": "Rp", + "name": "Indonesian Rupiah", + "symbol_native": "Rp", + "decimal_digits": 0, + "rounding": 0, + "code": "IDR", + "name_plural": "Indonesian rupiahs" + }, + "ILS": { + "symbol": "₪", + "name": "Israeli New Sheqel", + "symbol_native": "₪", + "decimal_digits": 2, + "rounding": 0, + "code": "ILS", + "name_plural": "Israeli new sheqels" + }, + "INR": { + "symbol": "Rs", + "name": "Indian Rupee", + "symbol_native": "টকা", + "decimal_digits": 2, + "rounding": 0, + "code": "INR", + "name_plural": "Indian rupees" + }, + "IQD": { + "symbol": "IQD", + "name": "Iraqi Dinar", + "symbol_native": "د.ع.‏", + "decimal_digits": 0, + "rounding": 0, + "code": "IQD", + "name_plural": "Iraqi dinars" + }, + "IRR": { + "symbol": "IRR", + "name": "Iranian Rial", + "symbol_native": "﷼", + "decimal_digits": 0, + "rounding": 0, + "code": "IRR", + "name_plural": "Iranian rials" + }, + "ISK": { + "symbol": "Ikr", + "name": "Icelandic Króna", + "symbol_native": "kr", + "decimal_digits": 0, + "rounding": 0, + "code": "ISK", + "name_plural": "Icelandic krónur" + }, + "JMD": { + "symbol": "J$", + "name": "Jamaican Dollar", + "symbol_native": "$", + "decimal_digits": 2, + "rounding": 0, + "code": "JMD", + "name_plural": "Jamaican dollars" + }, + "JOD": { + "symbol": "JD", + "name": "Jordanian Dinar", + "symbol_native": "د.أ.‏", + "decimal_digits": 3, + "rounding": 0, + "code": "JOD", + "name_plural": "Jordanian dinars" + }, + "JPY": { + "symbol": "¥", + "name": "Japanese Yen", + "symbol_native": "¥", + "decimal_digits": 0, + "rounding": 0, + "code": "JPY", + "name_plural": "Japanese yen" + }, + "KES": { + "symbol": "Ksh", + "name": "Kenyan Shilling", + "symbol_native": "Ksh", + "decimal_digits": 2, + "rounding": 0, + "code": "KES", + "name_plural": "Kenyan shillings" + }, + "KHR": { + "symbol": "KHR", + "name": "Cambodian Riel", + "symbol_native": "៛", + "decimal_digits": 2, + "rounding": 0, + "code": "KHR", + "name_plural": "Cambodian riels" + }, + "KMF": { + "symbol": "CF", + "name": "Comorian Franc", + "symbol_native": "FC", + "decimal_digits": 0, + "rounding": 0, + "code": "KMF", + "name_plural": "Comorian francs" + }, + "KRW": { + "symbol": "₩", + "name": "South Korean Won", + "symbol_native": "₩", + "decimal_digits": 0, + "rounding": 0, + "code": "KRW", + "name_plural": "South Korean won" + }, + "KWD": { + "symbol": "KD", + "name": "Kuwaiti Dinar", + "symbol_native": "د.ك.‏", + "decimal_digits": 3, + "rounding": 0, + "code": "KWD", + "name_plural": "Kuwaiti dinars" + }, + "KZT": { + "symbol": "KZT", + "name": "Kazakhstani Tenge", + "symbol_native": "тңг.", + "decimal_digits": 2, + "rounding": 0, + "code": "KZT", + "name_plural": "Kazakhstani tenges" + }, + "LBP": { + "symbol": "LB£", + "name": "Lebanese Pound", + "symbol_native": "ل.ل.‏", + "decimal_digits": 0, + "rounding": 0, + "code": "LBP", + "name_plural": "Lebanese pounds" + }, + "LKR": { + "symbol": "SLRs", + "name": "Sri Lankan Rupee", + "symbol_native": "SL Re", + "decimal_digits": 2, + "rounding": 0, + "code": "LKR", + "name_plural": "Sri Lankan rupees" + }, + "LTL": { + "symbol": "Lt", + "name": "Lithuanian Litas", + "symbol_native": "Lt", + "decimal_digits": 2, + "rounding": 0, + "code": "LTL", + "name_plural": "Lithuanian litai" + }, + "LVL": { + "symbol": "Ls", + "name": "Latvian Lats", + "symbol_native": "Ls", + "decimal_digits": 2, + "rounding": 0, + "code": "LVL", + "name_plural": "Latvian lati" + }, + "LYD": { + "symbol": "LD", + "name": "Libyan Dinar", + "symbol_native": "د.ل.‏", + "decimal_digits": 3, + "rounding": 0, + "code": "LYD", + "name_plural": "Libyan dinars" + }, + "MAD": { + "symbol": "MAD", + "name": "Moroccan Dirham", + "symbol_native": "د.م.‏", + "decimal_digits": 2, + "rounding": 0, + "code": "MAD", + "name_plural": "Moroccan dirhams" + }, + "MDL": { + "symbol": "MDL", + "name": "Moldovan Leu", + "symbol_native": "MDL", + "decimal_digits": 2, + "rounding": 0, + "code": "MDL", + "name_plural": "Moldovan lei" + }, + "MGA": { + "symbol": "MGA", + "name": "Malagasy Ariary", + "symbol_native": "MGA", + "decimal_digits": 0, + "rounding": 0, + "code": "MGA", + "name_plural": "Malagasy Ariaries" + }, + "MKD": { + "symbol": "MKD", + "name": "Macedonian Denar", + "symbol_native": "MKD", + "decimal_digits": 2, + "rounding": 0, + "code": "MKD", + "name_plural": "Macedonian denari" + }, + "MMK": { + "symbol": "MMK", + "name": "Myanma Kyat", + "symbol_native": "K", + "decimal_digits": 0, + "rounding": 0, + "code": "MMK", + "name_plural": "Myanma kyats" + }, + "MOP": { + "symbol": "MOP$", + "name": "Macanese Pataca", + "symbol_native": "MOP$", + "decimal_digits": 2, + "rounding": 0, + "code": "MOP", + "name_plural": "Macanese patacas" + }, + "MUR": { + "symbol": "MURs", + "name": "Mauritian Rupee", + "symbol_native": "MURs", + "decimal_digits": 0, + "rounding": 0, + "code": "MUR", + "name_plural": "Mauritian rupees" + }, + "MXN": { + "symbol": "MX$", + "name": "Mexican Peso", + "symbol_native": "$", + "decimal_digits": 2, + "rounding": 0, + "code": "MXN", + "name_plural": "Mexican pesos" + }, + "MYR": { + "symbol": "RM", + "name": "Malaysian Ringgit", + "symbol_native": "RM", + "decimal_digits": 2, + "rounding": 0, + "code": "MYR", + "name_plural": "Malaysian ringgits" + }, + "MZN": { + "symbol": "MTn", + "name": "Mozambican Metical", + "symbol_native": "MTn", + "decimal_digits": 2, + "rounding": 0, + "code": "MZN", + "name_plural": "Mozambican meticals" + }, + "NAD": { + "symbol": "N$", + "name": "Namibian Dollar", + "symbol_native": "N$", + "decimal_digits": 2, + "rounding": 0, + "code": "NAD", + "name_plural": "Namibian dollars" + }, + "NGN": { + "symbol": "₦", + "name": "Nigerian Naira", + "symbol_native": "₦", + "decimal_digits": 2, + "rounding": 0, + "code": "NGN", + "name_plural": "Nigerian nairas" + }, + "NIO": { + "symbol": "C$", + "name": "Nicaraguan Córdoba", + "symbol_native": "C$", + "decimal_digits": 2, + "rounding": 0, + "code": "NIO", + "name_plural": "Nicaraguan córdobas" + }, + "NOK": { + "symbol": "Nkr", + "name": "Norwegian Krone", + "symbol_native": "kr", + "decimal_digits": 2, + "rounding": 0, + "code": "NOK", + "name_plural": "Norwegian kroner" + }, + "NPR": { + "symbol": "NPRs", + "name": "Nepalese Rupee", + "symbol_native": "नेरू", + "decimal_digits": 2, + "rounding": 0, + "code": "NPR", + "name_plural": "Nepalese rupees" + }, + "NZD": { + "symbol": "NZ$", + "name": "New Zealand Dollar", + "symbol_native": "$", + "decimal_digits": 2, + "rounding": 0, + "code": "NZD", + "name_plural": "New Zealand dollars" + }, + "OMR": { + "symbol": "OMR", + "name": "Omani Rial", + "symbol_native": "ر.ع.‏", + "decimal_digits": 3, + "rounding": 0, + "code": "OMR", + "name_plural": "Omani rials" + }, + "PAB": { + "symbol": "B/.", + "name": "Panamanian Balboa", + "symbol_native": "B/.", + "decimal_digits": 2, + "rounding": 0, + "code": "PAB", + "name_plural": "Panamanian balboas" + }, + "PEN": { + "symbol": "S/.", + "name": "Peruvian Nuevo Sol", + "symbol_native": "S/.", + "decimal_digits": 2, + "rounding": 0, + "code": "PEN", + "name_plural": "Peruvian nuevos soles" + }, + "PHP": { + "symbol": "₱", + "name": "Philippine Peso", + "symbol_native": "₱", + "decimal_digits": 2, + "rounding": 0, + "code": "PHP", + "name_plural": "Philippine pesos" + }, + "PKR": { + "symbol": "PKRs", + "name": "Pakistani Rupee", + "symbol_native": "₨", + "decimal_digits": 0, + "rounding": 0, + "code": "PKR", + "name_plural": "Pakistani rupees" + }, + "PLN": { + "symbol": "zł", + "name": "Polish Zloty", + "symbol_native": "zł", + "decimal_digits": 2, + "rounding": 0, + "code": "PLN", + "name_plural": "Polish zlotys" + }, + "PYG": { + "symbol": "₲", + "name": "Paraguayan Guarani", + "symbol_native": "₲", + "decimal_digits": 0, + "rounding": 0, + "code": "PYG", + "name_plural": "Paraguayan guaranis" + }, + "QAR": { + "symbol": "QR", + "name": "Qatari Rial", + "symbol_native": "ر.ق.‏", + "decimal_digits": 2, + "rounding": 0, + "code": "QAR", + "name_plural": "Qatari rials" + }, + "RON": { + "symbol": "RON", + "name": "Romanian Leu", + "symbol_native": "RON", + "decimal_digits": 2, + "rounding": 0, + "code": "RON", + "name_plural": "Romanian lei" + }, + "RSD": { + "symbol": "din.", + "name": "Serbian Dinar", + "symbol_native": "дин.", + "decimal_digits": 0, + "rounding": 0, + "code": "RSD", + "name_plural": "Serbian dinars" + }, + "RUB": { + "symbol": "RUB", + "name": "Russian Ruble", + "symbol_native": "₽.", + "decimal_digits": 2, + "rounding": 0, + "code": "RUB", + "name_plural": "Russian rubles" + }, + "RWF": { + "symbol": "RWF", + "name": "Rwandan Franc", + "symbol_native": "FR", + "decimal_digits": 0, + "rounding": 0, + "code": "RWF", + "name_plural": "Rwandan francs" + }, + "SAR": { + "symbol": "SR", + "name": "Saudi Riyal", + "symbol_native": "ر.س.‏", + "decimal_digits": 2, + "rounding": 0, + "code": "SAR", + "name_plural": "Saudi riyals" + }, + "SDG": { + "symbol": "SDG", + "name": "Sudanese Pound", + "symbol_native": "SDG", + "decimal_digits": 2, + "rounding": 0, + "code": "SDG", + "name_plural": "Sudanese pounds" + }, + "SEK": { + "symbol": "Skr", + "name": "Swedish Krona", + "symbol_native": "kr", + "decimal_digits": 2, + "rounding": 0, + "code": "SEK", + "name_plural": "Swedish kronor" + }, + "SGD": { + "symbol": "S$", + "name": "Singapore Dollar", + "symbol_native": "$", + "decimal_digits": 2, + "rounding": 0, + "code": "SGD", + "name_plural": "Singapore dollars" + }, + "SOS": { + "symbol": "Ssh", + "name": "Somali Shilling", + "symbol_native": "Ssh", + "decimal_digits": 0, + "rounding": 0, + "code": "SOS", + "name_plural": "Somali shillings" + }, + "SYP": { + "symbol": "SY£", + "name": "Syrian Pound", + "symbol_native": "ل.س.‏", + "decimal_digits": 0, + "rounding": 0, + "code": "SYP", + "name_plural": "Syrian pounds" + }, + "THB": { + "symbol": "฿", + "name": "Thai Baht", + "symbol_native": "฿", + "decimal_digits": 2, + "rounding": 0, + "code": "THB", + "name_plural": "Thai baht" + }, + "TND": { + "symbol": "DT", + "name": "Tunisian Dinar", + "symbol_native": "د.ت.‏", + "decimal_digits": 3, + "rounding": 0, + "code": "TND", + "name_plural": "Tunisian dinars" + }, + "TOP": { + "symbol": "T$", + "name": "Tongan Paʻanga", + "symbol_native": "T$", + "decimal_digits": 2, + "rounding": 0, + "code": "TOP", + "name_plural": "Tongan paʻanga" + }, + "TRY": { + "symbol": "TL", + "name": "Turkish Lira", + "symbol_native": "TL", + "decimal_digits": 2, + "rounding": 0, + "code": "TRY", + "name_plural": "Turkish Lira" + }, + "TTD": { + "symbol": "TT$", + "name": "Trinidad and Tobago Dollar", + "symbol_native": "$", + "decimal_digits": 2, + "rounding": 0, + "code": "TTD", + "name_plural": "Trinidad and Tobago dollars" + }, + "TWD": { + "symbol": "NT$", + "name": "New Taiwan Dollar", + "symbol_native": "NT$", + "decimal_digits": 2, + "rounding": 0, + "code": "TWD", + "name_plural": "New Taiwan dollars" + }, + "TZS": { + "symbol": "TSh", + "name": "Tanzanian Shilling", + "symbol_native": "TSh", + "decimal_digits": 0, + "rounding": 0, + "code": "TZS", + "name_plural": "Tanzanian shillings" + }, + "UAH": { + "symbol": "₴", + "name": "Ukrainian Hryvnia", + "symbol_native": "₴", + "decimal_digits": 2, + "rounding": 0, + "code": "UAH", + "name_plural": "Ukrainian hryvnias" + }, + "UGX": { + "symbol": "USh", + "name": "Ugandan Shilling", + "symbol_native": "USh", + "decimal_digits": 0, + "rounding": 0, + "code": "UGX", + "name_plural": "Ugandan shillings" + }, + "UYU": { + "symbol": "$U", + "name": "Uruguayan Peso", + "symbol_native": "$", + "decimal_digits": 2, + "rounding": 0, + "code": "UYU", + "name_plural": "Uruguayan pesos" + }, + "UZS": { + "symbol": "UZS", + "name": "Uzbekistan Som", + "symbol_native": "UZS", + "decimal_digits": 0, + "rounding": 0, + "code": "UZS", + "name_plural": "Uzbekistan som" + }, + "VEF": { + "symbol": "Bs.F.", + "name": "Venezuelan Bolívar", + "symbol_native": "Bs.F.", + "decimal_digits": 2, + "rounding": 0, + "code": "VEF", + "name_plural": "Venezuelan bolívars" + }, + "VND": { + "symbol": "₫", + "name": "Vietnamese Dong", + "symbol_native": "₫", + "decimal_digits": 0, + "rounding": 0, + "code": "VND", + "name_plural": "Vietnamese dong" + }, + "XAF": { + "symbol": "FCFA", + "name": "CFA Franc BEAC", + "symbol_native": "FCFA", + "decimal_digits": 0, + "rounding": 0, + "code": "XAF", + "name_plural": "CFA francs BEAC" + }, + "XOF": { + "symbol": "CFA", + "name": "CFA Franc BCEAO", + "symbol_native": "CFA", + "decimal_digits": 0, + "rounding": 0, + "code": "XOF", + "name_plural": "CFA francs BCEAO" + }, + "YER": { + "symbol": "YR", + "name": "Yemeni Rial", + "symbol_native": "ر.ي.‏", + "decimal_digits": 0, + "rounding": 0, + "code": "YER", + "name_plural": "Yemeni rials" + }, + "ZAR": { + "symbol": "R", + "name": "South African Rand", + "symbol_native": "R", + "decimal_digits": 2, + "rounding": 0, + "code": "ZAR", + "name_plural": "South African rand" + }, + "ZMK": { + "symbol": "ZK", + "name": "Zambian Kwacha", + "symbol_native": "ZK", + "decimal_digits": 0, + "rounding": 0, + "code": "ZMK", + "name_plural": "Zambian kwachas" + }, + "ZWL": { + "symbol": "ZWL$", + "name": "Zimbabwean Dollar", + "symbol_native": "ZWL$", + "decimal_digits": 0, + "rounding": 0, + "code": "ZWL", + "name_plural": "Zimbabwean Dollar" + } +} \ No newline at end of file diff --git a/other/cache-jsdelivr-api.js b/other/cache-jsdelivr-api.js new file mode 100644 index 0000000..c1d1bc5 --- /dev/null +++ b/other/cache-jsdelivr-api.js @@ -0,0 +1,49 @@ +// Fetch all latest & todays links to cache the data by jsdelivr +let url = "https://cdn.jsdelivr.net/gh/fawazahmed0/currency-api@1/" +let apiLinks = [url] +let extensions = [".min.json", ".json"] + + +async function begin() { + + for (let dateValue of ['latest', new Date().toISOString().substring(0, 10)]) { + + + let data = await fetch(`${url}/${dateValue}/currencies.json`).then(res => res.json()) + let currencies = Object.keys(data) + + + await multipleFetch(getURLs(`${url}/${dateValue}/currencies`)) + + for (let curr of currencies) { + let promiseHolder = [] + + promiseHolder.push(multipleFetch(getURLs(`${url}/${dateValue}/currencies/${curr}`))) + + for (let curr2 of currencies) + promiseHolder.push(multipleFetch(getURLs(`${url}/${dateValue}/currencies/${curr}/${curr2}`))) + + await Promise.allSettled(promiseHolder) + } + + + + } + + + + + +} + +async function multipleFetch(links) { + for (let link of links) + await fetch(link, { method: 'HEAD' }) +} + +function getURLs(endpoint, links) { + links = links || apiLinks + return extensions.map(ext => links.map(e => e + endpoint + ext)).flat() +} + +begin() \ No newline at end of file diff --git a/other/cryptocurrencies.json b/other/cryptocurrencies.json new file mode 100644 index 0000000..80c4ccd --- /dev/null +++ b/other/cryptocurrencies.json @@ -0,0 +1,3760 @@ +{ + "42": "42 Coin", + "300": "300 token", + "365": "365Coin", + "404": "404Coin", + "433": "433 Token", + "611": "SixEleven", + "808": "808", + "888": "Octocoin", + "1337": "EliteCoin", + "2015": "2015 coin", + "ARC*": "Arcade City", + "CLUB": "ClubCoin", + "007": "007 coin", + "ZCN": "0chain", + "ZRX": "0x", + "0xBTC": "0xBitcoin", + "BIT16": "16BitCoin", + "MCT": "1717 Masonic Commemorative Token", + "1CR": "1Credit", + "1WO": "1World", + "CHAO": "23 Skidoo", + "ARMS": "2Acoin", + "2BACCO": "2BACCO Coin", + "2GIVE": "2GiveCoin", + "2TF": "2TF", + "32BIT": "32Bitcoin", + "3XD": "3DChain", + "3DES": "3DES", + "8BT": "8 Circuit Studios", + "8BIT": "8BIT Coin", + "ATKN": "A-Token", + "AAA": "AAA Reserve Currency", + "RTB": "AB-CHAIN", + "ABC": "AB-Chain", + "AT": "ABCC Token", + "AC3": "AC3", + "ACA": "ACA Token", + "ACT": "ACT", + "ACOIN": "ACoin", + "AENT": "AEN", + "AEON": "AEON", + "AERGO": "AERGO", + "AGT": "AGATE", + "AIC": "AI Crypto", + "AIDOC": "AI Doctor", + "AIT": "AIChain Token", + "XAI*": "AICoin", + "AIOT": "AIOT Token", + "AITT": "AITrading", + "AXT": "AIX", + "ALX": "ALAX", + "ALIS": "ALISmedia", + "ALT": "ALTcoin", + "AMBT": "AMBT Token", + "AMIS": "AMIS", + "AMLT": "AMLT", + "AMO": "AMO Coin", + "ANON": "ANON", + "ANTS": "ANTS Reloaded", + "APIS": "APIS", + "APS": "APRES", + "QEY": "AQwire", + "ARB*": "ARBITRAGE", + "ARE": "ARENON", + "ARK": "ARK", + "ARNA": "ARNA Panacea", + "ARR": "ARROUND", + "ASGC": "ASG", + "ASQT": "ASQ Protocol", + "ATB": "ATB coin", + "ATCC": "ATC Coin", + "ATFS": "ATFS Project", + "ATL": "ATLANT", + "ATM": "ATMChain", + "AUC*": "AU-Coin", + "AWAX": "AWAX", + "AXR": "AXRON", + "AXS": "AXS", + "ABELE": "Abele", + "ABJ": "Abjcoin", + "ABS": "Absolute Coin", + "ACC*": "Accelerator Network", + "ACCO": "Accolade", + "AEC": "AcesCoin", + "ACES": "AcesCoin", + "ACT*": "Achain", + "ACH": "AchieveCoin", + "ACID": "AcidCoin", + "OAK": "Acorn Collective", + "ACM": "Actinium", + "ACTN": "Action Coin", + "AMT": "Acumen", + "AAC": "Acute Angle Cloud", + "ACC": "AdCoin", + "ADX": "AdEx", + "ADT": "AdToken", + "ADAB": "Adab Solutions", + "ADM": "Adamant", + "ADB": "Adbank", + "ADL": "Adelphoi", + "ADH": "Adhive", + "ADI": "Aditus", + "ADST": "Adshares", + "AIB": "AdvancedInternetBlock", + "ADZ": "Adzcoin", + "AGS": "Aegis", + "AEN": "Aenco", + "AERM": "Aerium", + "AERO": "Aero Coin", + "AM": "AeroMe", + "ARN": "Aeron", + "XRM": "Aerum", + "AER": "Aeryus", + "AE": "Aeternity", + "ATT": "Aeternum", + "AET": "AfterEther", + "AGVC": "AgaveCoin", + "ESTATE": "AgentMile", + "AGRS": "Agoras Token", + "DLT": "Agrello Delta", + "AHT": "Ahoolee", + "AIBB": "AiBB", + "AID": "AidCoin", + "ADN": "Aiden", + "ADK": "Aidos Kuneen", + "AIX": "Aigang", + "AIM": "Aimedis", + "AION": "Aion", + "APOD": "AirPod", + "AST": "AirSwap", + "AIR": "AirToken", + "AIRT": "Aircraft", + "AKA": "Akroma", + "ALCE": "Alcedo", + "ALEX": "Alexandrite", + "PLM": "Algo.Land", + "ALG": "Algory", + "ABBC": "Alibabacoin", + "ALN": "AlienCoin", + "SOC": "All Sports Coin", + "AFO": "AllForOneBusiness", + "ASAFE2": "Allsafe", + "APC": "AlpaCoin", + "ALPS": "Alpenschillling", + "ALF": "AlphaCoin", + "AX": "AlphaX", + "ACAT": "Alphacat", + "ALP": "Alphacon", + "APZ": "Alprockz", + "ALQO": "Alqo", + "ALTCOM": "AltCommunity Coin", + "ALTOCAR": "AltoCar", + "ALUX": "Alux Bank", + "AS": "AmaStar", + "AMBER": "AmberCoin", + "AMB": "Ambrosus", + "AMC": "AmericanCoin", + "AMX": "Amero", + "AMMO": "Ammo Rewards", + "AMN": "Amon", + "AMOS": "Amos", + "VEO": "Amoveo", + "AMS": "Amsterdam Coin", + "AMY": "Amygws", + "ANCP": "Anacrypt", + "ANAL": "AnalCoin", + "ACP": "Anarchists Prime", + "AND": "AndromedaCoin", + "ANGL": "Angel Token", + "AVH": "Animation Vision Cash", + "ANI": "Animecoin", + "ANK": "Ankorus Token", + "ANKR": "Ankr Network", + "ANC": "Anoncoin", + "RYZ": "Anryze", + "ANTI": "Anti Bitcoin", + "ATHK": "AntiHACK.me", + "ANTC": "AntiLitecoin", + "CPX": "Apex Token", + "APEX": "ApexCoin", + "APH": "Aphelion", + "APL": "Apollo Currency", + "APXT": "ApolloX", + "XAP": "Apollon", + "APPC": "AppCoins", + "APT": "Aptcoin", + "APX": "Apx", + "AQUA": "Aquachain", + "ARCO": "AquariusCoin", + "AR*": "Ar.cash", + "ARQ": "ArQmA", + "ALC": "Arab League Coin", + "ANT": "Aragon", + "ARAW": "Araw", + "ARBI": "Arbi", + "ARB": "Arbit Coin", + "ARCT": "ArbitrageCT", + "ABT": "ArcBlock", + "ARCX": "ArcadierX", + "ARCH": "ArchCoin", + "ARC": "ArcticCoin", + "ARDR": "Ardor", + "ARENA": "Arena", + "ARG": "Argentum", + "AGM": "Argoneum", + "ARGUS": "ArgusCoin", + "ARI": "AriCoin", + "ARO": "Arionum", + "BOTS": "ArkDAO", + "ARM": "Armory Coin", + "ARPA": "ArpaCoin", + "ABY": "ArtByte", + "ATP": "ArtPro", + "ARS": "Artcoin", + "ARTE": "Artemine", + "ATX": "ArtexCoin", + "AUA": "ArubaCoin", + "ASN": "Ascension Coin", + "XAS": "Asch", + "AC": "Asia Coin", + "ADCN": "Asiadigicoin", + "ATX*": "Aston", + "AST*": "Astral", + "ASTRO": "Astronaut", + "ATH": "Atheios", + "THO": "Athero", + "ATMOS": "Atmos", + "ATOM": "Atomic Coin", + "AWC": "Atomic Wallet Coin", + "ATMI": "Atonomi", + "ATTR": "Attrace", + "AUC": "Auctus", + "ADC": "AudioCoin", + "REP": "Augur", + "AUK": "Aukcecoin", + "AURS": "Aureus", + "AURA": "Aurora", + "AOA": "Aurora", + "AUR": "Aurora Coin", + "AURUM": "Aurum", + "AUD": "Aussie Digital", + "AUN": "Authoreon", + "ATS": "Authorship", + "AUPC": "Authpaper", + "ABX": "AutoBay", + "ATC": "AutoBlock", + "NIO*": "Autonio", + "AUT": "Autoria", + "ATM*": "Autumncoin", + "Auxilium": "Auxilium", + "AVA": "Avalon", + "AV": "Avatar Coin", + "AVT": "AventCoin", + "AOP": "Averopay", + "AVE": "Avesta", + "ACN": "AvonCoin", + "WORK": "Aworker", + "AXIOM": "Axiom Coin", + "AXYS": "Axys", + "AZART": "Azart", + "AZ": "Azbit", + "AZU": "Azultec", + "B21": "B21", + "B2B": "B2BX", + "B3": "B3 Coin", + "KB3": "B3Coin", + "BAX": "BABB", + "BAM": "BAM", + "BANCA": "BANCA", + "BKX": "BANKEX", + "BBN": "BBNCOIN", + "BCV": "BCV Blue Chip", + "BEAT": "BEAT Token", + "BEER": "BEER Coin", + "BERN": "BERNcash", + "BEX": "BEX token", + "BFT": "BF Token", + "BFEX": "BFEX", + "BHPC": "BHPCash", + "BITTO": "BITTO", + "VEE": "BLOCKv", + "BMT": "BMChain", + "BSC*": "BOONSCoin", + "BST*": "BOOSTO", + "BOS": "BOScoin", + "BQC": "BQCoin", + "BQTX": "BQT", + "BVO": "BRAVO Pay", + "BRAT": "BROTHER", + "BTCL": "BTC Lite", + "BTCM": "BTCMoon", + "BTU": "BTU Protocol", + "BAAS": "BaaSid", + "BAN": "Babes and Nerds", + "BKC": "Balkancoin", + "NANAS": "BananaBits", + "BNT": "Bancor Network Token", + "XBANK": "Bancryp", + "B@": "BankCoin", + "BNK": "Bankera", + "BCOIN": "BannerCoin", + "BBN*": "Banyan Network", + "BBCC": "BaseballCardCoin", + "BASHC": "BashCoin", + "BAT": "Basic Attention Token", + "BASIS": "Basis", + "BTA": "Bata", + "BCX": "BattleCoin", + "BSTK": "BattleStake", + "SAND": "BeachCoin", + "BEAM": "Beam", + "BEAN": "BeanCash", + "BRDD": "BeardDollars", + "XBTS": "Beats", + "BTZC": "BeatzCoin", + "BEC": "Beauty Chain", + "BVC": "BeaverCoin", + "BXY": "Beaxy", + "BEE": "Bee Token", + "BFDT": "Befund", + "BELA": "Bela", + "BBI": "BelugaPay", + "BMK": "Benchmark", + "BNC": "Benjacoin", + "BENJI": "BenjiRolls", + "BEST": "BestChain", + "KNG": "BetKings", + "CHART": "BetOnChart", + "BET": "BetaCoin", + "BFC": "Betform", + "BETHER": "Bethereum", + "KRO": "Betoken", + "BTRM": "Betrium Token", + "BETR": "BetterBetting", + "BTXC": "Bettex coin", + "BETT": "Bettium", + "BC": "Beverage.cash", + "BZNT": "Bezant", + "BEZ": "Bezop", + "BGG": "Bgogo Token", + "BNR": "BiNeuro", + "BBP": "BiblePay", + "BIX": "BiboxCoin", + "BID": "BidCoin", + "BDP": "Bidipass", + "DOOH": "Bidooh", + "BDB": "Big Data Block", + "BBG": "BigBang", + "HUGE": "BigCoin", + "LFC": "BigLifeCoin", + "BIGUP": "BigUp", + "BBO": "Bigbom", + "BHC": "BighanCoin", + "BIC": "Bikercoins", + "BLRY": "BillaryCoin", + "XBL": "Billionaire Token", + "BNB": "Binance Coin", + "BRC*": "BinaryCoin", + "BIOB": "BioBar", + "BIOC": "BioCrypt", + "BIO": "Biocoin", + "BIOS": "BiosCrypto", + "BTRN": "Biotron", + "BIPC": "BipCoin", + "BIS": "Bismuth", + "BZ": "Bit-Z", + "BAS": "BitAsean", + "BTB": "BitBar", + "BAY": "BitBay", + "BBK": "BitBlocks", + "BBT": "BitBoost", + "BOSS": "BitBoss", + "BRONZ": "BitBronze", + "BCD*": "BitCAD", + "BEN": "BitCOEN", + "BCNA": "BitCanna", + "BITCAR": "BitCar", + "CAT*": "BitClave", + "COAL": "BitCoal", + "BCCOIN": "BitConnect Coin", + "BCR": "BitCredit", + "BTCRY": "BitCrystal", + "BCY": "BitCrystals", + "BTCR": "BitCurrency", + "BDG": "BitDegree", + "CSNO": "BitDice", + "HNY": "BitFence", + "BFX": "BitFinex Tokens", + "FLIP": "BitFlip", + "FLX*": "BitFlux", + "BF": "BitForex Token", + "HIRE*": "BitHIRE", + "BIH": "BitHostCoin", + "STU": "BitJob", + "BTLC": "BitLuckCoin", + "LUX*": "BitLux", + "BTM": "BitMark", + "BMX": "BitMart Coin", + "BTMX": "BitMax Token", + "BTMI": "BitMiles", + "BITM": "BitMoney", + "BM": "BitMoon", + "BITOK": "BitOKX", + "BTQ": "BitQuark", + "RNTB": "BitRent", + "BIT": "BitRewards", + "BSCH": "BitSchool", + "BITX": "BitScreener", + "XSEED": "BitSeeds", + "BSD": "BitSend", + "BTE*": "BitSerial", + "BSR": "BitSoar Coin", + "BTSG": "BitSong", + "STASH": "BitStash", + "BSTN": "BitStation", + "BST": "BitStone", + "SWIFT": "BitSwift", + "BXT": "BitTokens", + "BTT": "BitTorrent", + "TUBE": "BitTube", + "VEG": "BitVegan", + "VOLT": "BitVolt", + "BTW": "BitWhite", + "ZNY": "BitZeny", + "XBOND": "Bitacium", + "BTCA": "Bitair", + "BAC": "BitalphaCoin", + "BB1": "Bitbond", + "BOSE": "Bitbose", + "BTMG": "Bitcademy Football", + "BTD": "Bitcloud", + "BTDX": "Bitcloud 2.0", + "BTCN": "BitcoiNote", + "B2G": "Bitcoiin2Gen", + "BTC": "Bitcoin", + "BCA": "Bitcoin Atom", + "CDY": "Bitcoin Candy", + "BCH": "Bitcoin Cash", + "BTCC": "Bitcoin Core", + "BCD": "Bitcoin Diamond", + "BTG": "Bitcoin Gold", + "BITG": "Bitcoin Green", + "BTCH": "Bitcoin Hush", + "XBI": "Bitcoin Incognito", + "BCI": "Bitcoin Interest", + "BTN": "Bitcoin Nova", + "BTPL": "Bitcoin Planet", + "BTCP": "Bitcoin Private", + "BTCRED": "Bitcoin Red", + "BCR*": "Bitcoin Royal", + "BSV": "Bitcoin SV", + "BTCS": "Bitcoin Scrypt", + "BT2": "Bitcoin SegWit2X", + "BTCS*": "Bitcoin Supreme", + "BTCD": "BitcoinDark", + "BTCE*": "BitcoinEX", + "BCF": "BitcoinFast", + "BIFI": "BitcoinFile", + "BTF*": "BitcoinFor", + "BTCGO": "BitcoinGo", + "XBC": "BitcoinPlus", + "BWS": "BitcoinWSpectrum", + "BCX*": "BitcoinX", + "BTCZ": "BitcoinZ", + "BTCUS": "Bitcoinus", + "BM*": "Bitcomo", + "BTX": "Bitcore", + "DARX": "Bitdaric", + "BDL": "Bitdeal", + "XBX": "BiteX", + "BT1": "Bitfinex Bitcoin Future", + "BTR": "Bither", + "BTH": "Bithereum", + "KAN": "Bitkan", + "BTCL*": "BitluckCoin", + "BIM": "BitminerCoin", + "BMXT": "Bitmxittz", + "XPAT": "Bitnation Pangea", + "BQ": "Bitqy", + "BRO": "Bitradio", + "BTL": "Bitrolium", + "BITSD": "Bits Digit", + "BINS": "Bitsense", + "BTS": "Bitshares", + "BSX": "Bitspace", + "XBS": "Bitstake", + "BITS": "BitstarCoin", + "BITS*": "Bitswift", + "BWT": "Bittwatt", + "BTV": "Bitvote", + "BWT2": "Bitwin 2.0", + "BITZ": "Bitz Coin", + "BTZ": "BitzCoin", + "BTZN": "Bitzon", + "BXM": "Bixtrim", + "BZKY": "Bizkey", + "XBP": "Black Pearl Coin", + "BLK": "BlackCoin", + "BS": "BlackShadowCoin", + "BBOS": "Blackbox Foundation", + "BHC*": "BlackholeCoin", + "BMC": "Blackmoon Crypto", + "BSTAR": "Blackstar", + "BBTC": "BlakeBitcoin", + "BLC": "BlakeCoin", + "BLAS": "BlakeStar", + "BLAZR": "BlazerCoin", + "BLKD": "Blinked", + "BLITZ": "BlitzCoin", + "XBP*": "BlitzPredict", + "ARY": "Block Array", + "BLTG": "Block-Logic", + "BCAT": "BlockCAT", + "BCDN": "BlockCDN", + "LNC": "BlockLancer", + "BCPT": "BlockMason Credit Protocol", + "BMH": "BlockMesh", + "BLOCK": "BlockNet", + "BLOCKPAY": "BlockPay", + "BPL": "BlockPool", + "BCAP": "Blockchain Capital", + "BCDT": "Blockchain Certified Data Token", + "BLX": "Blockchain Index", + "BCT": "Blockchain Terminal", + "BTF": "Blockchain Traded Fund", + "BCIO": "Blockchain.io", + "BDT": "Blockonix", + "PASS": "Blockpass", + "BPT": "Blockport", + "CCC*": "Blockshipping", + "TIX": "Blocktix", + "BKT": "Blocktrade token", + "BLV": "Blockvest", + "BNTN": "Blocnation", + "CYS": "BlooCYS", + "BLT": "Bloom Token", + "CDT": "Blox", + "BLU": "BlueCoin", + "BDR": "BlueDragon", + "BLZ": "Bluzelle", + "BNX": "BnrtxCoin", + "BOB": "Bob's Repair", + "BOT": "Bodhi", + "BOE": "Bodhi", + "BOG": "Bogcoin", + "BOLD": "Bold", + "BLN*": "Bolenum", + "BOLI": "BolivarCoin", + "BOLTT": "BolttCoin", + "BOMB": "BombCoin", + "BONA": "Bonafi", + "BON*": "BonesCoin", + "BON": "Bonpay", + "BBR": "Boolberry", + "BOST": "BoostCoin", + "BMG": "Borneo", + "BOSON": "BosonCoin", + "BOS*": "Bostoken", + "BOTC": "BotChain", + "CAP": "BottleCaps", + "BTO": "Bottos", + "BOU": "Boulle", + "BNTE": "Bountie", + "XBTY": "Bounty", + "BNTY": "Bounty0x", + "BOUTS": "BoutsPro", + "AHT*": "Bowhead Health", + "BSC": "BowsCoin", + "BOXY": "BoxyCoin", + "IMPCN": "Brain Space", + "BRAIN": "BrainCoin", + "BRAZ": "Brazio", + "BRD": "Bread token", + "BRX": "Breakout Stake", + "BRK": "BreakoutCoin", + "BRIA": "Briacoin", + "XBB": "BrickBlock", + "BCO": "BridgeCoin", + "BRC": "BrightCoin", + "BRIK": "BrikBit", + "BRIT": "BritCoin", + "BRNX": "Bronix", + "BXC": "BtcEX", + "BUBO": "Budbo", + "BUD": "Buddy", + "BGL": "Buglab", + "BT": "BuildTeam", + "BULLS": "BullshitCoin", + "BWK": "Bulwark", + "BUN": "BunnyCoin", + "BURST": "BurstCoin", + "BUZZ": "BuzzCoin", + "BYC": "ByteCent", + "BTE": "ByteCoin", + "BCN": "ByteCoin", + "GBYTE": "Byteball", + "BYTHER": "Bytether", + "BTM*": "Bytom", + "XCT": "C-Bits", + "C25": "C25 Coin", + "CAIx": "CAIx", + "CBD": "CBD Crystals", + "CCC": "CCCoin", + "CDRX": "CDRX", + "CDX": "CDX Network", + "CEDEX": "CEDEX Coin", + "CEEK": "CEEK Smart VR Token", + "CETI": "CETUS Coin", + "CHIPS": "CHIPS", + "CIC": "CIChain", + "CINX": "CINDX", + "CINNI": "CINNICOIN", + "CLAM": "CLAMS", + "CO2": "CO2 Token", + "CMS": "COMSA", + "CNCT": "CONNECT", + "CPY": "COPYTRACK", + "COSS": "COSS", + "COTI": "COTI", + "CPC*": "CPChain", + "MLS": "CPROP", + "CPROP": "CPROP", + "CRWD": "CRWD Network", + "CMZ": "CRYPTOMAGZ", + "CRS*": "CRYSTALS", + "CYBR": "CYBR", + "CAB": "CabbageUnit", + "CHE": "Cache", + "CACH": "Cachecoin", + "CF": "Californium", + "CALC": "CaliphCoin", + "CLO": "Callisto Network", + "CAM": "Camcoin", + "CMPCO": "CampusCoin", + "CAN": "CanYaCoin", + "CND*": "Canada eCoin", + "CDN": "Canada eCoin", + "CAND": "Canlead", + "CCN": "CannaCoin", + "XCI": "Cannabis Industry Coin", + "CANN": "CannabisCoin", + "CNAB": "Cannabium", + "XCD": "Capdax", + "CAPP": "Cappasity", + "CPC": "CapriCoin", + "CAR": "CarBlock", + "CTX": "CarTaxi", + "CV": "CarVertical", + "CARAT": "Carats Token", + "CUSD": "Carbon", + "CARBON": "Carboncoin", + "ADA": "Cardano", + "CARD": "Cardstack", + "CARE*": "Care Token", + "CARE": "Carebit", + "CRGO": "CargoCoin", + "TICS": "CargoConX", + "CXO": "CargoX", + "DIEM": "CarpeDiemCoin", + "CTC": "CarterCoin", + "CNBC": "Cash & Back Coin", + "CASH*": "Cash Poker Pro", + "CBC*": "CashBagCoin", + "CBC": "CashBet Coin", + "CASH": "CashCoin", + "CSH": "CashOut", + "CAS": "Cashaa", + "CSC": "CasinoCoin", + "CST": "Casper API", + "CSP": "Caspian", + "CSTL": "Castle", + "CAT": "Catcoin", + "CATT": "Catex", + "CVTC": "CavatCoin", + "CAV": "Caviar", + "CCO": "Ccore", + "CEL": "Celsius Network", + "CTR": "Centra", + "CENNZ": "Centrality Token", + "CNT": "Centurion", + "CBS": "Cerberus", + "XCE": "Cerium", + "CHC": "ChainCoin", + "LINK": "ChainLink", + "ZILLA": "ChainZilla", + "CHX": "Chainium", + "CHAN": "ChanCoin", + "CAG": "Change", + "CHA": "Charity Coin", + "CHARM": "Charm Coin", + "CXC": "CheckCoin", + "CHK": "Chek", + "CHESS": "ChessCoin", + "CHILD": "ChildCoin", + "CNC": "ChinaCoin", + "CHIP": "Chip", + "CHOOF": "ChoofCoin", + "DAY": "Chronologic", + "CRX": "ChronosCoin", + "CHW": "Chrysalis Coin", + "CLPX": "Chynge.net", + "CIN": "CinderCoin", + "CND": "Cindicator", + "CIR": "CircuitCoin", + "COVAL": "Circuits of Value", + "CTL": "Citadel", + "CTW": "Citowise", + "CVC": "Civic", + "CLRTY": "Clarity", + "CAID": "ClearAid", + "XCLR": "ClearCoin", + "POLL": "ClearPoll", + "CLV": "CleverCoin", + "CHASH": "CleverHash", + "CLICK": "Clickcoin", + "CLIN": "Clinicoin", + "CLINT": "Clinton", + "CCCX": "Clipper Coin Capital", + "CLOAK": "CloakCoin", + "CKC": "Clockcoin", + "CLD": "Cloud", + "CLOUT": "Clout", + "CLDX": "Cloverdex", + "CLUD": "CludCoin", + "COE": "CoEval", + "COT": "CoTrader", + "COVEX": "CoVEX", + "COB": "Cobinhood", + "COX": "CobraCoin", + "CTT": "CodeTract", + "CFC": "CoffeeCoin", + "CFI": "Cofound.it", + "COGEN": "Cogenero", + "COGS": "Cogmento", + "COG": "Cognitio", + "COIN*": "Coin", + "COY": "Coin Analyst", + "XMG": "Coin Magi", + "BTTF": "Coin to the Future", + "C2": "Coin.2", + "CONI": "CoinBene", + "CET": "CoinEx token", + "COFI": "CoinFi", + "IMP": "CoinIMP", + "XCJ": "CoinJob", + "CL": "CoinLancer", + "LION": "CoinLion", + "MEE": "CoinMeet", + "MEET": "CoinMeet", + "XCM": "CoinMetro", + "CPL": "CoinPlace Token", + "CHP": "CoinPoker Token", + "CPEX": "CoinPulseToken", + "CCH": "Coinchase", + "DAILY": "Coindaily", + "CGT": "Coingrid", + "CTIC": "Coinmatic", + "COI": "Coinnec", + "CNO": "Coino", + "CNMT": "Coinomat", + "CXT": "Coinonat", + "XCXT": "CoinonatX", + "TCJ": "Coinshare", + "CEN": "Coinsuper Ecosystem Network", + "COIN": "Coinvest", + "CWT": "Coinware", + "CXG": "Coinxes", + "COLX": "ColossusCoinXT", + "CLN": "Colu Local Network", + "CBP": "ComBox", + "CMTC": "CometCoin", + "CBT": "CommerceBlock Token", + "CMM": "Commercium", + "COMM": "Community Coin", + "COC": "Community Coin", + "CMP": "Compcoin", + "COMP": "Compound Coin", + "CPN": "CompuCoin", + "CYC": "ConSpiracy Coin", + "CNL": "ConcealCoin", + "RAIN": "Condensate", + "CFD": "Confido", + "CJR": "Conjure", + "CJT": "ConnectJob Token", + "CTY": "Connecty", + "CQST": "ConquestCoin", + "SEN*": "Consensus", + "DAG": "Constellation", + "CNN": "Content Neutrality Network", + "CAN*": "Content and AD Network", + "BOX": "ContentBox", + "COS": "Contentos", + "CUZ": "Cool Cousin", + "COOL": "CoolCoin", + "CCX": "CoolDarkCoin", + "XCPO": "Copico", + "CLR": "CopperLark", + "CORAL": "CoralPay", + "CORE": "Core Group Asset", + "COR": "Corion", + "CTXC": "Cortex", + "COSX": "Cosmecoin", + "CSMIC": "Cosmic", + "CMOS": "Cosmo", + "COSM": "CosmoChain", + "ATOM*": "Cosmos", + "CMC": "CosmosCoin", + "COU": "Couchain", + "XCP": "CounterParty", + "CHT": "Countinghouse Fund", + "COV*": "CovenCoin", + "COV": "Covesting", + "CPLO": "Cpollo", + "CRAB": "CrabCoin", + "CRACK": "CrackCoin", + "CRAFT": "Craftcoin", + "CFTY": "Crafty", + "CRAIG": "CraigsCoin", + "CRNK": "CrankCoin", + "CRAVE*": "Crave-NG", + "CRAVE": "CraveCoin", + "CRV": "Cravy", + "CZC": "Crazy Coin", + "CRM": "Cream", + "XCRE": "Creatio", + "CREA": "CreativeChain", + "CRDNC": "Credence Coin", + "PESA": "Credible", + "CREDIT": "Credit", + "CRB": "Creditbit", + "CRE*": "Creditcoin", + "CCOIN": "Creditcoin", + "CDPT": "Creditor Data Platform", + "CRE": "Credits", + "CRDS": "Credits", + "CS*": "Credits", + "CFT*": "Credo", + "CREDO": "Credo", + "CREVA": "Creva Coin", + "CROAT": "Croat", + "CMCT": "Crowd Machine", + "CRC***": "CrowdCoin", + "CCOS": "CrowdCoinage", + "CRF": "CrowdForce", + "CDP": "CrowdPrecision", + "YUP": "Crowdholding", + "WIZ": "Crowdwiz", + "CRW": "Crown Coin", + "CRC**": "CryCash", + "IPT": "Crypt-ON", + "CRYPT": "CryptCoin", + "CPT": "Cryptaur", + "CRL": "Cryptelo Coin", + "CRPT": "Crypterium", + "XCR": "Crypti", + "CRYP": "CrypticCoin", + "QRP": "Cryptics", + "CTO": "Crypto", + "ANGEL": "Crypto Angel", + "CESC": "Crypto Escudo", + "CIF": "Crypto Improvement Fund", + "CSPN": "Crypto Sports", + "TKT": "Crypto Tickets", + "CWEX": "Crypto Wine Exchange", + "CWIS": "Crypto Wisdom Coin", + "CWX": "Crypto-X", + "MCO": "Crypto.com", + "CRO": "Crypto.com Chain Token", + "C20": "Crypto20", + "CABS": "CryptoABS", + "BUK": "CryptoBuk", + "CBX": "CryptoBullion", + "CCRB": "CryptoCarbon", + "CIRC": "CryptoCircuits", + "FCS": "CryptoFocus", + "CFT": "CryptoForecast", + "CHBR": "CryptoHub", + "TKR": "CryptoInsight", + "CJ": "CryptoJacks", + "CJC": "CryptoJournal", + "LEU": "CryptoLEU", + "CPAY": "CryptoPay", + "CRPS": "CryptoPennies", + "PING": "CryptoPing", + "CP": "CryptoProfile", + "CREV": "CryptoRevolution", + "CR": "CryptoRiyal", + "CS": "CryptoSpots", + "CWV": "CryptoWave", + "CWXT": "CryptoWorldXToken", + "CRON": "Cryptocean", + "CCIN": "Cryptocoin Insurance", + "CDX*": "Cryptodex", + "CGA": "Cryptographic Anomaly", + "CIX100": "Cryptoindex", + "CYT": "Cryptokenz", + "CIX": "Cryptonetix", + "CNX": "Cryptonex", + "XCN": "Cryptonite", + "CEFS": "CryptopiaFeeShares", + "CRS": "Cryptoreal", + "CXA": "CryptovationX", + "OXY2": "Cryptoxygen", + "MN": "Cryptsy Mining Contract", + "POINTS": "Cryptsy Points", + "CRTM": "Cryptum", + "CVCOIN": "Crypviser", + "CCT": "Crystal Clear Token", + "AUTO": "Cube", + "QBT": "Cubits", + "CUR": "Cura Network", + "CTKN": "Curaizon", + "CURE": "Curecoin", + "CRU": "Curium", + "CBUK": "CurveBlock", + "CHFT": "CustomCoin", + "CCL": "CyClean", + "XCS": "CybCSec Coin", + "CCI": "Cyber Capital Invest", + "CC": "CyberCoin", + "CMT": "CyberMiles", + "CABS*": "CyberTrust", + "CVT": "CyberVein", + "CRE**": "Cybereits Token", + "CYDER": "Cyder Coin", + "CYG": "Cygnus", + "CYP": "CypherPunkCoin", + "FUNK": "Cypherfunks Coin", + "CYRS": "Cyrus Token", + "DACH": "DACH Coin", + "DAC": "DACash", + "DADI": "DADI", + "DAX": "DAEX", + "BET*": "DAO.casino", + "GEN*": "DAOstack", + "DAPS": "DAPS Token", + "DAS": "DAS", + "DATX": "DATx", + "DAV*": "DAV", + "DRP": "DCORP", + "DEEX": "DEEX", + "CET*": "DICE Money", + "DIM": "DIMCOIN", + "DIW": "DIWtoken", + "DMT": "DMarket", + "DNTX": "DNAtix", + "DNN": "DNN Token", + "MTC": "DOCADEMIC", + "DOV": "DOVU", + "DREAM*": "DREAM", + "DRPU": "DRP Utility", + "DRACO": "DT Token", + "DYNO": "DYNO", + "DAI": "Dai", + "DAN": "Daneel", + "DXC*": "Daox", + "DAR": "Darcrus", + "PROD": "Darenta", + "DEC": "Darico", + "DARK": "Dark", + "DISK": "Dark Lisk", + "MOOND": "Dark Moon", + "DB": "DarkBit", + "DRKC": "DarkCash", + "DCC": "DarkCrave", + "DETH": "DarkEther", + "DGDC": "DarkGold", + "DKC": "DarkKnightCoin", + "DANK": "DarkKush", + "DSB": "DarkShibe", + "DT": "DarkToken", + "DRKT": "DarkTron", + "DNET": "Darknet", + "DASC": "DasCoin", + "DASH": "Dash", + "DSH": "Dashcoin", + "DTA": "Data", + "DTT*": "Data Trading", + "DTX": "DataBroker DAO", + "DXT": "DataWallet", + "DTB": "Databits", + "DBCCOIN": "Datablockchain", + "DTC*": "Datacoin", + "XDT": "Dataeum", + "DTN": "Datareum", + "DTRC": "Datarius", + "DAT": "Datum", + "DAV": "DavorCoin", + "DAXX": "DaxxCoin", + "DTC": "DayTrader Coin", + "DAYTA": "Dayta", + "DHT": "DeHedge Token", + "DNET*": "DeNet", + "XNA": "DeOxyRibose", + "DBC*": "Debit Coin", + "DBTC": "DebitCoin", + "DEB": "Debitum Token", + "DCT": "Decent", + "DBET": "Decent.bet", + "MANA": "Decentraland", + "DACC": "Decentralized Accessible Content Chain", + "DML": "Decentralized Machine Learning", + "DUBI": "Decentralized Universal Basic Income", + "HST": "Decision Token", + "DCR": "Decred", + "DEEP": "Deep Gold", + "DBC": "DeepBrain Chain", + "ONION": "DeepOnion", + "DEA": "Degas Coin", + "DEI": "Deimos", + "DKD": "Dekado", + "DEL": "DelChain", + "DPAY": "DelightPay", + "DPT": "Deliverers Power Token", + "DPY": "Delphy", + "DLXV": "Delta-X", + "DCRE": "DeltaCredits", + "DNR": "Denarius", + "DNO": "Denaro", + "DENT": "Dent", + "DCN": "Dentacoin", + "DFBT": "DentalFix", + "DEPO": "Depository Network", + "DERO": "Dero", + "DESI": "Desico", + "DSR": "Desire", + "DES": "Destiny", + "DTCT": "DetectorToken", + "DTH": "Dether", + "DVC": "DevCoin", + "EVE": "Devery", + "DEV": "Deviant Coin", + "DXG": "DexAge", + "DMD": "Diamond", + "DCK": "DickCoin", + "DIGS": "Diggits", + "DGB": "DigiByte", + "DGC": "DigiCoin", + "CUBE": "DigiCube", + "DEUR": "DigiEuro", + "DIGIF": "DigiFel", + "DFXT": "DigiFinexToken", + "DGM": "DigiMoney", + "DGPT": "DigiPulse", + "DGMS": "Digigems", + "DAGT": "Digital Asset Guarantee Token", + "DPP": "Digital Assets Power Play", + "DBG": "Digital Bullion Gold", + "DDF": "Digital Developers Fund", + "DFS": "Digital Fantasy Sports", + "TMTG": "Digital Gold Exchange", + "DRS": "Digital Rupees", + "XDN": "DigitalNote", + "DP": "DigitalPrice", + "DGTX": "Digitex Futures", + "WAGE": "Digiwage", + "DGD": "Digix DAO", + "DGX": "Digix Gold token", + "DIG": "Dignity", + "DIME": "DimeCoin", + "DCY": "Dinastycoin", + "DIN": "Dinero", + "XDQ": "Dirac Coin", + "DIS": "DiscoveryIoT", + "DCC*": "Distributed Credit Chain", + "DIT": "Ditcoin", + "DIVX": "Divi Exchange Token", + "DIVI": "Divi Project", + "DTC**": "DivotyCoin", + "DXC": "DixiCoin", + "DLISK": "Dlisk", + "NOTE": "Dnotes", + "DOC": "Doc Coin", + "NRN": "Doc.ai Neuron", + "DOCK": "Dock.io", + "DOGED": "DogeCoinDark", + "DGORE": "DogeGoreCoin", + "XDP": "DogeParty", + "DOGE": "Dogecoin", + "DLA": "Dolla", + "DT1": "Dollar Token 1", + "DLC": "DollarCoin", + "DLR": "DollarOnline", + "DRT": "DomRaider", + "DON": "DonationCoin", + "DDL": "Donocle", + "DOPE": "DopeCoin", + "DOR": "Dorado", + "DOT": "Dotcoin", + "BOAT": "Doubloon", + "Dow": "DowCoin", + "DRA": "DraculaCoin", + "DFT": "Draftcoin", + "DRG": "Dragon Coin", + "XDB": "DragonSphere", + "DRGN": "Dragonchain", + "DRM8": "Dream8Coin", + "DREAM": "DreamTeam Token", + "DRF": "Drife", + "DRZ": "Droidz", + "DRC": "Dropcoin", + "DROP": "Dropil", + "DRXNE": "Droxne", + "DUB": "DubCoin", + "DBIC": "DubaiCoin", + "DBIX": "DubaiCoin", + "DUCK": "DuckDuckCoin", + "DUSK": "Dusk Network", + "DUTCH": "Dutch Coin", + "DUX": "DuxCoin", + "DYC": "Dycoin", + "DYN": "Dynamic", + "DTR": "Dynamic Trading Rights", + "DYNCOIN": "Dyncoin", + "DTEM": "Dystem", + "DBR": "Düber", + "ECC*": "E-CurrencyCoin", + "EDR": "E-Dinar Coin", + "EFL": "E-Gulden", + "EB3": "EB3coin", + "EBC": "EBCoin", + "ECC": "ECC", + "OMI": "ECOMI", + "ECO": "ECOcoin", + "EDRC": "EDRCoin", + "EGO": "EGOcoin", + "EJAC": "EJA Coin", + "ELTCOIN": "ELTCOIN", + "EMANATE": "EMANATE", + "EMX": "EMX", + "ET": "ENDO", + "ENTRC": "ENTER COIN", + "ENTRY": "ENTRY", + "EOT*": "EON", + "EOS": "EOS", + "EPIK": "EPIK Token", + "EQL": "EQUAL", + "EQ": "EQUI", + "EQUI": "EQUI Token", + "ERB": "ERBCoin", + "EST": "ESports Chain", + "XBASE": "ETERBASE", + "ETS": "ETH Share", + "ERA": "ETHA", + "ETHO": "ETHER-1", + "EGAS": "ETHGAS", + "EUNO": "EUNO", + "EVOS": "EVOS", + "EXMR": "EXMR", + "EXRN": "EXRNchain", + "ETE": "EXTRADECOIN", + "EYE": "EYE Token", + "EZX": "EZ Exchange", + "EZC": "EZCoin", + "EZM": "EZMarket", + "EZT": "EZToken", + "EA": "EagleCoin", + "EAGS": "EagsCoin", + "EARTH": "Earth Token", + "EAC": "EarthCoin", + "EGDC": "EasyGuide", + "EMT": "EasyMine", + "ETKN": "EasyToken", + "EBZ": "Ebitz", + "EBS": "EbolaShare", + "EKO": "EchoLink", + "EC": "Eclipse", + "ECOB": "EcoBit", + "ECR": "EcoVerse", + "EDDIE": "Eddie coin", + "EDN": "EdenChain", + "EDGE": "EdgeCoin", + "EDG": "Edgeless", + "EDU": "EduCoin", + "LEDU": "Education Ecosystem", + "EDC": "EducoinV", + "EGG": "EggCoin", + "EGT": "Egretia", + "EDO": "Eidoo", + "EMC2": "Einsteinium", + "ELC": "Elacoin", + "XEL": "Elastic", + "ELA": "Elastos", + "ECA": "Electra", + "ELEC": "Electrify.Asia", + "ELT": "Electron", + "ETN": "Electroneum", + "EKN": "Elektron", + "ELE": "Elementrem", + "ELM": "Elements", + "ELES": "Elements Estates", + "ELI*": "Elicoin", + "ELI": "Eligma", + "ELIX": "Elixir", + "ELLA": "Ellaism", + "ELP": "Ellerium", + "ELLI": "ElliotCoin", + "ELY": "Elysian", + "ELS": "Elysium", + "AEC*": "EmaratCoin", + "EMB": "EmberCoin", + "MBRS": "Embers", + "EMD": "Emerald", + "EMC": "Emercoin", + "EMN": "Eminent Token", + "EMIGR": "EmiratesGoldCoin", + "EPY*": "Emphy", + "PLEO": "Empleos", + "EMPC": "EmporiumCoin", + "EPY": "Empyrean", + "ENCX": "Encrybit", + "DNA": "EncrypGen", + "ETT": "EncryptoTel", + "ENCN": "EndChain", + "EDR*": "Endor Protocol Token", + "ENE": "EneCoin", + "ENQ": "Enecuum", + "NRG": "Energi", + "ETK": "Energi Token", + "TSL": "Energo", + "ENRG": "EnergyCoin", + "ENGT": "Engagement Token", + "EGCC": "Engine", + "XNG": "Enigma", + "ENG": "Enigma", + "ENJ": "Enjin Coin", + "ENK": "Enkidu", + "ENTER": "EnterCoin (ENTER)", + "ENTRP": "Entropy Token", + "ENU": "Enumivo", + "ENV": "Envienta", + "EVN": "Envion", + "NVOY": "Envoy", + "ZYM": "Enzym", + "EQUAL": "EqualCoin", + "EQT": "EquiTrader", + "EQB": "Equibit", + "EQM": "Equilibrium Coin", + "EQY": "Eqwity", + "ERE": "Erecoin", + "EFYT": "Ergo", + "ERT*": "Eristica", + "ERO": "Eroscoin", + "ERR": "ErrorCoin", + "ERY": "Eryllium", + "ESP": "Espers", + "ERT": "Esports.com", + "ESS": "Essentia", + "ETALON": "Etalon", + "XEC": "Eternal Coin", + "XET": "Eternal Token", + "ETT*": "Eternal Trusts", + "ENT": "Eternity", + "EBET": "EthBet", + "ETBS": "EthBits", + "LEND": "EthLend", + "HEAL": "Etheal", + "ETHB": "EtherBTC", + "EDT": "EtherDelta", + "DOGETH": "EtherDoge", + "ETI": "EtherInc", + "ETL": "EtherLite", + "ESZ": "EtherSportz", + "ETZ": "EtherZero", + "ECH": "EthereCash", + "ETH": "Ethereum", + "ETBT": "Ethereum Black", + "BLUE": "Ethereum Blue", + "ECASH": "Ethereum Cash", + "ETC": "Ethereum Classic", + "ETHD": "Ethereum Dark", + "ETG": "Ethereum Gold", + "ETHM": "Ethereum Meta", + "EMV": "Ethereum Movie Venture", + "ETHPR": "Ethereum Premium", + "EQC": "Ethereum Qchain Token", + "LNK": "Ethereum.Link", + "BTCE": "EthereumBitcoin", + "ETF": "EthereumFog", + "ELITE": "EthereumLite", + "ETHS": "EthereumScrypt", + "DIP": "Etherisc", + "RIYA": "Etheriya", + "DICE": "Etheroll", + "FUEL": "Etherparty", + "ESN": "Ethersocial", + "ESC": "Ethersportcoin", + "NEC*": "Ethfinex Nectar Token", + "ETHIX": "EthicHub", + "HORSE": "Ethorse", + "ETHOS": "Ethos", + "ET4": "Eticket4", + "EUC": "Eurocoin", + "ECTE": "EurocoinToken", + "ERC": "EuropeCoin", + "EVN*": "EvenCoin", + "EVENT": "Event Token", + "EVC": "Eventchain", + "EGC": "EverGreenCoin", + "EVER": "EverLife.AI", + "EVX": "Everex", + "IQ": "Everipedia", + "EVR": "Everus", + "EOC": "EveryonesCoin", + "EVIL": "EvilCoin", + "EXB": "ExaByte (EXB)", + "XUC": "Exchange Union", + "EXCC": "ExchangeCoin", + "EXN": "ExchangeN", + "EXCL": "Exclusive Coin", + "EXE": "ExeCoin", + "XNT": "Exenium", + "EXC": "Eximchain", + "EXIT": "ExitCoin", + "EXO": "Exosis", + "EXP": "Expanse", + "EXPR": "Expercoin", + "XP": "Experience Points", + "EXT*": "Experience Token", + "EXY": "Experty", + "EON": "Exscudo", + "TAURI": "Extauri", + "EXTN": "Extensive Coin", + "XTRA": "ExtraCredit", + "ELT*": "ExtraLovers", + "XSB": "Extreme Sportsbook", + "XT": "ExtremeCoin", + "F16": "F16Coin", + "FARM": "FARM Coin", + "FX": "FCoin", + "FIBRE": "FIBRE", + "eFIC": "FIC Network", + "FLASH": "FLASH coin", + "FLIK": "FLiK", + "FLM": "FOLM coin", + "FOREX": "FOREXCOIN", + "FRED": "FREDEnergy", + "FREE": "FREE coin", + "FXP": "FXPay", + "FABA": "Faba Invest", + "FT": "Fabric Token", + "FC": "Facecoin", + "FACE": "Faceter", + "FTR": "FactR", + "FCT": "Factoids", + "FAIR": "FairCoin", + "FAIR*": "FairGame", + "FAIRC": "Faireum Token", + "FAME": "FameCoin", + "FAN": "Fan360", + "FANZ": "FanChain", + "XFT": "Fantasy Cash", + "FTM": "Fantom", + "FCN": "FantomCoin", + "FRD": "Farad", + "F2K": "Farm2Kitchen", + "FTT": "FarmaTrust", + "FST": "FastCoin", + "FTUM": "Fatum", + "DROP*": "FaucetCoin", + "FAZZ": "FazzCoin", + "FTC": "FeatherCoin", + "TIPS": "FedoraCoin", + "FET": "Fetch.AI", + "FIH": "Fidelity House", + "FLC": "Fieldcoin", + "FIII": "Fiii", + "FIL": "FileCoin", + "FFM": "Files.fm Library", + "FILL": "Fillit", + "FNTB": "FinTab", + "FNX": "FinanceX", + "FIND": "FindCoin", + "FNL": "Finlocale", + "FIN": "Finom FIN Token", + "NOM": "Finom NOM Token", + "FTX": "FintruX", + "FIRE": "FireCoin", + "FLOT": "FireLotto", + "FRC": "FireRoosterCoin", + "FFC": "FireflyCoin", + "1ST": "FirstBlood", + "FIRST": "FirstCoin", + "FRST": "FirstCoin", + "FIST": "FistBump", + "FIT": "Fitcoin", + "FRV": "Fitrova", + "FLAP": "Flappy Coin", + "FLX": "Flash", + "FLVR": "FlavorCoin", + "FNP": "FlipNpik", + "FLIXX": "Flixxo", + "FLO": "Flo", + "FLT": "FlutterCoin", + "FLUZ": "FluzFluz", + "FLY": "FlyCoin", + "FYP": "FlypMe", + "FOAM": "Foam", + "FLDC": "Folding Coin", + "FLLW": "Follow Coin", + "FNO": "Fonero", + "FONZ": "FonzieCoin", + "FOOD": "FoodCoin", + "FOPA": "Fopacoin", + "FOR": "Force Coin", + "XFC": "Forever Coin", + "FML": "FormulA", + "FFCT": "FortFC", + "FOTA": "Fortuna", + "FSBT": "Forty Seven Bank", + "FOXT": "Fox Trading", + "FRAC": "FractalCoin", + "FRN": "Francs", + "FRK": "Franko", + "FRWC": "Frankywillcoin", + "FRAZ": "FrazCoin", + "FGZ": "Free Game Zone", + "FRE": "FreeCoin", + "FRECN": "Freldo", + "FREC": "Freyrchain", + "FSC": "FriendshipCoin", + "FDZ": "Friendz", + "FUCK": "Fuck Token", + "FC2": "Fuel2Coin", + "FJC": "FujiCoin", + "NTO": "Fujinto", + "FLS": "Fuloos Coin", + "FUNC": "FunCoin", + "FUN": "FunFair", + "FUND": "Fund Platform", + "FUNDZ": "FundFantasy", + "FND": "FundRequest", + "FYN": "FundYourselfNow", + "ATON": "Further Network", + "FSN*": "Fusion", + "FSN": "Fusion", + "FUTC": "FutCoin", + "FTRC": "FutureCoin", + "FTP": "FuturePoints", + "FTW": "FutureWorks", + "FPC": "Futurepia", + "FTO": "FuturoCoin", + "FXT": "FuzeX", + "FUZZ": "Fuzzballs", + "GAIA": "GAIA Platform", + "GAKH": "GAKHcoin", + "GTX": "GALLACTIC", + "GMB": "GAMB", + "GAT": "GATCOIN", + "GBRC": "GBR Coin", + "GGP": "GGPro", + "GGR": "GGRocket", + "GTO": "GIFTO", + "GIN": "GINcoin", + "GIZ": "GIZMOcoin", + "GMC*": "GMC Coin", + "GPU": "GPU Coin", + "GSM": "GSM Coin", + "GXS": "GXChain", + "GBO": "Gabro.io", + "GEP": "Gaia", + "GNR": "Gainer", + "ORE": "Galactrum", + "GES": "Galaxy eSolutions", + "GLX": "GalaxyCoin", + "GALI": "Galilel", + "GLN": "Galion Token", + "GAM": "Gambit coin", + "GMCN": "GambleCoin", + "GTC": "Game", + "GXT": "Game Protocol", + "GBT": "GameBetCoin", + "GML": "GameLeagueCoin", + "GST": "GameStars", + "UNITS": "GameUnits", + "GX": "GameX", + "GAME": "Gamecredits", + "GDX": "Gamedex", + "FLP": "Gameflip", + "GNJ": "GanjaCoin V2", + "GAP": "Gapcoin", + "GRLC": "Garlicoin", + "GAS": "Gas", + "FORK": "Gastro Advisor Token", + "GBA": "Geeba", + "GEMA": "Gemera", + "GUSD": "Gemini Dollar", + "GEM": "Gems", + "GMS": "Gemstra", + "GEMZ": "Gemz Social", + "GXC*": "GenXCoin", + "GNX": "Genaro Network", + "GENX": "Genesis Network", + "GVT": "Genesis Vision", + "XGS": "GenesisX", + "GSY": "GenesysCoin", + "GEN": "Genstake", + "GEO": "GeoCoin", + "GUNS": "GeoFunders", + "GEON": "Geon", + "GER": "GermanCoin", + "SPKTR": "Ghost Coin", + "GHC": "GhostCoin", + "GHOUL": "Ghoul Coin", + "GIC": "Giant", + "GIFT": "GiftNet", + "GFT": "Giftcoin", + "GIG": "GigCoin", + "GBTC": "GigTricks", + "WTT": "Giga Watt", + "GZB": "Gigzi", + "GGS": "Gilgam", + "GIM": "Gimli", + "GMR": "Gimmer", + "GGC": "Gingr", + "GOT": "Giotto Coin", + "GIVE": "GiveCoin", + "GLA": "Gladius", + "GLOBE": "Global", + "GCR": "Global Currency Reserve", + "GJC": "Global Jobcoin", + "GSC": "Global Social Chain", + "GTC*": "Global Tour Coin", + "GTIB": "Global Trust Coin", + "BSTY": "GlobalBoost", + "GLC": "GlobalCoin", + "GLT": "GlobalToken", + "GVE": "Globalvillage Ecosystem", + "GSI": "Globex SCI", + "GBXT": "Globitex Token", + "GSX": "GlowShares", + "GLYPH": "GlyphCoin", + "GNO": "Gnosis", + "xGOx": "Go!", + "GBX": "GoByte", + "GO": "GoChain", + "GOT*": "GoToken", + "GOA": "GoaCoin", + "GOAL": "Goal Bonanza", + "GOAT": "Goat", + "GBE": "Godbex", + "GDL": "GodlyCoin", + "XR": "Gofind XR", + "GPL": "Gold Pressed Latinum", + "GRX": "Gold Reward Token", + "GB": "GoldBlocks", + "GLD": "GoldCoin", + "MNTP": "GoldMint", + "GP": "GoldPieces", + "XGR": "GoldReserve", + "GMA": "Goldchip Mining Asset", + "GEA": "Goldea", + "XGH": "Golden Hash", + "XGB": "GoldenBird", + "GLDR": "Golder Coin", + "GMX": "Goldmaxcoin", + "GNT": "Golem Network Token", + "GOLF": "GolfCoin", + "GOLOS": "Golos", + "GBG": "Golos Gold", + "GOOD": "GoodCoin", + "GOOD*": "Goodomy", + "GOON": "Goonies", + "BUCKS*": "GorillaBucks", + "GOTX": "GothicCoin", + "GRFT": "Graft Blockchain", + "GDC": "GrandCoin", + "GAI": "GraphGrail AI", + "77G": "GraphenTech", + "GRAV": "Graviton", + "GBIT": "GravityBit", + "WPP": "Green Energy Token", + "GRE": "GreenCoin", + "GRMD": "GreenMed", + "GEX": "GreenX", + "GNC": "Greencoin", + "GTN": "Greentoken", + "GREXIT": "GrexitCoin", + "GC": "Gric Coin", + "GRID": "Grid+", + "GRC": "GridCoin", + "GRM": "GridMaster", + "GMC": "Gridmaster", + "GRIN": "Grin", + "GRS": "Groestlcoin", + "GRO": "Gron Digital", + "GRWI": "Growers International", + "GROW": "GrownCoin", + "GRW": "GrowthCoin", + "GTR": "Gturbo", + "GET": "Guaranteed Entrance Token", + "GETX": "Guaranteed Ethurance Token Extra", + "GUAR": "Guarium", + "GCC": "GuccioneCoin", + "GUE": "GuerillaCoin", + "NLG": "Gulden", + "GUN": "GunCoin", + "GUP": "Guppy", + "GXC": "Gx Coin", + "HIDU": "H-Education World", + "HART": "HARA", + "HBZ": "HBZ Coin", + "HIX": "HELIX Orange", + "HELL": "HELL COIN", + "HRO": "HEROIC.com", + "PLAY": "HEROcoin", + "HOLD": "HOLD", + "HLDY": "HOLIDAY", + "HQX": "HOQU", + "HODL": "HOdlcoin", + "HTML": "HTML Coin", + "HTML5": "HTML5 Coin", + "HUS": "HUSSY", + "HYC": "HYCON", + "HYGH": "HYGH", + "HKN": "Hacken", + "HKG": "Hacker Gold", + "HAC": "Hackspace Capital", + "HPAY": "HadePay", + "HLC": "Halal-Chain", + "HAL": "Halcyon", + "HALLO": "Halloween Coin", + "HALO": "Halo Platform", + "HMT": "Hamster Marketplace Token", + "HAMS": "HamsterCoin", + "HANA": "Hanacoin", + "HPC": "HappyCoin", + "HCC": "HappyCreatorCoin", + "HRBE": "Harambee Token", + "HRB": "Harbour DAO", + "HMN": "Harvest Masternode Coin", + "HSC": "HashCoin", + "HGS": "HashGains", + "HASH": "Hashbon", + "GARD": "Hashgard", + "XHV": "Haven Protocol", + "HAT": "Hawala.Exchange", + "HZT": "HazMatCoin", + "HAZE": "HazeCoin", + "HDAC": "Hdac", + "HHEM": "Healthureum", + "WORM": "HealthyWorm", + "HB": "HeartBout", + "HEAT": "Heat Ledger", + "HVC": "HeavyCoin", + "HDG": "Hedge Token", + "HEDG": "HedgeTrade", + "HEDGE": "Hedgecoin", + "HEEL": "HeelCoin", + "HYS": "Heiss Shares", + "HLM": "Helium", + "HLX": "Helix3", + "HNC": "Hellenic Coin", + "HGT": "Hello Gold", + "HMP": "HempCoin", + "HERB": "HerbCoin", + "HERO": "Hero", + "HER": "Hero Node", + "HETA": "HetaChain", + "HEX": "HexCoin", + "HXC": "HexanCoin", + "HXT": "HextraCoin", + "HXX": "HexxCoin", + "HMC": "Hi Mutual Society", + "XHI": "HiCoin", + "HIH": "HiHealth", + "HPB": "High Performance Blockchain", + "HVCO": "High Voltage Coin", + "AIMS": "HighCastle Token", + "HV": "HighVibe.Network", + "HGO": "HireGo", + "HIRE": "HireMatch", + "HFT": "Hirefreehands", + "HIT": "HitChain", + "HTC": "Hitcoin", + "HIVE": "Hive", + "HVN": "Hiveterminal Token", + "HBN": "HoboNickels", + "HWC": "HollyWoodCoin", + "HOT*": "Holo", + "HBC": "HomeBlockCoin", + "HMD": "Homelend", + "HONEY": "Honey", + "HZ": "Horizon", + "HSP": "Horse Power", + "HORUS": "HorusPay", + "HYT": "HoryouToken", + "HSR": "Hshare", + "HBT": "Hubii Network", + "HMQ": "Humaniq", + "HNC*": "Huncoin", + "HUC": "HunterCoin", + "HT": "Huobi Token", + "HUR": "Hurify", + "HUSH": "Hush", + "HOT": "Hydro Protocol", + "HYDRO": "Hydrogen", + "H2O": "Hydrominer", + "H3O": "Hydrominer", + "HC": "HyperCash", + "HYPER": "HyperCoin", + "HLD": "HyperLending", + "HQT": "HyperQuant", + "HBX": "Hyperbridge", + "TREE": "HyperionX", + "HPSP": "Hyperspace", + "HYP": "Hyperstake", + "IHT": "I-House Token", + "I0C": "I0coin", + "IAG": "IAGON", + "IAM": "IAME Identity", + "ICASH": "ICASH", + "ICOO": "ICO OpenLedger", + "ICOS": "ICOBox", + "ICX": "ICON Project", + "ICST": "ICST", + "IDAC": "IDAC", + "IDAP": "IDAP", + "IDXM": "IDEX Membership", + "IDM": "IDM", + "IG": "IG Token", + "IGTT": "IGT", + "ILC": "ILCoin", + "ILCT": "ILCoin Token", + "IML": "IMMLA", + "ITR": "INTRO", + "IOC": "IOCoin", + "IOST": "IOS token", + "IOT": "IOTA", + "IOTW": "IOTW", + "IOUX": "IOU", + "IOU": "IOU1", + "IOV": "IOV", + "IPSX": "IP Exchange", + "IPC*": "IPChain", + "IQN": "IQeon", + "IRC": "IRONCOIN", + "IVN": "IVN Security", + "IXC": "IXcoin", + "IZX": "IZX", + "ROCK2": "Ice Rock Mining", + "ICB": "IceBergCoin", + "ICHX": "IceChain", + "ICOB": "Icobid", + "ICON": "Iconic", + "ICN": "Iconomi", + "IDC": "IdealCoin", + "IGNIS": "Ignis", + "IC": "Ignition", + "REX": "Imbrex", + "IMGZ": "Imigize", + "IMVR": "ImmVRse", + "IMX": "Impact", + "IMPCH": "Impeach", + "IPC": "ImperialCoin", + "XIM": "Impresso", + "IMPS": "Impulse Coin", + "IN": "InCoin", + "INX": "InMax", + "NKA": "IncaKoin", + "INCNT": "Incent", + "INCP": "InceptionCoin", + "INC": "Incrementum", + "IDH": "IndaHash", + "IMS": "Independent Money System", + "ERC20": "Index ERC20", + "INDI": "IndiCoin", + "IND": "Indorse", + "IFX": "Infinex", + "IFC": "Infinite Coin", + "XIN": "Infinity Economics", + "INF8": "Infinium-8", + "IFLT": "InflationCoin", + "IFUM": "Infleum", + "INFLR": "Inflr", + "INTO": "Influ Token", + "INFX": "Influxcoin", + "INK": "Ink", + "XNK": "Ink Protocol", + "ILK": "Inlock", + "SOUND": "Inmusik", + "INN": "Innova", + "MINX": "InnovaMinex", + "INSN": "Insane Coin", + "INSANE": "InsaneCoin", + "WOLF": "Insanity Coin", + "INSTAR": "Insights Network", + "INS": "Insolar", + "ICC": "Insta Cash Coin", + "MINE": "Instamine Nuggets", + "SPON": "Instant Sponsor Token", + "INSUR": "InsurChain Coin", + "IPL": "InsurePal", + "ISR": "Insureum", + "IQB": "Intelligence Quotient Benefit", + "ITT": "Intelligent Trading", + "XID*": "International Diamond Coin", + "INT": "Internet Node Token", + "IOP": "Internet of People", + "INXT": "Internxt", + "ISH": "Interstellar Holdings", + "ITZ": "Interzone", + "ICT": "Intrachain", + "INV*": "Invacio", + "IDT": "InvestDigital", + "IFT": "InvestFeed", + "INVX": "Investx", + "IVC": "Investy Coin", + "INV": "Invictus", + "IHF": "Invictus Hyperion Fund", + "IVZ": "InvisibleCoin", + "INVOX": "Invox Finance", + "IZA": "Inzura", + "ITC": "IoT Chain", + "IOTX": "IoTeX Network", + "ION": "Ionomy", + "TLU": "Irene Energy", + "IRL": "IrishCoin", + "ISL": "IslaCoin", + "ITL": "Italian Lira", + "ITA": "Italocoin", + "ING": "Iungo", + "IEC": "IvugeoEvolutionCoin", + "IVY": "IvyKoin", + "IWT": "IwToken", + "J8T": "JET8", + "JEX": "JEX Token", + "JIO": "JIO Token", + "JOYS": "JOYS", + "JOY*": "JOYSO", + "JSE": "JSEcoin", + "JANE": "JaneCoin", + "JNS": "Janus", + "JVY": "Javvy", + "JC": "JesusCoin", + "JET": "Jetcoin", + "JWL": "Jewels", + "JIB": "Jibbit", + "JNT": "Jibrel Network Token", + "JIF": "JiffyCoin", + "JCR": "Jincor", + "JINN": "Jinn", + "JOBS": "JobsCoin", + "J": "JoinCoin", + "JOINT": "Joint Ventures", + "JOK": "JokerCoin", + "XJO": "JouleCoin", + "JOYT": "JoyToken", + "JOY": "Joycoin", + "JUDGE": "JudgeCoin", + "JBS": "JumBucks Coin", + "JUMP": "Jumpcoin", + "JKC": "JunkCoin", + "JMC": "Junson Ming Chan Coin", + "JDC": "JustDatingSite", + "KSYS": "K-Systems", + "KAAS": "KAASY.AI", + "KAT": "KATZcoin", + "KEC": "KEYCO", + "KIBIS": "KIBIS", + "TOS": "KRATOS", + "KRC": "KRCoin", + "KREDS": "KREDS", + "KUBO": "KUBO", + "KWH": "KWHCoin", + "KZC": "KZCash", + "KLKS": "Kalkulus", + "KAPU": "Kapu", + "KBC": "Karatgold coin", + "KRB": "Karbo", + "KRM": "Karma", + "KARMA": "Karma", + "K2G": "Kasko2go", + "KAYI": "Kayı", + "KCASH": "Kcash", + "KEK": "KekCoin", + "KEN": "Kencoin", + "KEP": "Kepler", + "KC": "Kernalcoin", + "KETAN": "Ketan", + "KEX": "KexCoin", + "KEY*": "KeyCoin", + "KMX": "KiMex", + "KICK": "KickCoin", + "KLC": "KiloCoin", + "KIN": "Kin", + "KIND": "Kind Ads", + "KVT": "Kinesis Velocity Token", + "KING": "King93", + "KNC**": "KingN Coin", + "MEOW": "Kittehcoin", + "KLK": "Klickzie", + "KED": "Klingon Empire Darsek", + "KDC": "Klondike Coin", + "KNW": "Knowledge", + "KOBO": "KoboCoin", + "KOLION": "Kolion", + "KMD": "Komodo", + "KORE": "Kore", + "KOTO": "Koto", + "KUSD": "Kowala", + "KRAK": "Kraken", + "KRONE": "Kronecoin", + "KSS": "Krosscoin", + "KGC": "KrugerCoin", + "KRL": "Kryll", + "KTK": "KryptCoin", + "KRP": "Kryptoin", + "KR": "Krypton", + "KBX": "KuBitX", + "KBR": "Kubera Coin", + "KUBOS": "KubosCoin", + "KCS": "Kucoin", + "KUE": "Kuende", + "KURT": "Kurrent", + "KUSH": "KushCoin", + "KUV": "Kuverit", + "KVT*": "Kvantor", + "KNC": "Kyber Network", + "LAX": "LAPO", + "LA": "LATOKEN", + "LBC": "LBRY Credits", + "LAO": "LC Token", + "LEO": "LEOcoin", + "LGBTQ": "LGBTQoin", + "LHC": "LHCoin", + "LIFE": "LIFE", + "LN": "LINK", + "LNKC": "LINKCHAIN", + "VEEN": "LIVEEN", + "LIPC": "LIpcoin", + "LTBC": "LTBCoin", + "LTO": "LTO Network", + "LUMA": "LUMA Token", + "LUX": "LUXCoin", + "LVX": "LVX", + "LYN": "LYNCHPIN Token", + "LALA": "LaLa World", + "LBR": "LaborCrypto", + "LAB": "Labrys", + "BAC*": "LakeBanker", + "TAU": "Lamden Tau", + "PIX": "Lampix", + "LANA": "LanaCoin", + "AXIS": "LaneAxis", + "LTH": "Lathaan", + "LAT": "Latium", + "LATX": "LatiumX", + "LAZ": "Lazarus", + "LEPEN": "LePenCoin", + "LEA": "LeaCoin", + "LDC": "LeadCoin", + "LEAF": "LeafCoin", + "LGD": "Legends Cryptocurrency", + "LGO": "Legolas Exchange", + "LELE": "Lelecoin", + "LEMON": "LemonCoin", + "LCT": "LendConnect", + "LND": "Lendingblock", + "LOAN": "Lendoit", + "LST": "Lendroid Support Token", + "LENIN": "LeninCoin", + "LIR": "Let it Ride", + "LTHN": "Lethean", + "LVL*": "LevelNet Token", + "LVG": "Leverage Coin", + "LEV": "Leverj", + "XLC": "LeviarCoin", + "LIB": "Libellum", + "XLB": "LibertyCoin", + "LBA": "Libra Credit", + "LXC": "LibrexCoin", + "LIGER": "Ligercoin", + "LSD": "LightSpeedCoin", + "LPC*": "Lightpaycoin", + "LIKE": "LikeCoin", + "LK": "Liker", + "LIMX": "LimeCoinX", + "LTD": "Limited Coin", + "LINDA": "Linda", + "LET": "LinkEye", + "LNC*": "Linker Coin", + "LINX": "Linx", + "LIPS": "LipChain", + "LEN": "Liqnet", + "LQD": "Liquid", + "LQ8": "Liquid8", + "LQDN": "Liquidity Network", + "LSK": "Lisk", + "LTCC": "Listerclassic Coin", + "LBTC": "LiteBitcoin", + "LTG": "LiteCoin Gold", + "LTCU": "LiteCoin Ultra", + "LCWP": "LiteCoinW Plus", + "LTCR": "LiteCreed", + "LDOGE": "LiteDoge", + "LTB": "Litebar", + "LTC": "Litecoin", + "LTCH": "Litecoin Cash", + "LCP": "Litecoin Plus", + "LCASH": "LitecoinCash", + "LCC": "LitecoinCash", + "LTCD": "LitecoinDark", + "LTCP": "LitecoinPro", + "LTCX": "LitecoinX", + "LTZ": "Litecoinz", + "LNT": "Litenett", + "LTS": "Litestar Coin", + "LIT": "Lithium", + "LITION": "Lition", + "LTA": "Litra", + "LPC": "Little Phil", + "LIVE": "Live Stars", + "LVN": "LivenPay", + "LPT": "Livepeer", + "LIV": "LiviaCoin", + "LIZ": "Lizus Payment", + "LTE": "Local Token Exchange", + "LWF": "Local World Forwarders", + "LCS": "LocalCoinSwap", + "LOCI": "LociCoin", + "LOC*": "LockTrip", + "LOC": "Loco", + "LGR": "Logarithm", + "LOKI": "Loki", + "LLG": "Loligo", + "LMC": "LomoCoin", + "LOOK": "LookCoin", + "LOOM": "Loom Network", + "LRC": "Loopring", + "LOT": "LottoCoin", + "LYK": "Loyakk Vega", + "LYL": "LoyalCoin", + "BASH": "LuckChain", + "LCK": "Luckbox", + "LK7": "Lucky7Coin", + "LUCKY": "LuckyBlocks", + "LKY": "LuckyCoin", + "LCR": "Lucre", + "LDM": "Ludum token", + "LNL": "LunarLink", + "LUN": "Lunyr", + "LC": "Lutetium Coin", + "LUX**": "Luxmi Coin", + "LYC": "LycanCoin", + "LDN": "Lydiancoin", + "LYFE": "Lyfe", + "LKK": "Lykke", + "LYM": "Lympo", + "LYNK": "Lynked.World", + "LYNX": "Lynx", + "LYB": "LyraBar", + "M2O": "M2O Token", + "MDN": "MADANA", + "MAKE": "MAKE", + "MRK": "MARK.SPACE", + "MCAP": "MCAP", + "MCV": "MCV Token", + "MTEL": "MEDoctor", + "MEETONE": "MEET.ONE", + "MFX": "MFChain", + "MIMI": "MIMI Money", + "MIODIO": "MIODIOCOIN", + "MIS": "MIScoin", + "MILC": "MIcro Licensing Coin", + "MMNXT": "MMNXT", + "MMO": "MMOCoin", + "MMXVI": "MMXVI", + "MOAC": "MOAC", + "MOBU": "MOBU", + "MODEX": "MODEX Token", + "MOS": "MOS Coin", + "XDMC": "MPCX", + "MSD": "MSD", + "MTCMN": "MTC Mesh", + "MUN": "MUNcoin", + "MUSD": "MUSDcoin", + "MUST": "MUST Protocol", + "MVL": "MVL", + "YCE": "MYCE", + "MAC": "MachineCoin", + "MCRN": "MacronCoin", + "MRV": "Macroverse", + "MDC*": "MadCoin", + "ART": "Maecenas", + "MAP": "Maester Protocol", + "MAG**": "Maggie Token", + "MGN": "MagnaCoin", + "MAG": "Magnet", + "MAG*": "Magos", + "MAID": "MaidSafe Coin", + "MMXIV": "MaieutiCoin", + "MNC": "MainCoin", + "MFT": "Mainframe", + "MSC*": "MaisCoin", + "MIV": "MakeItViral", + "MKR": "Maker", + "MAT*": "Manet Coin", + "MANNA": "Manna", + "MAPC": "MapCoin", + "MAR": "MarijuanaCoin", + "MASP": "Market.space", + "MRS": "MarsCoin", + "MARS": "MarsCoin", + "MXT": "MartexCoin", + "MARV": "Marvelous", + "MARX": "MarxCoin", + "MARYJ": "MaryJane Coin", + "MSR": "Masari", + "MC": "Mass Coin", + "MASS": "Mass.Cloud", + "MGD": "MassGrid", + "MCAR": "MasterCar", + "MSC": "MasterCoin", + "MM": "MasterMint", + "MTR": "MasterTraderCoin", + "MAN*": "Matrix AI Network", + "MTX": "Matryx", + "MPG": "Max Property Group", + "MAX": "MaxCoin", + "MYC": "MayaCoin", + "MZC": "MazaCoin", + "MBIT": "Mbitbooks", + "MLITE": "MeLite", + "MDT*": "Measurable Data Token", + "MED*": "MediBloc", + "MEDI": "MediBond", + "MCU": "MediChain", + "MDS": "MediShares", + "MNT*": "Media Network Coin", + "MPT": "Media Protocol Token", + "MEDX": "Mediblock", + "MDC": "MedicCoin", + "MEDIC": "MedicCoin", + "MTN*": "Medicalchain", + "MHP": "MedicoHealth", + "MED": "MediterraneanCoin", + "MPRO": "MediumProject", + "MEC": "MegaCoin", + "MEGA": "MegaFlash", + "XMS": "Megastake", + "MEL": "Melior AI", + "MLN": "Melon", + "MBN": "Membrana", + "MET": "Memessenger", + "EMT*": "Memority", + "MMC": "MemoryCoin", + "MPAY": "Menapay", + "ONE": "Menlo One", + "MENU": "MenuBuzz", + "MRN": "Mercoin", + "MVP": "Merculet", + "MER": "Mercury", + "GMT": "Mercury Protocol", + "MHC": "MetaHash", + "METM": "MetaMorph", + "META": "Metadium", + "MTL": "Metal", + "MTLM3": "Metal Music v3", + "METAL": "MetalCoin", + "ETP": "Metaverse", + "MET*": "Metronome", + "MIT": "MiMiner", + "MBTC": "MicroBitcoin", + "AMM": "MicroMoney", + "MDT": "Midnight", + "MON": "MilionCoin", + "MUU": "MilkCoin", + "MIL": "Milllionaire Coin", + "MILO": "MiloCoin", + "MINC": "MinCoin", + "MG": "Mind Gene", + "MND": "MindCoin", + "MIC": "Mindexcoin", + "MAI": "Mindsync", + "MINT*": "Mineable Token", + "MIO": "Miner One token", + "MIN": "Minerals Coin", + "MNE": "Minereum", + "MRT": "MinersReward", + "MNM": "Mineum", + "MINEX": "Minex", + "MNX": "MinexCoin", + "MAT": "MiniApps", + "MNTS": "Mint", + "MINT": "MintCoin", + "BIP": "Minter", + "MITH": "Mithril", + "XIN*": "Mixin", + "MIB": "Mobile Integrated Blockchain", + "CHF*": "MobileBridge Momentum", + "MGO": "MobileGo", + "MOLK": "Mobilink Token", + "MOBI": "Mobius", + "MTRC": "ModulTrade", + "MDL*": "Modulum", + "MOD": "Modum", + "MDA": "Moeda", + "MOIN": "MoinCoin", + "MOJO": "Mojocoin", + "MOF": "Molecular Future", + "MOL": "Molecule", + "TAB": "MollyCoin", + "MMTM": "Momentum", + "MONA": "MonaCoin", + "MNZ": "Monaize", + "XMR": "Monero", + "ZMR": "Monero 0", + "XMC": "Monero Classic", + "XMRG": "Monero Gold", + "XMO": "Monero Original", + "XMV": "MoneroV", + "MONETA": "Moneta", + "MNV": "MonetaVerde", + "MUE": "MonetaryUnit", + "MTH": "Monetha", + "MTZ": "Monetizr", + "MNB": "MoneyBag", + "MONEY": "MoneyCoin", + "MRP*": "MoneyRebel", + "IMT": "MoneyToken", + "MNY": "Monkey", + "MONK": "Monkey Project", + "XMCC": "Monoeci", + "MNR": "Monoreto", + "MBI": "Monster Byte Inc", + "MBLC": "Mont Blanc", + "MOON": "MoonCoin", + "LX": "Moonlight", + "MZG": "Moozicore", + "MITX": "Morpheus Infrastructure Token", + "MRPH": "Morpheus Network", + "MRP": "MorpheusCoin", + "MZX": "Mosaic Network", + "MOAT": "Mother Of All Tokens", + "MSP": "Mothership", + "XMN": "Motion", + "MTN**": "Motion", + "MOTO": "Motocoin", + "MOV": "MovieCoin", + "MTK": "Moya Token", + "MRSA": "MrsaCoin", + "MUDRA": "MudraCoin", + "MTT": "MulTra", + "MLT": "MultiGames", + "MWC": "MultiWallet Coin", + "MBT": "Multibot", + "MTCN": "Multiven", + "MRY": "MurrayCoin", + "MUSE": "Muse", + "MITC": "MusicLife", + "MUSIC": "Musicoin", + "MCI": "Musiconomi", + "MST": "MustangCoin", + "MUT": "Mutual Coin", + "MBC": "My Big Coin", + "MYB": "MyBit", + "MCB": "MyCryptoBank", + "MYDFS": "MyDFS", + "MAZC": "MyMazzu", + "MT*": "MyToken", + "WISH": "MyWish", + "MT": "Mycelium Token", + "MYO": "Mycro", + "MPXT": "Myplacex", + "XMY": "MyriadCoin", + "MYST": "Mysterium", + "NANJ": "NANJCOIN", + "XEM": "NEM", + "NEO": "NEO", + "NEOG": "NEO Gold", + "NEXO": "NEXO", + "NOX": "NITRO", + "NIX": "NIX", + "NKN": "NKN", + "NOAH": "NOAHCOIN", + "NBAR": "NOBAR", + "NOIA": "NOIA Network", + "NOIZ": "NOIZ", + "CHFN": "NOKU CHF", + "EURN": "NOKU EUR", + "NOKU": "NOKU Master token", + "NSP": "NOMAD.space", + "NOW": "NOW Token", + "NPC": "NPCcoin", + "NPER": "NPER", + "NVST": "NVO", + "NWP": "NWPSolution", + "NXE": "NXEcoin", + "NXTI": "NXTI", + "NXTTY": "NXTTY", + "NYN": "NYNJA", + "NYX": "NYXCOIN", + "NFN": "Nafen", + "NGC": "NagaCoin", + "NZE": "Nagezeni", + "NKT": "NakomotoDark", + "NAM": "Namacoin", + "NMH": "Namahe", + "NMC": "Namecoin", + "NMK": "Namek", + "NAMO": "NamoCoin", + "NANO": "Nano", + "NHCT": "Nano Healthcare Token", + "NAN": "NanoToken", + "NPX": "Napoleon X", + "NRVE": "Narrative", + "NAS2": "Nas2Coin", + "NAUT": "Nautilus Coin", + "NAV": "NavCoin", + "NAVI": "NaviAddress", + "NAVIB": "Navibration", + "NEBL": "Neblio", + "NEBU": "Nebuchadnezzar", + "NBAI": "Nebula AI", + "NAS": "Nebulas", + "NDC*": "NeedleCoin", + "NEF": "NefariousCoin", + "NRX": "Neironix", + "NEC": "NeoCoin", + "NEX": "Neonexchange", + "NEOS": "NeosCoin", + "NTCC": "NeptuneClassic", + "NBIT": "NetBit", + "NET": "NetCoin", + "NTM": "NetM", + "NETKO": "Netko", + "OUT": "Netscouters", + "NTWK": "Network Token", + "NETC": "NetworkCoin", + "NEU*": "NeuCoin", + "NEU": "Neumark", + "NRP": "Neural Protocol", + "NRO": "Neuro", + "NRC": "Neurocoin", + "NRM": "Neuromachine", + "NTK": "Neurotoken", + "NTRN": "Neutron", + "NEVA": "NevaCoin", + "NDC": "NeverDie", + "NIC": "NewInvestCoin", + "NYC": "NewYorkCoin", + "NZC": "NewZealandCoin", + "NEWB": "Newbium", + "NEW": "Newton", + "NCP": "Newton Coin", + "NXC": "Nexium", + "NEXT": "Next.exchange Token", + "Pakka": "NextPakk", + "NXS": "Nexus", + "NEXXO": "Nexxo", + "NGIN": "Ngin", + "NICE": "NiceCoin", + "NIHL": "Nihilo Coin", + "NMB": "Nimbus Coin", + "NIMFA": "Nimfamoney", + "NIM": "Nimiq", + "NTC": "NineElevenTruthCoin", + "NDOGE": "NinjaDoge", + "NBR": "Niobio Cash", + "NBC": "Niobium", + "$NOBS": "No BS Crypto", + "NLC": "NoLimitCoin", + "NLC2": "NoLimitCoin", + "NOBL": "NobleCoin", + "NODE": "Node", + "NODIS": "Nodis", + "NVDX": "Nodvix", + "NRB": "NoirBits", + "NRS": "NoirShares", + "NUSD": "Nomin USD", + "NZO": "NonZero", + "NOO": "Noocoin", + "NVC": "NovaCoin", + "MNVM": "Novam", + "NWCN": "NowCoin", + "NBX": "Noxbox", + "NBT": "NuBits", + "NSR": "NuShares", + "NUBIS": "NubisCoin", + "NCASH": "Nucleus Vision", + "NUKE": "NukeCoin", + "NKC": "Nukecoinz", + "NLX": "Nullex", + "NULS": "Nuls", + "N7": "Number7", + "NUM": "NumbersCoin", + "NMR": "Numeraire", + "XNC*": "Numismatic Collections", + "NMS": "Numus", + "NXT": "Nxt", + "NYAN": "NyanCoin", + "NBL": "Nybble", + "OATH": "OATH Protocol", + "ODE": "ODEM", + "ODMC": "ODMCoin", + "OK": "OKCash", + "OKOIN": "OKOIN", + "ONAM": "ONAM", + "OPC": "OP Coin", + "OPP*": "OPP Open WiFi", + "ORET": "ORET Token", + "ORM": "ORIUM", + "ORS": "ORS Group", + "OASC": "Oasis City", + "OBITS": "Obits Coin", + "OBS": "Obscurebay", + "ODN": "Obsidian", + "OCL": "Oceanlab", + "OTX": "Octanox", + "OCTO*": "OctoBit Coin", + "OCTO": "OctoCoin", + "OWC": "Oduwa", + "OCN": "Odyssey", + "OFCR": "OfficerCoin", + "OJX": "Ojooo", + "OKB": "Okex", + "OLM": "Olam", + "ODNT": "Old Dogs New Tricks", + "OLDSF": "OldSafeCoin", + "OLV": "OldV", + "OLE": "Olive", + "OLYMP": "OlympCoin", + "MOT": "Olympus Labs", + "OMA": "OmegaCoin", + "OMGC": "OmiseGO Classic", + "OMG": "OmiseGo", + "OMNI": "Omni", + "OMC": "OmniCron", + "ECOM": "Omnitude", + "ONL": "On.Live", + "OGT": "One Game", + "OSF": "One Solution", + "OLT": "OneLedger", + "RNT": "OneRoot Network", + "ONX": "Onix", + "OIO": "Online", + "ONT": "Ontology", + "ONGAS": "Ontology Gas", + "OPQ": "Opacity", + "XPO": "Opair", + "OPAL": "OpalCoin", + "OPEN": "Open Platform", + "OTN": "Open Trading Network", + "OAX": "OpenANX", + "BRIX": "OpenBrix", + "CHAT": "OpenChat", + "OSC": "OpenSourceCoin", + "ZNT": "OpenZen", + "OPES": "Opes", + "OPP": "Opporty", + "OPEX": "Optherium Token", + "OSA": "Optimal Shelf Availability Token", + "OPTION": "OptionCoin", + "OPU": "Opu Coin", + "OPT": "Opus", + "OCT": "OracleChain", + "OC": "OrangeCoin", + "ORBS": "Orbis", + "ORB": "Orbitcoin", + "RDC": "Ordocoin", + "ORGT": "Organic Token", + "ORC": "Organicco", + "ORI": "Origami", + "ORS*": "OriginSport", + "TRAC": "OriginTrail", + "OCC": "Original Crypto Coin", + "ORLY": "OrlyCoin", + "ORME": "Ormeus Coin", + "ORO": "OroCoin", + "OROC": "Orocrypt", + "ORV": "Orvium", + "OICOIN": "Osmium Investment Coin", + "OS76": "OsmiumCoin", + "OWD": "Owlstand", + "ZXC": "Oxcert", + "OXY": "Oxycoin", + "PRL": "Oyster Pearl", + "OYS": "Oyster Platform", + "SHL": "Oyster Shell", + "P2PS": "P2P Solutions Foundation", + "GENE": "PARKGENE", + "PAT": "PATRON", + "PAXEX": "PAXEX", + "PQT": "PAquarium", + "PAI": "PCHAIN", + "PGF7T": "PGF500", + "PHI": "PHI Token", + "PITCH": "PITCH", + "PLNC": "PLNCoin", + "PCH": "POPCHAIN", + "PPOVR": "POVR", + "TOSS": "PROOF OF TOSS", + "PROUD": "PROUD Money", + "PROOF": "PROVER", + "PSI": "PSIcoin", + "PVP": "PVPChain", + "PWR": "PWR Coin", + "PX": "PXcoin", + "PCS": "Pabyosi Coin", + "PBC": "PabyosiCoin", + "PAC": "PacCoin", + "PAK": "Pakcoin", + "PLMT": "Pallium", + "PND": "PandaCoin", + "PINKX": "PantherCoin", + "PAN": "Pantos", + "PRT": "Papusha", + "PRP": "Papyrus", + "PRG": "Paragon", + "DUO": "ParallelCoin", + "PARA": "ParanoiaCoin", + "PARETO": "Pareto Network Token", + "PKB": "ParkByte", + "PAR": "Parlay", + "PART": "Particl", + "PASC": "Pascal Coin", + "PASL": "Pascal Lite", + "PAS": "Passive Coin", + "PTO": "Patentico", + "PTOY": "Patientory", + "PAVO": "Pavocoin", + "PAX": "Paxos Standard", + "PBLK": "PayBlock", + "PYC": "PayCoin", + "XPY": "PayCoin", + "PFR": "PayFair", + "PAYP": "PayPeer", + "PPP": "PayPie", + "PYP": "PayPro", + "PYN": "Paycentos", + "CON_": "Paycon", + "PGC*": "Paygine", + "PMNT": "Paymon", + "PYT": "Payther", + "PEC": "PeaceCoin", + "PRLPAY": "PearlPay", + "XPB": "Pebble Coin", + "PBL": "Pebbles", + "PCL": "Peculium", + "PCO": "Pecunio", + "PCN": "PeepCoin", + "PMTN": "Peer Mountain", + "PPC": "PeerCoin", + "GUESS": "Peerguess", + "PPY": "Peerplays", + "PGC": "Pegascoin", + "PEN*": "PenCoin", + "PNT": "Penta", + "PTA": "PentaCoin", + "PNY": "Peony Coin", + "MAN": "People", + "MEME": "Pepe", + "PEPECASH": "Pepe Cash", + "XPR": "Permian", + "PIE": "Persistent Information Exchange", + "PERU": "PeruCoin", + "PTC": "PesetaCoin", + "PSB": "PesoBit", + "PETL": "Petlife", + "PTR": "Petro", + "XPD": "PetroDollar", + "PXL": "Phalanx", + "SOUL*": "Phantasma", + "PNX": "PhantomX", + "XPH": "PharmaCoin", + "PHS": "PhilosophersStone", + "PXC": "PhoenixCoin", + "PHM": "Phomeum", + "PHR*": "Phore", + "PHTC": "Photochain", + "PHO": "Photon", + "PHT": "Photon Token", + "PHR": "Phreak", + "PGN": "Pigeoncoin", + "PIGGY": "Piggy Coin", + "PKC": "Pikciochain", + "PLR": "Pillar", + "PTT": "Pink Taxi Token", + "PINK": "PinkCoin", + "PINMO": "Pinmo", + "PCOIN": "Pioneer Coin", + "PIO": "Pioneershares", + "SKULL": "Pirate Blocks", + "PIRATE": "PirateCash", + "PIRL": "Pirl", + "PIZZA": "PizzaCoin", + "PLAI": "Plair", + "PLAN": "Plancoin", + "PLANET": "PlanetCoin", + "PLNX": "Planumex", + "XPT": "Plata", + "PTNX": "Platin", + "PLC*": "PlatinCoin", + "PNC": "PlatiniumCoin", + "XPTX": "PlatinumBAR", + "LUC": "Play 2 Live", + "PLA": "PlayChip", + "PXG": "PlayGame", + "PKT": "Playkey", + "DN8": "Pldgr", + "PLG": "Pledgecamp", + "PLX": "PlexCoin", + "PLURA": "PluraCoin", + "PLC": "PlusCoin", + "PLUS1": "PlusOneCoin", + "GPPT": "Pluto Project Coin", + "PTC**": "Plutocoin", + "PLU": "Pluton", + "PLTX": "PlutusX", + "POE": "Po.et", + "POS": "PoSToken", + "POA": "Poa Network", + "XPS": "PoisonIvyCoin", + "XPOKE": "PokeChain", + "POKER": "PokerCoin", + "XPST": "PokerSports", + "PAL": "PolicyPal Network", + "POLIS": "PolisPay", + "POLY": "PolyBit", + "NCT": "PolySwarm", + "PLBT": "Polybius", + "POLY*": "Polymath Network", + "PON": "Ponder", + "PSK": "Pool of Stake", + "XSP": "PoolStamp", + "PPS": "PopulStay", + "POP": "PopularCoin", + "PPT": "Populous", + "PEX": "PosEx", + "PSD": "Poseidon", + "PCCM": "Poseidon Chain", + "OCEAN": "Poseidon Foundation", + "POSQ": "Poseidon Quark", + "POST": "PostCoin", + "POT": "PotCoin", + "POWR": "Power Ledger", + "PSM": "Prasm", + "PRE": "Premium", + "ENTT": "Presale Ventures", + "PRE*": "Presearch", + "HILL": "President Clinton", + "PRES": "President Trump", + "PBT": "Primalbase", + "PST": "Primas", + "PSF": "Prime Shipping Foundation", + "PXI": "Prime-X1", + "PRIME": "PrimeChain", + "XPM": "PrimeCoin", + "PRX": "Printerium", + "PRM": "PrismChain", + "PIVX": "Private Instant Verified Transaction", + "PRIX": "Privatix", + "PZM": "Prizm", + "PRA": "ProChain", + "XPRO": "ProCoin", + "PROC": "ProCurrency", + "PCM": "Procom", + "PROD*": "Productivist", + "PHC": "Profit Hunters Coin", + "PDC": "Project Decorum", + "JTX": "Project J", + "PAI*": "Project Pai", + "OMX": "Project Shivom", + "PRFT": "Proof Suite Token", + "PROPS": "Props", + "PTC*": "Propthereum", + "PRO": "Propy", + "VRP": "Prosense.tv", + "PGL": "Prospectors", + "PRC": "ProsperCoin", + "PROTON": "Proton", + "XES": "Proxeus", + "XPX": "ProximaX", + "PSEUD": "PseudoCash", + "PSY": "Psilocybin", + "PULSE": "Pulse", + "PMA": "PumaPay", + "NPXS": "Pundi X", + "PUPA": "PupaCoin", + "PURA": "Pura", + "PURE": "Pure", + "VIDZ": "PureVidz", + "PGT": "Puregold token", + "PURK": "Purk", + "PRPL": "Purple Token", + "PRPS": "Purpose", + "HLP": "Purpose Coin", + "PUSHI": "Pushi", + "PUT": "PutinCoin", + "PYLNT": "Pylon Network", + "QLC": "QLC Chain", + "QTUM": "QTUM", + "QUSD": "QUSD", + "QBT*": "Qbao", + "QOBI": "Qobit", + "QORA": "QoraCoin", + "XQR": "Qredit", + "QBK": "QuBuck Coin", + "eQUAD": "Quadrant Protocol", + "QNT": "Quant", + "QNTU": "Quanta", + "QUANT": "Quantler", + "QNTR": "Quantor", + "QSP": "Quantstamp", + "QAU": "Quantum", + "QRL": "Quantum Resistant Ledger", + "Q1S": "Quantum1Net", + "QKC": "QuarkChain", + "QRK": "QuarkCoin", + "QTZ": "Quartz", + "QUA": "Quasa", + "QTL": "Quatloo", + "QCN": "Quazar Coin", + "Q2C": "QubitCoin", + "QBC": "Quebecoin", + "QCX": "QuickX Protocol", + "QSLV": "Quicksilver coin", + "QUIZ": "Quizando", + "QUN": "QunQun", + "QASH": "Quoine Liquid", + "XQN": "Quotient", + "QVT": "Qvolta", + "QWARK": "Qwark", + "QWC": "Qwertycoin", + "RFL": "RAFL", + "RAIZER": "RAIZER", + "KRX": "RAVN Korrax", + "RAWG": "RAWG", + "RAC": "RAcoin", + "RHOC": "RChain", + "RCN*": "RCoin", + "REAL": "REAL", + "REBL": "REBL", + "MWAT": "RED MegaWatt", + "RST": "REGA Risk Sharing Token", + "REME": "REME-Coin", + "REM": "REMME", + "RENC": "RENC", + "RGC": "RG Coin", + "RIF": "RIF Token", + "ROI": "ROIcoin", + "ROS": "ROS Coin", + "RFT": "RYFTS", + "RADI": "RadicalCoin", + "RADS": "Radium", + "RDN": "RadonPay", + "RDN*": "Raiden Network", + "RF": "Raido Financial", + "RAINC": "RainCheck", + "RAP": "Rapture", + "ROC": "Rasputin Online Coin", + "RTE": "Rate3", + "XRA": "Ratecoin", + "RATIO": "Ratio", + "RAVE": "Ravelous", + "RVN": "Ravencoin", + "RAYS": "Rays Network", + "RZR": "RazorCoin", + "RWE": "Real-World Evidence", + "RCT": "RealChain", + "REA": "Realisto", + "RCC": "Reality Clash", + "XRK": "RecordsKeeper", + "RRT": "Recovery Right Tokens", + "RRC": "Recycling Regeneration Chain", + "PHX": "Red Pulse Phoenix", + "REDC": "RedCab", + "RCX": "RedCrowCoin", + "RED": "Redcoin", + "RDD": "Reddcoin", + "REDN": "Reden", + "REE": "ReeCoin", + "REF": "RefToken", + "RFR": "Refereum", + "REC": "Regalcoin", + "RDS": "Reger Diamond", + "RLX": "Relex", + "REL": "Reliance", + "REMCO": "Remco", + "RPM": "Render Payment", + "RNDR": "Render Token", + "RNS": "RenosCoin", + "BERRY": "Rentberry", + "REPO": "Repo Coin", + "RPB": "Republia", + "REN": "Republic Token", + "REPUX": "Repux", + "REQ": "Request Network", + "RMS": "Resumeo Shares", + "RGT": "Retail.Global", + "RBIT": "ReturnBit", + "RNC": "ReturnCoin", + "R": "Revain", + "REV": "Revenu", + "RVR": "Revolution VR", + "XRE": "RevolverCoin", + "RWD": "Reward Vision", + "RMOB": "RewardMob", + "RHEA": "Rhea", + "XRL": "Rialto.AI", + "RBR": "Ribbit Rewards", + "RICE": "RiceCoin", + "RIDE": "Ride My Car", + "RIC": "Riecoin", + "RMESH": "RightMesh", + "RBT": "Rimbit", + "RING": "RingCoin", + "RIPO": "RipOffCoin", + "RIPAX": "RipaEx", + "RCN": "Ripio", + "RIPT": "RiptideCoin", + "RBX": "RiptoBuX", + "RISE": "Rise", + "RVT": "Rivetz", + "RAC**": "RoBET", + "ROBET": "RoBet", + "RBDT": "RoBust Defense Token", + "PUT*": "Robin8 Profile Utility Token", + "RAC*": "RoboAdvisorCoin", + "ROX": "Robotina", + "RKT": "Rock Token", + "ROK": "Rockchain", + "ROCK*": "RocketCoin", + "RPC": "RonPaulCoin", + "RSC": "Ronaldinho Soccer Coin", + "ROOT": "RootCoin", + "ROOTS": "RootProject", + "RT2": "RotoCoin", + "ROUND": "RoundCoin", + "ROE": "Rover Coin", + "RKC": "Royal Kingdom Coin", + "RYC": "RoyalCoin", + "ROYAL": "RoyalCoin", + "RYCN": "RoyalCoin 2.0", + "RBIES": "Rubies", + "RUBY": "Rubius", + "RUBIT": "Rublebit", + "RBY": "RubyCoin", + "RUFF": "Ruff", + "RUPX": "Rupaya", + "RUP": "Rupee", + "RC": "Russiacoin", + "RMC": "Russian Mining Coin", + "RUST": "RustCoin", + "RUSTBITS": "Rustbits", + "RYO": "Ryo", + "S8C": "S88 Coin", + "SABR": "SABR Coin", + "SGA": "SAGA", + "SAR*": "SARCoin", + "SLY": "SELFLLERY", + "SGAT": "SGAT", + "SGP": "SGPay", + "XSH": "SHIELD", + "SIDT": "SID Token", + "SKYFT": "SKYFchain", + "SMNX": "SMNX", + "SSX": "SOMESING", + "SNM": "SONM", + "SXDT": "SPECTRE Dividend Token", + "SXUT": "SPECTRE Utility Token", + "SPICE": "SPiCE Venture Capital", + "SRCOIN": "SRCoin", + "SSV": "SSVCoin", + "STAC": "STAC", + "STACS": "STACS Token", + "STRS": "STARS", + "EURS": "STASIS EURS", + "STEX": "STEX", + "STK": "STK Token", + "STS": "STRESScoin", + "STRY": "STRYKZ", + "SUQA": "SUQA", + "SaTT": "SaTT", + "HAVEN": "Safe Haven", + "XSTC": "Safe Trade Coin", + "SAFE": "SafeCoin", + "SAFEX": "SafeExchangeCoin", + "SFR": "SaffronCoin", + "SAF": "Safinus", + "SAGA": "SagaCoin", + "SFU": "Saifu", + "SKB*": "Sakura Bloom", + "SKR": "Sakuracoin", + "SAL": "SalPay", + "SALT": "Salt Lending", + "SLS": "SaluS", + "SMSR": "Samsara Coin", + "SND": "Sandcoin", + "SAN": "Santiment", + "SPN*": "Sapien Network", + "XAI": "SapienceCoin", + "XRF": "Sarf", + "XRN": "Saronite", + "SAT": "Satisfaction Token", + "STV": "Sativa Coin", + "MAD*": "SatoshiMadness", + "SAT2": "Saturn2Coin", + "STO": "Save The Ocean", + "SANDG": "Save and Gain", + "SWC": "Scanetchain Token", + "ST": "Scienceroot", + "SNcoin": "ScientificCoin", + "SCOOBY": "Scooby coin", + "SCORE": "Scorecoin", + "SCOR": "Scorista", + "SCR*": "Scorum", + "SCOT": "Scotcoin", + "SCRIBE": "Scribe Network", + "SCRL": "Scroll", + "DDD": "Scry.info", + "SCRPT": "ScryptCoin", + "SCT": "ScryptToken", + "SRT": "Scrypto", + "SEAL": "Seal Network", + "SECI": "Seci", + "SCRT": "SecretCoin", + "SRC": "SecureCoin", + "SEC": "SecureCryptoPayments", + "SRXIO": "Securix", + "SET": "Securosys", + "SEEDS": "SeedShares", + "SEELE": "Seele", + "B2X": "SegWit2x", + "SEL": "SelenCoin", + "STOR": "Self Storage Coin", + "KEY": "SelfKey", + "SSC": "SelfSell", + "SGO": "Selfie GO", + "SEM": "Semux", + "SDRN": "Senderon", + "SNS": "Sense", + "SENSE": "Sense Token", + "SEN": "Sentaro", + "EMOT": "Sentigraph.io", + "SENT": "Sentinel", + "SENC": "Sentinel Chain", + "UPP": "Sentinel Protocol", + "SNTVT": "Sentivate", + "SEQ": "Sequence", + "SERA": "Seraph", + "SRNT": "Serenity", + "SRV": "ServAdvisor", + "SETH": "Sether", + "SP": "Sex Pistols", + "SXC": "SexCoin", + "SHA": "Shacoin", + "SHADE": "ShadeCoin", + "SDC": "ShadowCash", + "SHARD": "ShardCoin", + "SS": "Sharder", + "SSS": "ShareChain", + "eSwitch": "ShareMeAll", + "SHR": "ShareRing", + "SAK": "SharkCoin", + "SHKG": "SharkGate", + "SHP*": "Sharpe Capital", + "JEW": "Shekel", + "SHLD": "ShieldCoin", + "SHIFT": "Shift", + "SH": "Shilling", + "SHE": "Shine Chain", + "SHIP": "ShipChain", + "SHPT": "Shipit", + "SHORTY": "ShortyCoin", + "SHOW": "ShowCoin", + "HAND": "ShowHand", + "SHPING": "Shping Coin", + "SHREK": "ShrekCoin", + "SCH": "Sia Cash Coin", + "SC": "Siacoin", + "SIB": "SibCoin", + "SGL": "Sigil", + "SIG": "Signal", + "SGN": "Signals Network", + "SIGT": "Signatum", + "SNTR": "Silent Notary", + "SILKT": "SilkChain", + "SILK": "SilkCoin", + "OST": "Simple Token", + "SPLB": "SimpleBank", + "SIGU": "Singular", + "SNGLS": "SingularDTV", + "AGI": "SingularityNET", + "SRN": "SirinLabs", + "SKC": "Skeincoin", + "SKI": "Skillchain", + "SKIN": "Skincoin", + "SKRP": "Skraps", + "SKR*": "Skrilla Token", + "SKM": "Skrumble Network", + "SKB": "SkullBuzz", + "SKYM": "SkyMap", + "SKY": "Skycoin", + "SLX": "Slate", + "SLM": "SlimCoin", + "SLING": "Sling Coin", + "RBTC": "Smart Bitcoin", + "SIFT": "Smart Investment Fund Token", + "POD": "Smart League", + "TASH": "Smart Trip Platform", + "VALOR": "Smart Valor", + "SMART*": "SmartBillions", + "SMART": "SmartCash", + "SMC": "SmartCoin", + "SLST": "SmartLands", + "SMT*": "SmartMesh", + "SMLY": "SmileyCoin", + "SMILO": "Smilo", + "SMOKE": "Smoke", + "SMF": "SmurfCoin", + "SNPC": "SnapCoin", + "SNIP": "SnipCoin", + "SNOV": "Snovio", + "XSG": "Snowgem", + "ONG": "SoMee.Social", + "SOAR": "Soarcoin", + "SLT": "Social Lending Network", + "SMAC": "Social Media Coin", + "SMT": "Social Media Market", + "SEND": "Social Send", + "SOCC": "SocialCoin", + "SG": "SocialGood", + "SREUR": "SocialRemit", + "XBOT": "SocialXbotCoin", + "SCL": "Sociall", + "SOIL": "SoilCoin", + "SOJ": "Sojourn Coin", + "SOL": "Sola", + "SDAO": "Solar DAO", + "SLR": "SolarCoin", + "CELL": "SolarFarm", + "SRX": "Solarex", + "SFC": "Solarflarecoin", + "XLR": "Solaris", + "SOLE": "SoleCoin", + "SOLID": "Solidified", + "SCT*": "Soma", + "SONG": "Song Coin", + "SSD": "Sonic Screw Driver Coin", + "SOON": "SoonCoin", + "SPHTX": "SophiaTX", + "SNK": "Sosnovkino", + "SOUL": "SoulCoin", + "SPX": "Sp8de", + "SCASH": "SpaceCash", + "SPC*": "SpaceChain", + "SPACE": "SpaceCoin", + "SPA": "SpainCoin", + "SPANK": "SpankChain", + "SPK": "SparksPay", + "SPEC": "SpecCoin", + "SPX*": "Specie", + "XSPEC": "Spectre", + "SPEND": "Spend", + "SPHR": "Sphere Coin", + "XID": "Sphre AIR", + "SPIKE": "Spiking", + "SPC": "SpinCoin", + "SPD*": "Spindle", + "SPKZ": "Spokkz", + "SPORT": "SportsCoin", + "SFT": "SportsFix", + "SPF": "SportyCo", + "SPOT": "Spotcoin", + "SPT": "Spots", + "SPOTS": "Spots", + "SPR": "Spreadcoin", + "SPRTZ": "SpritzCoin", + "SPRTS": "Sprouts", + "SQP": "SqPay", + "SQL": "Squall Coin", + "SQR": "Squeezer", + "XSI": "Stability Shares", + "SBC": "StableCoin", + "USDS": "StableUSD", + "DSLA": "Stacktical", + "STCN": "Stakecoin", + "XSN": "Stakenet", + "STA*": "Stakers", + "STHR": "Stakerush", + "LABX": "Stakinglab", + "STALIN": "StalinCoin", + "STC": "StarChain", + "STR*": "StarCoin", + "STAR*": "StarCoin", + "SRC*": "StarCredits", + "KST": "StarKST", + "STT": "Staramba", + "STAR": "Starbase", + "START": "StartCoin", + "STA": "Starta", + "STP": "StashPay", + "SQOIN": "StasyQ", + "SNT": "Status Network Token", + "STAX": "Staxcoin", + "XST": "StealthCoin", + "PNK": "SteamPunk", + "STEEM": "Steem", + "SBD*": "Steem Backed Dollars", + "XLM": "Stellar", + "XTL": "Stellite", + "SCIA": "Stem Cell", + "STN": "Steneum Coin", + "STEPS": "Steps", + "SLG": "SterlingCoin", + "SPD": "Stipend", + "STIPS": "Stips", + "STOCKBET": "StockBet", + "SCC": "StockChain Coin", + "STQ": "Storiqa Token", + "STORJ": "Storj", + "SJCX": "StorjCoin", + "STORM": "Storm", + "STX": "Stox", + "STAK": "Straks", + "SISA": "Strategic Investments in Significant Areas", + "STRAT": "Stratis", + "SSH": "StreamSpace", + "STM": "Streamity", + "DATA": "Streamr DATAcoin", + "SHND": "StrongHands", + "SUT": "Suapp", + "SUB*": "Subscriptio", + "SUB": "Substratum Network", + "SUCR": "Sucre", + "SGC": "Sudan Gold Coin", + "SGR": "Sugar Exchange", + "SUMO": "Sumokoin", + "SNC": "SunContract", + "SSTC": "SunShotCoin", + "SUP": "Supcoin", + "SBTC": "Super Bitcoin", + "SUPER": "SuperCoin", + "UNITY": "SuperNET", + "SEED": "Superbloom", + "M1": "SupplyShock", + "SPM": "Supreme", + "RMT": "SureRemit", + "SUR": "Suretly", + "SWA": "Swace", + "SWACH": "Swachhcoin", + "BUCKS": "SwagBucks", + "SWT": "Swarm City Token", + "SWM": "Swarm Fund", + "SWARM": "SwarmCoin", + "SWEET": "SweetStake", + "SWFTC": "SwftCoin", + "SWING": "SwingCoin", + "SCN": "Swiscoin", + "CHSB": "SwissBorg", + "SRC**": "SwissRealCoin", + "SIC": "Swisscoin", + "SWTH": "Switcheo", + "SDP": "SydPakCoin", + "SYLO": "Sylo", + "SYNC": "SyncCoin", + "MFG": "SyncFab", + "SYC": "SynchroCoin", + "SYNCO": "Synco", + "SYNX": "Syndicate", + "AMP": "Synereo", + "SNRG": "Synergy", + "SNX": "Synthetix", + "SYS": "SysCoin", + "TBT": "T-BOT", + "TCX": "T-Coin", + "TZO": "TANZŌ", + "BAR": "TBIS token", + "TDFB": "TDFB", + "TFD": "TE-FOOD", + "TKY": "THEKEY Token", + "TTN": "TITA Project", + "TXM": "TMONEY", + "TOA": "TOA Coin", + "TPC": "TPCash", + "TRX": "TRON", + "XTROPTIONS": "TROPTIONS", + "TTV": "TV-TWO", + "TWISTR": "TWIST", + "TTU": "TaTaTu", + "TCHN": "Tachain", + "TAG": "TagCoin", + "TAJ": "TajCoin", + "TAK": "TakCoin", + "TKLN": "Taklimakan", + "TALAO": "Talao", + "TLNT": "Talent Token", + "TCOIN": "Talenthon", + "TAL": "Talentico", + "TAM": "TamaGucci", + "XTO": "Tao", + "TTT": "Tap Project", + "TAP": "TappingCoin", + "TGT": "TargetCoin", + "TAT": "Tatiana Coin", + "TSE": "TattooCoin", + "TEC": "TeCoin", + "TCHB": "Teachers Blockchain", + "TEAM": "TeamUP", + "TECH": "TechCoin", + "THS": "TechShares", + "TEK": "TekCoin", + "TEL": "Telcoin", + "GRAM": "Telegram Open Network", + "TELL": "Tellurion", + "PAY": "TenX", + "TENNET": "Tennet", + "TENZ": "Tenzorum", + "LED": "Terawatt", + "TERN": "Ternio", + "TRN": "Ternion", + "TVA": "Terra Virtua", + "TRC": "TerraCoin", + "TECO": "TerraEcoCoin", + "TGN": "TerraGreen", + "TER": "TerraNovaCoin", + "TESLA": "TeslaCoilCoin", + "TES": "TeslaCoin", + "USDT": "Tether", + "TRA": "Tetra", + "XTZ": "Tezos", + "THNX": "ThankYou", + "0xDIARY": "The 0xDiary Token", + "ABYSS": "The Abyss", + "EFX": "The EFFECT Network", + "TFC": "The Freedom Coin", + "GOVT": "The Government Network", + "THC": "The Hempcoin", + "SUNEX": "The Sun Exchange", + "XVE": "The Vegan Initiative", + "CHIEF": "TheChiefCoin", + "GCC*": "TheGCCcoin", + "VIG": "TheVig", + "TCR": "Thecreed", + "MAY": "Theresa May Coin", + "THETA": "Theta", + "TAGR": "Think And Get Rich Coin", + "THRT": "ThriveToken", + "TSC": "ThunderStake", + "TIA": "Tianhe", + "TBRS": "Tiberius", + "TDX": "Tidex Token", + "TNT": "Tierion", + "TIE": "Ties Network", + "TCH": "TigerCash", + "TGC": "TigerCoin", + "TIG": "Tigereum", + "XTC": "TileCoin", + "BILL": "TillBilly", + "TIME": "Time", + "TNB": "Time New Bank", + "TME": "Timereum", + "TMC": "TimesCoin", + "TIMI": "Timicoin", + "TIO*": "Tio Tour Guides", + "TIP": "Tip Blockchain", + "TTC": "TitCoin", + "TITAN": "Titan", + "TBAR": "Titanium BAR", + "TIT": "TittieCoin", + "TMT*": "ToTheMoon", + "TODAY": "TodayCoin", + "TKD": "Tokedo", + "TAAS": "Token as a Service", + "TKN": "TokenCard", + "TCT": "TokenClub", + "TDS": "TokenDesk", + "TPAY*": "TokenPay", + "ACE": "TokenStars", + "TEAMT": "TokenStars TEAM Token", + "AIRE": "Tokenaire", + "TBX": "Tokenbox", + "TEN": "Tokenomy", + "TGTC": "Tokensgate", + "TKS": "Tokes", + "TKA": "Tokia", + "TOK": "TokugawaCoin", + "TOKC": "Tokyo Coin", + "TOM": "Tomahawkcoin", + "TBL": "Tombola", + "TOMO": "TomoChain", + "TOPC": "Topchain", + "TOR": "TorCoin", + "TOT": "TotCoin", + "TRET": "Tourist Review", + "BBC": "TraDove B2BCoin", + "MTN": "TrackNetToken", + "TRCT": "Tracto", + "TXP": "Trade Pharma Network", + "TIOX": "Trade Token X", + "TIO": "Trade.io", + "EXTP": "TradePlace", + "TDZ": "Tradelize", + "TRAID": "Traid", + "TRAK": "TrakInvest", + "TX": "Transfer", + "TBCX": "TrashBurn", + "AVALA": "Travala", + "TRV": "Travel Coin", + "TT": "TravelChain", + "TLT": "Travelertoken", + "TRF": "Travelflex", + "TRAVEL": "Travelvee", + "TMT**": "Traxia Membership Token", + "TOT*": "Trecento Blockchain Capital", + "TREX": "TreeBlock", + "TZC": "TrezarCoin", + "FORCE": "TriForce Tokens", + "TRIA": "Triaconta", + "TRI": "Triangles Coin", + "TRIBE": "TribeToken", + "TRICK": "TrickyCoin", + "TRDT": "Trident", + "GPS": "Triffic", + "ID": "TrigID", + "TRIG": "Trigger", + "TIIM": "TriipMiles", + "TNC": "Trinity Network Credit", + "TRIO": "Tripio", + "TRIP": "Trippki", + "TRVC": "Trivecoin", + "TRVR": "Trivver", + "TRW": "Triwer", + "TPG": "Troll Payment", + "TKN*": "TrollTokens", + "TROLL": "Trollcoin", + "TRK": "TruckCoin", + "TRCK": "Truckcoin", + "TRUE": "True Chain", + "TFL": "True Flip Lottery", + "TUSD": "True USD", + "TDP": "TrueDeck", + "TGAME": "TrueGame", + "TIC": "TrueInvestmentCoin", + "TRUMP": "TrumpCoin", + "TRST": "TrustCoin", + "TRUST": "TrustPlus", + "TTB": "TrustaBit", + "FLEX": "TrustedCars FLEX", + "WHO": "Truwho", + "TYM": "Tryvium", + "TLP": "TulipCoin", + "TUR": "Turron", + "TRTL": "TurtleCoin", + "TUT": "Tutellus", + "TRT": "TuurnT", + "TWLV": "Twelve Coin", + "TWC": "Twilight", + "TWIST": "TwisterCoin", + "UUU": "U Network", + "UCASH": "U.CASH", + "UCN": "UC Coin", + "UCOINT": "UCOIN", + "UCT": "UCOT", + "UFO": "UFO Coin", + "HVE": "UHIVE", + "UMK": "UMKA", + "UNX": "UNEOX", + "XUP": "UPcoin", + "UR": "UR", + "URX": "URANIUMX", + "USAT": "USAT", + "USCOIN": "USCoin", + "USDC": "USD Coin", + "USDCT": "USDCT", + "USOAMIC": "USOAMIC", + "UBC": "Ubcoin", + "UBEX": "Ubex", + "UBQ": "Ubiq", + "UBIQ": "Ubiqoin", + "U": "Ucoin", + "USC": "Ultimate Secure Cash", + "UTC": "UltraCoin", + "XUN": "UltraNote", + "ULTC": "Umbrella", + "UMC": "Umbrella Coin", + "UNC": "UnCoin", + "UNAT": "Unattanium", + "NBOX": "Unboxed", + "UNB": "UnbreakableCoin", + "UNF": "Unfed Coin", + "UBT": "UniBright", + "CANDY": "UnicornGo Candy", + "USX": "Unified Society USDEX", + "UNIFY": "Unify", + "UKG": "UnikoinGold", + "UNIQ": "Uniqredit", + "USDE": "UnitaryStatus Dollar", + "UAEC": "United Arab Emirates Coin", + "UEC": "United Emirates Coin", + "UTT": "United Traders Token", + "UBTC": "UnitedBitcoin", + "GOALS": "UnitedFans", + "UIS": "Unitus", + "UTNP": "Universa", + "UNIT": "Universal Currency", + "UMO": "Universal Molecule", + "URT": "Universal Recognition Token", + "URP": "Universal Reward Protocol", + "UNRC": "UniversalRoyalCoin", + "UNI": "Universe", + "UNO": "Unobtanium", + "UP": "UpToken", + "UFR": "Upfiring", + "UQC": "Uquid Coin", + "URALS": "Urals Coin", + "URB": "Urbit Data", + "URO": "UroCoin", + "USE": "Usechain Token", + "UETL": "Useless Eth Token Lite", + "UET": "Useless Ethereum Token", + "UTH": "Uther", + "UTL": "Utile Network", + "UTIL": "Utility Coin", + "OOT": "Utrum", + "UTK": "Utrust", + "UWC": "Uwezocoin", + "VIDT": "V-ID", + "VANIG": "VANIG", + "VANM": "VANM", + "VAR": "VARcrypt", + "VEGA": "VEGA", + "VNTY": "VENOTY", + "VRX Token": "VIARIUM", + "VIBE": "VIBEHub", + "VIP": "VIP Tokens", + "VITE": "VITE", + "VIVO": "VIVO Coin", + "VLUX": "VLUX", + "VTOS": "VTOS", + "VTUUR": "VTUUR", + "VTRD": "VTradeExchange", + "VVI": "VV Coin", + "VLD": "Valid", + "VALID": "Validator Token", + "VAL": "Valorbit", + "VLR": "Valorem", + "VANY": "Vanywhere", + "VPRC": "VapersCoin", + "VAPOR": "Vaporcoin", + "VAD": "Varanida", + "VLTC": "VaultCoin", + "XVC": "Vcash", + "VTHO": "VeChainThor", + "VC": "Vecap", + "VET": "Vechain", + "VEC2": "VectorCoin 2.0", + "VLX": "Velox", + "VLT": "Veltor", + "VENA": "Vena Network", + "VNS": "Venus", + "VENUS": "VenusEnergy", + "VRA": "Verasity", + "VNT": "Veredictum", + "XVG": "Verge", + "VRC": "VeriCoin", + "VME": "VeriME", + "VRF": "Verifier", + "SPY": "Verifier", + "CRED": "Verify", + "VERI": "Veritaseum", + "VRTY": "Verity", + "VRM": "Verium", + "VRN": "Vernam", + "VRS": "Veros", + "VERSA": "Versa Token", + "VTC": "Vertcoin", + "VTX": "Vertex", + "VTEX": "Vertex", + "VTL": "Vertical", + "VEST": "VestChain", + "VST": "Vestarin", + "VEX": "Vexanium", + "VZT": "Vezt", + "VIA": "ViaCoin", + "VIAZ": "Viaz", + "VIB": "Viberate", + "VIT": "Vice Industry Token", + "VTM": "Victorieum", + "VTY": "Victoriouscoin", + "VIC": "Victorium", + "VID": "VideoCoin", + "VDO": "VidioCoin", + "VIDI": "Vidion", + "VIDY": "Vidy", + "VIEW": "Viewly", + "VEOT": "Viewo", + "VIN": "VinChain", + "VIOR": "ViorCoin", + "IDORU": "Vip2Fan", + "VIRAL": "Viral Coin", + "VUC": "Virta Unique Coin", + "VTA": "VirtaCoin", + "XVP": "VirtacoinPlus", + "VRT": "Virtual Reality Technology", + "VRH": "Virtual Rehab", + "VMC": "VirtualMining Coin", + "VISIO": "Visio", + "VNX": "VisionX", + "VITAE": "Vitae", + "VIU": "Viuly", + "OGO": "VogoV", + "VOISE": "Voise", + "VOL": "VolAir", + "VLTX": "Volentix", + "VLP": "Volpo", + "VTN": "Voltroon", + "VOOT": "VootCoin", + "VOT": "Votecoin", + "VOYA": "Voyacoin", + "VSX": "Vsync", + "VTR": "Vtorrent", + "VULC": "Vulcano", + "W12": "W12 Protocol", + "W3C": "W3Coin", + "WAB": "WABnetwork", + "WIN": "WCoin", + "WETH": "WETH", + "WRL": "WHIRL", + "WMC": "WMCoin", + "WOM": "WOM", + "WOWX": "WOWX", + "WRT": "WRTcoin", + "WTXH": "WTX HUB", + "WU": "WULET", + "WABI": "WaBi", + "WGR": "Wagerr", + "WTC": "Waltonchain", + "WAN": "Wanchain", + "WAND": "WandX", + "WRC*": "WarCoin", + "WARP": "WarpCoin", + "WASH": "WashingtonCoin", + "WUG": "WatchUGot", + "WMB": "WatermelonBlock", + "WAVES": "Waves", + "WCT": "Waves Community Token", + "WGO": "WavesGO", + "WNET": "Wavesnode.net", + "WAY": "WayCoin", + "WSX": "WeAreSatoshi", + "WBY": "WeBuy", + "WPR": "WePower", + "WT": "WeToken", + "WEALTH": "WealthCoin", + "WVR": "Weave", + "WEB*": "Webchain", + "WEB": "Webcoin", + "WDX": "WeiDex", + "WELL": "Well", + "WLME": "Wellmee", + "WTL": "Welltrado", + "WMK": "Wemark", + "WEX": "Wexcoin", + "WHL": "WhaleCoin", + "AWT": "WhatsOnPic", + "WHEN": "WhenHub", + "WC": "WhiteCoin", + "XWC": "WhiteCoin", + "WIC": "Wi Coin", + "WIIX": "Wiix", + "WBB": "Wild Beast Coin", + "WILD": "Wild Crypto", + "WINS": "WinStars", + "WHN": "Windhan Energy", + "LIF": "Winding Tree", + "WINE": "WineCoin", + "WINGS": "Wings DAO", + "WINK": "Wink", + "WISC": "WisdomCoin", + "WSC": "WiserCoin", + "WSH": "Wish Finance", + "WISH*": "WishFinance", + "WIT": "Witcoin", + "WLK": "Wolk", + "WOMEN": "WomenCoin", + "LOG": "Wood Coin", + "WBBC": "World Bit Bank", + "WCG": "World Crypto Gold", + "WGC": "World Gold Coin", + "XWT": "World Trade Funds", + "WOBTC": "WorldBTC", + "WDC": "WorldCoin", + "WOP": "WorldPay", + "WRC": "Worldcore", + "WPT": "Worldopoly", + "WAX": "Worldwide Asset eXchange", + "WBTC": "Wrapped Bitcoin", + "WYR": "Wyrify", + "WYS": "Wysker", + "XRED": "X Real Estate Development", + "XCASH": "X-CASH", + "XC": "X11 Coin", + "X2": "X2Coin", + "X8X": "X8Currency", + "CHI": "XAYA", + "XCZ": "XCOYNZ", + "XCO": "XCoin", + "XDE2": "XDE II", + "XDNA": "XDNA", + "XELS": "XELS Coin", + "XTN": "XEND token", + "XG": "XG Sports", + "XMX": "XMax", + "XOV": "XOVBank", + "XRP": "XRP", + "XBY": "XTRABYTES", + "XUEZ": "XUEZ", + "XXX": "XXXCoin", + "XYO": "XY Oracle", + "XNX": "XanaxCoin", + "XAU": "XauCoin", + "XAUR": "Xaurum", + "XCSH": "Xcash", + "XCEL": "XcelTrip", + "XCG": "Xchange", + "XNC": "XenCoin", + "XEN": "XenixCoin", + "XNN": "Xenon", + "XNB": "Xeonbit", + "MI": "XiaoMiCoin", + "XDCE": "XinFin Coin", + "XIOS": "Xios", + "XT3": "Xt3ch", + "XRBT": "Xtribe", + "YAY": "YAYcoin", + "YAC": "YAcCoin", + "YACHTCO": "Yachtco", + "YMC": "YamahaCoin", + "YMZ": "Yamzu", + "YBC": "YbCoin", + "YDY": "Ydentity", + "YEE": "Yee", + "YBT": "YellowBetter", + "YES": "YesCoin", + "YOC": "YoCoin", + "YOVI": "YobitVirtualCoin", + "YON": "YondoCoin", + "YSH": "Yoshi", + "U42": "You42", + "YOYOW": "Yoyow", + "YUM": "Yumerium", + "Z2": "Z2 Coin", + "ZAB": "ZABERcoin", + "ZAZA": "ZAZA", + "ZT": "ZB Global", + "ZCC": "ZCC Coin", + "ZEC": "ZCash", + "ZECD": "ZCashDarkCoin", + "ZCG": "ZCashGOLD", + "ZCL": "ZClassic", + "XZC": "ZCoin", + "ZEN": "ZEN", + "ZEPH": "ZEPHYR", + "ZINC": "ZINC", + "ZIX": "ZIX Token", + "ZLQ": "ZLiteQubit", + "ZMN": "ZMINE", + "ZNAQ": "ZNAQ", + "ZPR": "ZPER", + "ZSE": "ZSEcoin", + "ZEX": "Zaddex", + "ZAP": "Zap", + "ZAT": "ZatGo", + "ZYD": "ZayedCoin", + "ZXT": "Zcrypt", + "NZL": "Zealium", + "ZCO": "Zebi Coin", + "ZED": "ZedCoins", + "ZPT": "Zeepin", + "ZEEW": "Zeew", + "ZEIT": "ZeitCoin", + "ZEL": "Zelcash", + "ZP": "Zen Protocol", + "ZND": "Zenad", + "ZENI": "Zennies", + "ZNA": "Zenome", + "ZER": "Zero", + "ZCC1": "ZeroCarbon", + "ZSC*": "ZeroState", + "ZEST": "ZestCoin", + "ZET2": "Zeta2Coin", + "ZET": "ZetaCoin", + "ZSC": "Zeusshield", + "ZUC": "Zeux", + "ZCN*": "Zichain", + "ZBC": "Zilbercoin", + "ZLA": "Zilla", + "ZIL": "Zilliqa", + "ZIP": "Zipper", + "ZIPT": "Zippie", + "ZOI": "Zoin", + "ZNE": "ZoneCoin", + "ZOOM": "ZoomCoin", + "ZRC": "ZrCoin", + "ZUP": "Zupply Token", + "ZUR": "Zurcoin", + "ZUUM": "Zuum", + "AQU": "aQuest", + "AXPR": "aXpire", + "ELF": "aelf", + "AXC": "autoXchange", + "BPN": "beepnow", + "OX": "betbox", + "BITCNY": "bitCNY", + "BITGOLD": "bitGold", + "BITSILVER": "bitSilver", + "BITUSD": "bitUSD", + "CSQ": "cosquare", + "DCS": "deCLOUDs", + "DNT": "district0x", + "ECHT": "e-Chat", + "EBIT": "eBit", + "EBTC": "eBitcoin", + "EBST": "eBoost", + "ELTC2": "eLTC", + "LYQD": "eLYQD", + "DEM": "eMark", + "EMU": "eMusic", + "ePRX": "eProxy", + "EREAL": "eREAL", + "EMPR": "empowr", + "BLACK": "eosBLACK", + "EOSDAC": "eosDAC", + "XEP": "ephelants360", + "FDX": "fidentiaX", + "GCN": "gCn Coin", + "FFUEL": "getFIFO", + "HBE": "healthbank", + "ICHN": "i-chain", + "IBANK": "iBankCoin", + "DEAL": "iDealCash", + "ICE": "iDice", + "IETH": "iEthereum", + "RLC": "iEx.ec", + "ILT": "iOlite", + "ITU": "iTrue", + "IW": "iWallet", + "IXT": "iXledger", + "IMU": "imusify", + "ITM": "intimate.io", + "MCN": "mCoin", + "MVU": "meVu", + "MIBO": "miBoodle", + "MOOLYA": "moolyacoin", + "NOS": "nOS", + "redBUX": "redBUX", + "SUSD": "sUSD", + "SVD": "savedroid", + "SBA": "simplyBrand", + "UFT": "ufoodo", + "UGC": "ugChain", + "VSL": "vSlice", + "VTAG": "veriTAG Token", + "WBTC*": "wBTC", + "OPET": "ÕpetFoundation" +} \ No newline at end of file diff --git a/other/currencies.json b/other/currencies.json new file mode 100644 index 0000000..030b2d3 --- /dev/null +++ b/other/currencies.json @@ -0,0 +1,172 @@ +{ + "AED": "United Arab Emirates Dirham", + "AFN": "Afghan Afghani", + "ALL": "Albanian Lek", + "AMD": "Armenian Dram", + "ANG": "Netherlands Antillean Guilder", + "AOA": "Angolan Kwanza", + "ARS": "Argentine Peso", + "AUD": "Australian Dollar", + "AWG": "Aruban Florin", + "AZN": "Azerbaijani Manat", + "BAM": "Bosnia-Herzegovina Convertible Mark", + "BBD": "Barbadian Dollar", + "BDT": "Bangladeshi Taka", + "BGN": "Bulgarian Lev", + "BHD": "Bahraini Dinar", + "BIF": "Burundian Franc", + "BMD": "Bermudan Dollar", + "BND": "Brunei Dollar", + "BOB": "Bolivian Boliviano", + "BRL": "Brazilian Real", + "BSD": "Bahamian Dollar", + "BTC": "Bitcoin", + "BTN": "Bhutanese Ngultrum", + "BWP": "Botswanan Pula", + "BYN": "Belarusian Ruble", + "BZD": "Belize Dollar", + "CAD": "Canadian Dollar", + "CDF": "Congolese Franc", + "CHF": "Swiss Franc", + "CLF": "Chilean Unit of Account (UF)", + "CLP": "Chilean Peso", + "CNH": "Chinese Yuan (Offshore)", + "CNY": "Chinese Yuan", + "COP": "Colombian Peso", + "CRC": "Costa Rican Colón", + "CUC": "Cuban Convertible Peso", + "CUP": "Cuban Peso", + "CVE": "Cape Verdean Escudo", + "CZK": "Czech Republic Koruna", + "DJF": "Djiboutian Franc", + "DKK": "Danish Krone", + "DOP": "Dominican Peso", + "DZD": "Algerian Dinar", + "EGP": "Egyptian Pound", + "ERN": "Eritrean Nakfa", + "ETB": "Ethiopian Birr", + "EUR": "Euro", + "FJD": "Fijian Dollar", + "FKP": "Falkland Islands Pound", + "GBP": "British Pound Sterling", + "GEL": "Georgian Lari", + "GGP": "Guernsey Pound", + "GHS": "Ghanaian Cedi", + "GIP": "Gibraltar Pound", + "GMD": "Gambian Dalasi", + "GNF": "Guinean Franc", + "GTQ": "Guatemalan Quetzal", + "GYD": "Guyanaese Dollar", + "HKD": "Hong Kong Dollar", + "HNL": "Honduran Lempira", + "HRK": "Croatian Kuna", + "HTG": "Haitian Gourde", + "HUF": "Hungarian Forint", + "IDR": "Indonesian Rupiah", + "ILS": "Israeli New Sheqel", + "IMP": "Manx pound", + "INR": "Indian Rupee", + "IQD": "Iraqi Dinar", + "IRR": "Iranian Rial", + "ISK": "Icelandic Króna", + "JEP": "Jersey Pound", + "JMD": "Jamaican Dollar", + "JOD": "Jordanian Dinar", + "JPY": "Japanese Yen", + "KES": "Kenyan Shilling", + "KGS": "Kyrgystani Som", + "KHR": "Cambodian Riel", + "KMF": "Comorian Franc", + "KPW": "North Korean Won", + "KRW": "South Korean Won", + "KWD": "Kuwaiti Dinar", + "KYD": "Cayman Islands Dollar", + "KZT": "Kazakhstani Tenge", + "LAK": "Laotian Kip", + "LBP": "Lebanese Pound", + "LKR": "Sri Lankan Rupee", + "LRD": "Liberian Dollar", + "LSL": "Lesotho Loti", + "LYD": "Libyan Dinar", + "MAD": "Moroccan Dirham", + "MDL": "Moldovan Leu", + "MGA": "Malagasy Ariary", + "MKD": "Macedonian Denar", + "MMK": "Myanma Kyat", + "MNT": "Mongolian Tugrik", + "MOP": "Macanese Pataca", + "MRO": "Mauritanian Ouguiya (pre-2018)", + "MRU": "Mauritanian Ouguiya", + "MUR": "Mauritian Rupee", + "MVR": "Maldivian Rufiyaa", + "MWK": "Malawian Kwacha", + "MXN": "Mexican Peso", + "MYR": "Malaysian Ringgit", + "MZN": "Mozambican Metical", + "NAD": "Namibian Dollar", + "NGN": "Nigerian Naira", + "NIO": "Nicaraguan Córdoba", + "NOK": "Norwegian Krone", + "NPR": "Nepalese Rupee", + "NZD": "New Zealand Dollar", + "OMR": "Omani Rial", + "PAB": "Panamanian Balboa", + "PEN": "Peruvian Nuevo Sol", + "PGK": "Papua New Guinean Kina", + "PHP": "Philippine Peso", + "PKR": "Pakistani Rupee", + "PLN": "Polish Zloty", + "PYG": "Paraguayan Guarani", + "QAR": "Qatari Rial", + "RON": "Romanian Leu", + "RSD": "Serbian Dinar", + "RUB": "Russian Ruble", + "RWF": "Rwandan Franc", + "SAR": "Saudi Riyal", + "SBD": "Solomon Islands Dollar", + "SCR": "Seychellois Rupee", + "SDG": "Sudanese Pound", + "SEK": "Swedish Krona", + "SGD": "Singapore Dollar", + "SHP": "Saint Helena Pound", + "SLL": "Sierra Leonean Leone", + "SOS": "Somali Shilling", + "SRD": "Surinamese Dollar", + "SSP": "South Sudanese Pound", + "STD": "São Tomé and Príncipe Dobra (pre-2018)", + "STN": "São Tomé and Príncipe Dobra", + "SVC": "Salvadoran Colón", + "SYP": "Syrian Pound", + "SZL": "Swazi Lilangeni", + "THB": "Thai Baht", + "TJS": "Tajikistani Somoni", + "TMT": "Turkmenistani Manat", + "TND": "Tunisian Dinar", + "TOP": "Tongan Pa'anga", + "TRY": "Turkish Lira", + "TTD": "Trinidad and Tobago Dollar", + "TWD": "New Taiwan Dollar", + "TZS": "Tanzanian Shilling", + "UAH": "Ukrainian Hryvnia", + "UGX": "Ugandan Shilling", + "USD": "United States Dollar", + "UYU": "Uruguayan Peso", + "UZS": "Uzbekistan Som", + "VEF": "Venezuelan Bolívar Fuerte", + "VND": "Vietnamese Dong", + "VUV": "Vanuatu Vatu", + "WST": "Samoan Tala", + "XAF": "CFA Franc BEAC", + "XAG": "Silver Ounce", + "XAU": "Gold Ounce", + "XCD": "East Caribbean Dollar", + "XDR": "Special Drawing Rights", + "XOF": "CFA Franc BCEAO", + "XPD": "Palladium Ounce", + "XPF": "CFP Franc", + "XPT": "Platinum Ounce", + "YER": "Yemeni Rial", + "ZAR": "South African Rand", + "ZMW": "Zambian Kwacha", + "ZWL": "Zimbabwean Dollar" +} \ No newline at end of file diff --git a/other/currencies2.json b/other/currencies2.json new file mode 100644 index 0000000..aee370b --- /dev/null +++ b/other/currencies2.json @@ -0,0 +1,158 @@ +[ + {"cc":"AED","symbol":"\u062f.\u0625;","name":"UAE dirham"}, + {"cc":"AFN","symbol":"Afs","name":"Afghan afghani"}, + {"cc":"ALL","symbol":"L","name":"Albanian lek"}, + {"cc":"AMD","symbol":"AMD","name":"Armenian dram"}, + {"cc":"ANG","symbol":"NA\u0192","name":"Netherlands Antillean gulden"}, + {"cc":"AOA","symbol":"Kz","name":"Angolan kwanza"}, + {"cc":"ARS","symbol":"$","name":"Argentine peso"}, + {"cc":"AUD","symbol":"$","name":"Australian dollar"}, + {"cc":"AWG","symbol":"\u0192","name":"Aruban florin"}, + {"cc":"AZN","symbol":"AZN","name":"Azerbaijani manat"}, + {"cc":"BAM","symbol":"KM","name":"Bosnia and Herzegovina konvertibilna marka"}, + {"cc":"BBD","symbol":"Bds$","name":"Barbadian dollar"}, + {"cc":"BDT","symbol":"\u09f3","name":"Bangladeshi taka"}, + {"cc":"BGN","symbol":"BGN","name":"Bulgarian lev"}, + {"cc":"BHD","symbol":".\u062f.\u0628","name":"Bahraini dinar"}, + {"cc":"BIF","symbol":"FBu","name":"Burundi franc"}, + {"cc":"BMD","symbol":"BD$","name":"Bermudian dollar"}, + {"cc":"BND","symbol":"B$","name":"Brunei dollar"}, + {"cc":"BOB","symbol":"Bs.","name":"Bolivian boliviano"}, + {"cc":"BRL","symbol":"R$","name":"Brazilian real"}, + {"cc":"BSD","symbol":"B$","name":"Bahamian dollar"}, + {"cc":"BTN","symbol":"Nu.","name":"Bhutanese ngultrum"}, + {"cc":"BWP","symbol":"P","name":"Botswana pula"}, + {"cc":"BYR","symbol":"Br","name":"Belarusian ruble"}, + {"cc":"BZD","symbol":"BZ$","name":"Belize dollar"}, + {"cc":"CAD","symbol":"$","name":"Canadian dollar"}, + {"cc":"CDF","symbol":"F","name":"Congolese franc"}, + {"cc":"CHF","symbol":"Fr.","name":"Swiss franc"}, + {"cc":"CLP","symbol":"$","name":"Chilean peso"}, + {"cc":"CNY","symbol":"\u00a5","name":"Chinese/Yuan renminbi"}, + {"cc":"COP","symbol":"Col$","name":"Colombian peso"}, + {"cc":"CRC","symbol":"\u20a1","name":"Costa Rican colon"}, + {"cc":"CUC","symbol":"$","name":"Cuban peso"}, + {"cc":"CVE","symbol":"Esc","name":"Cape Verdean escudo"}, + {"cc":"CZK","symbol":"K\u010d","name":"Czech koruna"}, + {"cc":"DJF","symbol":"Fdj","name":"Djiboutian franc"}, + {"cc":"DKK","symbol":"Kr","name":"Danish krone"}, + {"cc":"DOP","symbol":"RD$","name":"Dominican peso"}, + {"cc":"DZD","symbol":"\u062f.\u062c","name":"Algerian dinar"}, + {"cc":"EEK","symbol":"KR","name":"Estonian kroon"}, + {"cc":"EGP","symbol":"\u00a3","name":"Egyptian pound"}, + {"cc":"ERN","symbol":"Nfa","name":"Eritrean nakfa"}, + {"cc":"ETB","symbol":"Br","name":"Ethiopian birr"}, + {"cc":"EUR","symbol":"\u20ac","name":"European Euro"}, + {"cc":"FJD","symbol":"FJ$","name":"Fijian dollar"}, + {"cc":"FKP","symbol":"\u00a3","name":"Falkland Islands pound"}, + {"cc":"GBP","symbol":"\u00a3","name":"British pound"}, + {"cc":"GEL","symbol":"GEL","name":"Georgian lari"}, + {"cc":"GHS","symbol":"GH\u20b5","name":"Ghanaian cedi"}, + {"cc":"GIP","symbol":"\u00a3","name":"Gibraltar pound"}, + {"cc":"GMD","symbol":"D","name":"Gambian dalasi"}, + {"cc":"GNF","symbol":"FG","name":"Guinean franc"}, + {"cc":"GQE","symbol":"CFA","name":"Central African CFA franc"}, + {"cc":"GTQ","symbol":"Q","name":"Guatemalan quetzal"}, + {"cc":"GYD","symbol":"GY$","name":"Guyanese dollar"}, + {"cc":"HKD","symbol":"HK$","name":"Hong Kong dollar"}, + {"cc":"HNL","symbol":"L","name":"Honduran lempira"}, + {"cc":"HRK","symbol":"kn","name":"Croatian kuna"}, + {"cc":"HTG","symbol":"G","name":"Haitian gourde"}, + {"cc":"HUF","symbol":"Ft","name":"Hungarian forint"}, + {"cc":"IDR","symbol":"Rp","name":"Indonesian rupiah"}, + {"cc":"ILS","symbol":"\u20aa","name":"Israeli new sheqel"}, + {"cc":"INR","symbol":"\u20B9","name":"Indian rupee"}, + {"cc":"IQD","symbol":"\u062f.\u0639","name":"Iraqi dinar"}, + {"cc":"IRR","symbol":"IRR","name":"Iranian rial"}, + {"cc":"ISK","symbol":"kr","name":"Icelandic kr\u00f3na"}, + {"cc":"JMD","symbol":"J$","name":"Jamaican dollar"}, + {"cc":"JOD","symbol":"JOD","name":"Jordanian dinar"}, + {"cc":"JPY","symbol":"\u00a5","name":"Japanese yen"}, + {"cc":"KES","symbol":"KSh","name":"Kenyan shilling"}, + {"cc":"KGS","symbol":"\u0441\u043e\u043c","name":"Kyrgyzstani som"}, + {"cc":"KHR","symbol":"\u17db","name":"Cambodian riel"}, + {"cc":"KMF","symbol":"KMF","name":"Comorian franc"}, + {"cc":"KPW","symbol":"W","name":"North Korean won"}, + {"cc":"KRW","symbol":"W","name":"South Korean won"}, + {"cc":"KWD","symbol":"KWD","name":"Kuwaiti dinar"}, + {"cc":"KYD","symbol":"KY$","name":"Cayman Islands dollar"}, + {"cc":"KZT","symbol":"T","name":"Kazakhstani tenge"}, + {"cc":"LAK","symbol":"KN","name":"Lao kip"}, + {"cc":"LBP","symbol":"\u00a3","name":"Lebanese lira"}, + {"cc":"LKR","symbol":"Rs","name":"Sri Lankan rupee"}, + {"cc":"LRD","symbol":"L$","name":"Liberian dollar"}, + {"cc":"LSL","symbol":"M","name":"Lesotho loti"}, + {"cc":"LTL","symbol":"Lt","name":"Lithuanian litas"}, + {"cc":"LVL","symbol":"Ls","name":"Latvian lats"}, + {"cc":"LYD","symbol":"LD","name":"Libyan dinar"}, + {"cc":"MAD","symbol":"MAD","name":"Moroccan dirham"}, + {"cc":"MDL","symbol":"MDL","name":"Moldovan leu"}, + {"cc":"MGA","symbol":"FMG","name":"Malagasy ariary"}, + {"cc":"MKD","symbol":"MKD","name":"Macedonian denar"}, + {"cc":"MMK","symbol":"K","name":"Myanma kyat"}, + {"cc":"MNT","symbol":"\u20ae","name":"Mongolian tugrik"}, + {"cc":"MOP","symbol":"P","name":"Macanese pataca"}, + {"cc":"MRO","symbol":"UM","name":"Mauritanian ouguiya"}, + {"cc":"MUR","symbol":"Rs","name":"Mauritian rupee"}, + {"cc":"MVR","symbol":"Rf","name":"Maldivian rufiyaa"}, + {"cc":"MWK","symbol":"MK","name":"Malawian kwacha"}, + {"cc":"MXN","symbol":"$","name":"Mexican peso"}, + {"cc":"MYR","symbol":"RM","name":"Malaysian ringgit"}, + {"cc":"MZM","symbol":"MTn","name":"Mozambican metical"}, + {"cc":"NAD","symbol":"N$","name":"Namibian dollar"}, + {"cc":"NGN","symbol":"\u20a6","name":"Nigerian naira"}, + {"cc":"NIO","symbol":"C$","name":"Nicaraguan c\u00f3rdoba"}, + {"cc":"NOK","symbol":"kr","name":"Norwegian krone"}, + {"cc":"NPR","symbol":"NRs","name":"Nepalese rupee"}, + {"cc":"NZD","symbol":"NZ$","name":"New Zealand dollar"}, + {"cc":"OMR","symbol":"OMR","name":"Omani rial"}, + {"cc":"PAB","symbol":"B./","name":"Panamanian balboa"}, + {"cc":"PEN","symbol":"S/.","name":"Peruvian nuevo sol"}, + {"cc":"PGK","symbol":"K","name":"Papua New Guinean kina"}, + {"cc":"PHP","symbol":"\u20b1","name":"Philippine peso"}, + {"cc":"PKR","symbol":"Rs.","name":"Pakistani rupee"}, + {"cc":"PLN","symbol":"z\u0142","name":"Polish zloty"}, + {"cc":"PYG","symbol":"\u20b2","name":"Paraguayan guarani"}, + {"cc":"QAR","symbol":"QR","name":"Qatari riyal"}, + {"cc":"RON","symbol":"L","name":"Romanian leu"}, + {"cc":"RSD","symbol":"din.","name":"Serbian dinar"}, + {"cc":"RUB","symbol":"R","name":"Russian ruble"}, + {"cc":"SAR","symbol":"SR","name":"Saudi riyal"}, + {"cc":"SBD","symbol":"SI$","name":"Solomon Islands dollar"}, + {"cc":"SCR","symbol":"SR","name":"Seychellois rupee"}, + {"cc":"SDG","symbol":"SDG","name":"Sudanese pound"}, + {"cc":"SEK","symbol":"kr","name":"Swedish krona"}, + {"cc":"SGD","symbol":"S$","name":"Singapore dollar"}, + {"cc":"SHP","symbol":"\u00a3","name":"Saint Helena pound"}, + {"cc":"SLL","symbol":"Le","name":"Sierra Leonean leone"}, + {"cc":"SOS","symbol":"Sh.","name":"Somali shilling"}, + {"cc":"SRD","symbol":"$","name":"Surinamese dollar"}, + {"cc":"SYP","symbol":"LS","name":"Syrian pound"}, + {"cc":"SZL","symbol":"E","name":"Swazi lilangeni"}, + {"cc":"THB","symbol":"\u0e3f","name":"Thai baht"}, + {"cc":"TJS","symbol":"TJS","name":"Tajikistani somoni"}, + {"cc":"TMT","symbol":"m","name":"Turkmen manat"}, + {"cc":"TND","symbol":"DT","name":"Tunisian dinar"}, + {"cc":"TRY","symbol":"TRY","name":"Turkish new lira"}, + {"cc":"TTD","symbol":"TT$","name":"Trinidad and Tobago dollar"}, + {"cc":"TWD","symbol":"NT$","name":"New Taiwan dollar"}, + {"cc":"TZS","symbol":"TZS","name":"Tanzanian shilling"}, + {"cc":"UAH","symbol":"UAH","name":"Ukrainian hryvnia"}, + {"cc":"UGX","symbol":"USh","name":"Ugandan shilling"}, + {"cc":"USD","symbol":"US$","name":"United States dollar"}, + {"cc":"UYU","symbol":"$U","name":"Uruguayan peso"}, + {"cc":"UZS","symbol":"UZS","name":"Uzbekistani som"}, + {"cc":"VEB","symbol":"Bs","name":"Venezuelan bolivar"}, + {"cc":"VND","symbol":"\u20ab","name":"Vietnamese dong"}, + {"cc":"VUV","symbol":"VT","name":"Vanuatu vatu"}, + {"cc":"WST","symbol":"WS$","name":"Samoan tala"}, + {"cc":"XAF","symbol":"CFA","name":"Central African CFA franc"}, + {"cc":"XCD","symbol":"EC$","name":"East Caribbean dollar"}, + {"cc":"XDR","symbol":"SDR","name":"Special Drawing Rights"}, + {"cc":"XOF","symbol":"CFA","name":"West African CFA franc"}, + {"cc":"XPF","symbol":"F","name":"CFP franc"}, + {"cc":"YER","symbol":"YER","name":"Yemeni rial"}, + {"cc":"ZAR","symbol":"R","name":"South African rand"}, + {"cc":"ZMK","symbol":"ZK","name":"Zambian kwacha"}, + {"cc":"ZWR","symbol":"Z$","name":"Zimbabwean dollar"} +] \ No newline at end of file diff --git a/other/currencycountry.js b/other/currencycountry.js new file mode 100644 index 0000000..a0933de --- /dev/null +++ b/other/currencycountry.js @@ -0,0 +1,23 @@ +// data taken from https://www.iban.com/currency-codes +// https://www.iban.com/country-codes + +const fs = require('fs') +const path = require('path') + +let countryArr = fs.readFileSync(path.join(__dirname, 'country.csv')).toString().trim().toLowerCase().split(/\r?\n/).slice(1).map(e=>e.split(',').map(e=>e.replaceAll('"',''))) +let currencyArr = fs.readFileSync(path.join(__dirname, 'currency.csv')).toString().trim().toLowerCase().split(/\r?\n/).slice(1).map(e=>e.split(',').map(e=>e.replaceAll('"',''))) + +countryObj = Object.fromEntries(countryArr.map(e=>[e[0], e.slice(1)])) +let bigJSON = {} +for(let [countryName, currencyName, currencyCode, currencyNumber] of currencyArr){ + try{ + let [iso2,iso3,isoNumeric] = countryObj[countryName] + if(iso2 in bigJSON) + console.log(countryName) + else + bigJSON[iso2] = {"country_name": countryName, "country_iso3":iso3, "country_iso_numeric":isoNumeric ,"currency_name": currencyName, "currency_code": currencyCode, "currency_number": currencyNumber} + }catch(e){} +} + +fs.writeFileSync(path.join(__dirname, 'bigJSON.json'), JSON.stringify(bigJSON, null, '\t')) + diff --git a/other/filter-repo.py b/other/filter-repo.py new file mode 100644 index 0000000..4d2667a --- /dev/null +++ b/other/filter-repo.py @@ -0,0 +1,4005 @@ +#!/usr/bin/env python3 + +""" +git-filter-repo filters git repositories, similar to git filter-branch, BFG +repo cleaner, and others. The basic idea is that it works by running + git fast-export | filter | git fast-import +where this program not only launches the whole pipeline but also serves as +the 'filter' in the middle. It does a few additional things on top as well +in order to make it into a well-rounded filtering tool. + +git-filter-repo can also be used as a library for more involved filtering +operations; however: + ***** API BACKWARD COMPATIBILITY CAVEAT ***** + Programs using git-filter-repo as a library can reach pretty far into its + internals, but I am not prepared to guarantee backward compatibility of + all APIs. I suspect changes will be rare, but I reserve the right to + change any API. Since it is assumed that repository filtering is + something one would do very rarely, and in particular that it's a + one-shot operation, this should not be a problem in practice for anyone. + However, if you want to re-use a program you have written that uses + git-filter-repo as a library (or makes use of one of its --*-callback + arguments), you should either make sure you are using the same version of + git and git-filter-repo, or make sure to re-test it. + + If there are particular pieces of the API you are concerned about, and + there is not already a testcase for it in t9391-lib-usage.sh or + t9392-python-callback.sh, please contribute a testcase. That will not + prevent me from changing the API, but it will allow you to look at the + history of a testcase to see whether and how the API changed. + ***** END API BACKWARD COMPATIBILITY CAVEAT ***** +""" + +import argparse +import collections +import fnmatch +import gettext +import io +import os +import platform +import re +import shutil +import subprocess +import sys +import time +import textwrap + +from datetime import tzinfo, timedelta, datetime + +__all__ = ["Blob", "Reset", "FileChange", "Commit", "Tag", "Progress", + "Checkpoint", "FastExportParser", "ProgressWriter", + "string_to_date", "date_to_string", + "record_id_rename", "GitUtils", "FilteringOptions", "RepoFilter"] + +deleted_hash = b'0'*40 +write_marks = True +date_format_permissive = True + +def gettext_poison(msg): + if "GIT_TEST_GETTEXT_POISON" in os.environ: # pragma: no cover + return "# GETTEXT POISON #" + return gettext.gettext(msg) + +_ = gettext_poison + +def setup_gettext(): + TEXTDOMAIN="git-filter-repo" + podir = os.environ.get("GIT_TEXTDOMAINDIR") or "@@LOCALEDIR@@" + if not os.path.isdir(podir): # pragma: no cover + podir = None # Python has its own fallback; use that + + ## This looks like the most straightforward translation of the relevant + ## code in git.git:gettext.c and git.git:perl/Git/I18n.pm: + #import locale + #locale.setlocale(locale.LC_MESSAGES, ""); + #locale.setlocale(locale.LC_TIME, ""); + #locale.textdomain(TEXTDOMAIN); + #locale.bindtextdomain(TEXTDOMAIN, podir); + ## but the python docs suggest using the gettext module (which doesn't + ## have setlocale()) instead, so: + gettext.textdomain(TEXTDOMAIN); + gettext.bindtextdomain(TEXTDOMAIN, podir); + +def _timedelta_to_seconds(delta): + """ + Converts timedelta to seconds + """ + offset = delta.days*86400 + delta.seconds + (delta.microseconds+0.0)/1000000 + return round(offset) + +class FixedTimeZone(tzinfo): + """ + Fixed offset in minutes east from UTC. + """ + + tz_re = re.compile(br'^([-+]?)(\d\d)(\d\d)$') + + def __init__(self, offset_string): + tzinfo.__init__(self) + sign, hh, mm = FixedTimeZone.tz_re.match(offset_string).groups() + factor = -1 if (sign and sign == b'-') else 1 + self._offset = timedelta(minutes = factor*(60*int(hh) + int(mm))) + self._offset_string = offset_string + + def utcoffset(self, dt): + return self._offset + + def tzname(self, dt): + return self._offset_string + + def dst(self, dt): + return timedelta(0) + +def string_to_date(datestring): + (unix_timestamp, tz_offset) = datestring.split() + return datetime.fromtimestamp(int(unix_timestamp), + FixedTimeZone(tz_offset)) + +def date_to_string(dateobj): + epoch = datetime.fromtimestamp(0, dateobj.tzinfo) + return(b'%d %s' % (int(_timedelta_to_seconds(dateobj - epoch)), + dateobj.tzinfo.tzname(0))) + +def decode(bytestr): + 'Try to convert bytestr to utf-8 for outputting as an error message.' + return bytestr.decode('utf-8', 'backslashreplace') + +def glob_to_regex(glob_bytestr): + 'Translate glob_bytestr into a regex on bytestrings' + + # fnmatch.translate is idiotic and won't accept bytestrings + if (decode(glob_bytestr).encode() != glob_bytestr): # pragma: no cover + raise SystemExit(_("Error: Cannot handle glob %s").format(glob_bytestr)) + + # Create regex operating on string + regex = fnmatch.translate(decode(glob_bytestr)) + + # FIXME: This is an ugly hack... + # fnmatch.translate tries to do multi-line matching and wants the glob to + # match up to the end of the input, which isn't relevant for us, so we + # have to modify the regex. fnmatch.translate has used different regex + # constructs to achieve this with different python versions, so we have + # to check for each of them and then fix it up. It would be much better + # if fnmatch.translate could just take some flags to allow us to specify + # what we want rather than employing this hackery, but since it + # doesn't... + if regex.endswith(r'\Z(?ms)'): # pragma: no cover + regex = regex[0:-7] + elif regex.startswith(r'(?s:') and regex.endswith(r')\Z'): # pragma: no cover + regex = regex[4:-3] + + # Finally, convert back to regex operating on bytestr + return regex.encode() + +class PathQuoting: + _unescape = {b'a': b'\a', + b'b': b'\b', + b'f': b'\f', + b'n': b'\n', + b'r': b'\r', + b't': b'\t', + b'v': b'\v', + b'"': b'"', + b'\\':b'\\'} + _unescape_re = re.compile(br'\\([a-z"\\]|[0-9]{3})') + _escape = [bytes([x]) for x in range(127)]+[ + b'\\'+bytes(ord(c) for c in oct(x)[2:]) for x in range(127,256)] + _reverse = dict(map(reversed, _unescape.items())) + for x in _reverse: + _escape[ord(x)] = b'\\'+_reverse[x] + _special_chars = [len(x) > 1 for x in _escape] + + @staticmethod + def unescape_sequence(orig): + seq = orig.group(1) + return PathQuoting._unescape[seq] if len(seq) == 1 else bytes([int(seq, 8)]) + + @staticmethod + def dequote(quoted_string): + if quoted_string.startswith(b'"'): + assert quoted_string.endswith(b'"') + return PathQuoting._unescape_re.sub(PathQuoting.unescape_sequence, + quoted_string[1:-1]) + return quoted_string + + @staticmethod + def enquote(unquoted_string): + # Option 1: Quoting when fast-export would: + # pqsc = PathQuoting._special_chars + # if any(pqsc[x] for x in set(unquoted_string)): + # Option 2, perf hack: do minimal amount of quoting required by fast-import + if unquoted_string.startswith(b'"') or b'\n' in unquoted_string: + pqe = PathQuoting._escape + return b'"' + b''.join(pqe[x] for x in unquoted_string) + b'"' + return unquoted_string + +class AncestryGraph(object): + """ + A class that maintains a direct acycle graph of commits for the purpose of + determining if one commit is the ancestor of another. + """ + + def __init__(self): + self.cur_value = 0 + + # A mapping from the external identifers given to us to the simple integers + # we use in self.graph + self.value = {} + + # A tuple of (depth, list-of-ancestors). Values and keys in this graph are + # all integers from the self.value dict. The depth of a commit is one more + # than the max depth of any of its ancestors. + self.graph = {} + + # Cached results from previous calls to is_ancestor(). + self._cached_is_ancestor = {} + + def record_external_commits(self, external_commits): + """ + Record in graph that each commit in external_commits exists, and is + treated as a root commit with no parents. + """ + for c in external_commits: + if c not in self.value: + self.cur_value += 1 + self.value[c] = self.cur_value + self.graph[self.cur_value] = (1, []) + + def add_commit_and_parents(self, commit, parents): + """ + Record in graph that commit has the given parents. parents _MUST_ have + been first recorded. commit _MUST_ not have been recorded yet. + """ + assert all(p in self.value for p in parents) + assert commit not in self.value + + # Get values for commit and parents + self.cur_value += 1 + self.value[commit] = self.cur_value + graph_parents = [self.value[x] for x in parents] + + # Determine depth for commit, then insert the info into the graph + depth = 1 + if parents: + depth += max(self.graph[p][0] for p in graph_parents) + self.graph[self.cur_value] = (depth, graph_parents) + + def is_ancestor(self, possible_ancestor, check): + """ + Return whether possible_ancestor is an ancestor of check + """ + a, b = self.value[possible_ancestor], self.value[check] + original_pair = (a,b) + a_depth = self.graph[a][0] + ancestors = [b] + visited = set() + while ancestors: + ancestor = ancestors.pop() + prev_pair = (a, ancestor) + if prev_pair in self._cached_is_ancestor: + if not self._cached_is_ancestor[prev_pair]: + continue + self._cached_is_ancestor[original_pair] = True + return True + if ancestor in visited: + continue + visited.add(ancestor) + depth, more_ancestors = self.graph[ancestor] + if ancestor == a: + self._cached_is_ancestor[original_pair] = True + return True + elif depth <= a_depth: + continue + ancestors.extend(more_ancestors) + self._cached_is_ancestor[original_pair] = False + return False + +class MailmapInfo(object): + def __init__(self, filename): + self.changes = {} + self._parse_file(filename) + + def _parse_file(self, filename): + name_and_email_re = re.compile(br'(.*?)\s*<([^>]*)>\s*') + comment_re = re.compile(br'\s*#.*') + if not os.access(filename, os.R_OK): + raise SystemExit(_("Cannot read %s") % decode(filename)) + with open(filename, 'br') as f: + count = 0 + for line in f: + count += 1 + err = "Unparseable mailmap file: line #{} is bad: {}".format(count, line) + # Remove comments + line = comment_re.sub(b'', line) + # Remove leading and trailing whitespace + line = line.strip() + if not line: + continue + + m = name_and_email_re.match(line) + if not m: + raise SystemExit(err) + proper_name, proper_email = m.groups() + if len(line) == m.end(): + self.changes[(None, proper_email)] = (proper_name, proper_email) + continue + rest = line[m.end():] + m = name_and_email_re.match(rest) + if m: + commit_name, commit_email = m.groups() + if len(rest) != m.end(): + raise SystemExit(err) + else: + commit_name, commit_email = rest, None + self.changes[(commit_name, commit_email)] = (proper_name, proper_email) + + def translate(self, name, email): + ''' Given a name and email, return the expected new name and email from the + mailmap if there is a translation rule for it, otherwise just return + the given name and email.''' + for old, new in self.changes.items(): + old_name, old_email = old + new_name, new_email = new + if (old_email is None or email.lower() == old_email.lower()) and ( + name == old_name or not old_name): + return (new_name or name, new_email or email) + return (name, email) + +class ProgressWriter(object): + def __init__(self): + self._last_progress_update = time.time() + self._last_message = None + + def show(self, msg): + self._last_message = msg + now = time.time() + if now - self._last_progress_update > .1: + self._last_progress_update = now + sys.stdout.write("\r{}".format(msg)) + sys.stdout.flush() + + def finish(self): + self._last_progress_update = 0 + if self._last_message: + self.show(self._last_message) + sys.stdout.write("\n") + +class _IDs(object): + """ + A class that maintains the 'name domain' of all the 'marks' (short int + id for a blob/commit git object). The reason this mechanism is necessary + is because the text of fast-export may refer to an object using a different + mark than the mark that was assigned to that object using IDS.new(). This + class allows you to translate the fast-export marks (old) to the marks + assigned from IDS.new() (new). + + Note that there are two reasons why the marks may differ: (1) The + user manually creates Blob or Commit objects (for insertion into the + stream) (2) We're reading the data from two different repositories + and trying to combine the data (git fast-export will number ids from + 1...n, and having two 1's, two 2's, two 3's, causes issues). + """ + + def __init__(self): + """ + Init + """ + # The id for the next created blob/commit object + self._next_id = 1 + + # A map of old-ids to new-ids (1:1 map) + self._translation = {} + + # A map of new-ids to every old-id that points to the new-id (1:N map) + self._reverse_translation = {} + + def has_renames(self): + """ + Return whether there have been ids remapped to new values + """ + return bool(self._translation) + + def new(self): + """ + Should be called whenever a new blob or commit object is created. The + returned value should be used as the id/mark for that object. + """ + rv = self._next_id + self._next_id += 1 + return rv + + def record_rename(self, old_id, new_id, handle_transitivity = False): + """ + Record that old_id is being renamed to new_id. + """ + if old_id != new_id: + # old_id -> new_id + self._translation[old_id] = new_id + + # Transitivity will be needed if new commits are being inserted mid-way + # through a branch. + if handle_transitivity: + # Anything that points to old_id should point to new_id + if old_id in self._reverse_translation: + for id_ in self._reverse_translation[old_id]: + self._translation[id_] = new_id + + # Record that new_id is pointed to by old_id + if new_id not in self._reverse_translation: + self._reverse_translation[new_id] = [] + self._reverse_translation[new_id].append(old_id) + + def translate(self, old_id): + """ + If old_id has been mapped to an alternate id, return the alternate id. + """ + if old_id in self._translation: + return self._translation[old_id] + else: + return old_id + + def __str__(self): + """ + Convert IDs to string; used for debugging + """ + rv = "Current count: %d\nTranslation:\n" % self._next_id + for k in sorted(self._translation): + rv += " %d -> %s\n" % (k, self._translation[k]) + + rv += "Reverse translation:\n" + for k in sorted(self._reverse_translation): + rv += " " + str(k) + " -> " + str(self._reverse_translation[k]) + "\n" + + return rv + +class _GitElement(object): + """ + The base class for all git elements that we create. + """ + + def __init__(self): + # A string that describes what type of Git element this is + self.type = None + + # A flag telling us if this Git element has been dumped + # (i.e. printed) or skipped. Typically elements that have been + # dumped or skipped will not be dumped again. + self.dumped = 0 + + def dump(self, file_): + """ + This version should never be called. Derived classes need to + override! We should note that subclasses should implement this + method such that the output would match the format produced by + fast-export. + """ + raise SystemExit(_("Unimplemented function: %s") % type(self).__name__ + +".dump()") # pragma: no cover + + def __bytes__(self): + """ + Convert GitElement to bytestring; used for debugging + """ + old_dumped = self.dumped + writeme = io.BytesIO() + self.dump(writeme) + output_lines = writeme.getvalue().splitlines() + writeme.close() + self.dumped = old_dumped + return b"%s:\n %s" % (type(self).__name__.encode(), + b"\n ".join(output_lines)) + + def skip(self, new_id=None): + """ + Ensures this element will not be written to output + """ + self.dumped = 2 + +class _GitElementWithId(_GitElement): + """ + The base class for Git elements that have IDs (commits and blobs) + """ + + def __init__(self): + _GitElement.__init__(self) + + # The mark (short, portable id) for this element + self.id = _IDS.new() + + # The previous mark for this element + self.old_id = None + + def skip(self, new_id=None): + """ + This element will no longer be automatically written to output. When a + commit gets skipped, it's ID will need to be translated to that of its + parent. + """ + self.dumped = 2 + + _IDS.record_rename(self.old_id or self.id, new_id) + +class Blob(_GitElementWithId): + """ + This class defines our representation of git blob elements (i.e. our + way of representing file contents). + """ + + def __init__(self, data, original_id = None): + _GitElementWithId.__init__(self) + + # Denote that this is a blob + self.type = 'blob' + + # Record original id + self.original_id = original_id + + # Stores the blob's data + assert(type(data) == bytes) + self.data = data + + def dump(self, file_): + """ + Write this blob element to a file. + """ + self.dumped = 1 + HASH_TO_ID[self.original_id] = self.id + ID_TO_HASH[self.id] = self.original_id + + file_.write(b'blob\n') + file_.write(b'mark :%d\n' % self.id) + file_.write(b'data %d\n%s' % (len(self.data), self.data)) + file_.write(b'\n') + + +class Reset(_GitElement): + """ + This class defines our representation of git reset elements. A reset + event is the creation (or recreation) of a named branch, optionally + starting from a specific revision). + """ + + def __init__(self, ref, from_ref = None): + _GitElement.__init__(self) + + # Denote that this is a reset + self.type = 'reset' + + # The name of the branch being (re)created + self.ref = ref + + # Some reference to the branch/commit we are resetting from + self.from_ref = from_ref + + def dump(self, file_): + """ + Write this reset element to a file + """ + self.dumped = 1 + + file_.write(b'reset %s\n' % self.ref) + if self.from_ref: + if isinstance(self.from_ref, int): + file_.write(b'from :%d\n' % self.from_ref) + else: + file_.write(b'from %s\n' % self.from_ref) + file_.write(b'\n') + +class FileChange(_GitElement): + """ + This class defines our representation of file change elements. File change + elements are components within a Commit element. + """ + + def __init__(self, type_, filename = None, id_ = None, mode = None): + _GitElement.__init__(self) + + # Denote the type of file-change (b'M' for modify, b'D' for delete, etc) + # We could + # assert(type(type_) == bytes) + # here but I don't just due to worries about performance overhead... + self.type = type_ + + # Record the name of the file being changed + self.filename = filename + + # Record the mode (mode describes type of file entry (non-executable, + # executable, or symlink)). + self.mode = mode + + # blob_id is the id (mark) of the affected blob + self.blob_id = id_ + + if type_ == b'DELETEALL': + assert filename is None and id_ is None and mode is None + self.filename = b'' # Just so PathQuoting.enquote doesn't die + else: + assert filename is not None + + if type_ == b'M': + assert id_ is not None and mode is not None + elif type_ == b'D': + assert id_ is None and mode is None + elif type_ == b'R': # pragma: no cover (now avoid fast-export renames) + assert mode is None + if id_ is None: + raise SystemExit(_("new name needed for rename of %s") % filename) + self.filename = (self.filename, id_) + self.blob_id = None + + def dump(self, file_): + """ + Write this file-change element to a file + """ + skipped_blob = (self.type == b'M' and self.blob_id is None) + if skipped_blob: return + self.dumped = 1 + + quoted_filename = PathQuoting.enquote(self.filename) + if self.type == b'M' and isinstance(self.blob_id, int): + file_.write(b'M %s :%d %s\n' % (self.mode, self.blob_id, quoted_filename)) + elif self.type == b'M': + file_.write(b'M %s %s %s\n' % (self.mode, self.blob_id, quoted_filename)) + elif self.type == b'D': + file_.write(b'D %s\n' % quoted_filename) + elif self.type == b'DELETEALL': + file_.write(b'deleteall\n') + else: + raise SystemExit(_("Unhandled filechange type: %s") % self.type) # pragma: no cover + +class Commit(_GitElementWithId): + """ + This class defines our representation of commit elements. Commit elements + contain all the information associated with a commit. + """ + + def __init__(self, branch, + author_name, author_email, author_date, + committer_name, committer_email, committer_date, + message, + file_changes, + parents, + original_id = None, + encoding = None, # encoding for message; None implies UTF-8 + **kwargs): + _GitElementWithId.__init__(self) + self.old_id = self.id + + # Denote that this is a commit element + self.type = 'commit' + + # Record the affected branch + self.branch = branch + + # Record original id + self.original_id = original_id + + # Record author's name + self.author_name = author_name + + # Record author's email + self.author_email = author_email + + # Record date of authoring + self.author_date = author_date + + # Record committer's name + self.committer_name = committer_name + + # Record committer's email + self.committer_email = committer_email + + # Record date the commit was made + self.committer_date = committer_date + + # Record commit message and its encoding + self.encoding = encoding + self.message = message + + # List of file-changes associated with this commit. Note that file-changes + # are also represented as git elements + self.file_changes = file_changes + + self.parents = parents + + def dump(self, file_): + """ + Write this commit element to a file. + """ + self.dumped = 1 + HASH_TO_ID[self.original_id] = self.id + ID_TO_HASH[self.id] = self.original_id + + # Make output to fast-import slightly easier for humans to read if the + # message has no trailing newline of its own; cosmetic, but a nice touch... + extra_newline = b'\n' + if self.message.endswith(b'\n') or not (self.parents or self.file_changes): + extra_newline = b'' + + if not self.parents: + file_.write(b'reset %s\n' % self.branch) + file_.write((b'commit %s\n' + b'mark :%d\n' + b'author %s <%s> %s\n' + b'committer %s <%s> %s\n' + ) % ( + self.branch, self.id, + self.author_name, self.author_email, self.author_date, + self.committer_name, self.committer_email, self.committer_date + )) + if self.encoding: + file_.write(b'encoding %s\n' % self.encoding) + file_.write(b'data %d\n%s%s' % + (len(self.message), self.message, extra_newline)) + for i, parent in enumerate(self.parents): + file_.write(b'from ' if i==0 else b'merge ') + if isinstance(parent, int): + file_.write(b':%d\n' % parent) + else: + file_.write(b'%s\n' % parent) + for change in self.file_changes: + change.dump(file_) + if not self.parents and not self.file_changes: + # Workaround a bug in pre-git-2.22 versions of fast-import with + # the get-mark directive. + file_.write(b'\n') + file_.write(b'\n') + + def first_parent(self): + """ + Return first parent commit + """ + if self.parents: + return self.parents[0] + return None + + def skip(self, new_id=None): + _SKIPPED_COMMITS.add(self.old_id or self.id) + _GitElementWithId.skip(self, new_id) + +class Tag(_GitElementWithId): + """ + This class defines our representation of annotated tag elements. + """ + + def __init__(self, ref, from_ref, + tagger_name, tagger_email, tagger_date, tag_msg, + original_id = None): + _GitElementWithId.__init__(self) + self.old_id = self.id + + # Denote that this is a tag element + self.type = 'tag' + + # Store the name of the tag + self.ref = ref + + # Store the entity being tagged (this should be a commit) + self.from_ref = from_ref + + # Record original id + self.original_id = original_id + + # Store the name of the tagger + self.tagger_name = tagger_name + + # Store the email of the tagger + self.tagger_email = tagger_email + + # Store the date + self.tagger_date = tagger_date + + # Store the tag message + self.message = tag_msg + + def dump(self, file_): + """ + Write this tag element to a file + """ + + self.dumped = 1 + HASH_TO_ID[self.original_id] = self.id + ID_TO_HASH[self.id] = self.original_id + + file_.write(b'tag %s\n' % self.ref) + if (write_marks and self.id): + file_.write(b'mark :%d\n' % self.id) + markfmt = b'from :%d\n' if isinstance(self.from_ref, int) else b'from %s\n' + file_.write(markfmt % self.from_ref) + if self.tagger_name: + file_.write(b'tagger %s <%s> ' % (self.tagger_name, self.tagger_email)) + file_.write(self.tagger_date) + file_.write(b'\n') + file_.write(b'data %d\n%s' % (len(self.message), self.message)) + file_.write(b'\n') + +class Progress(_GitElement): + """ + This class defines our representation of progress elements. The progress + element only contains a progress message, which is printed by fast-import + when it processes the progress output. + """ + + def __init__(self, message): + _GitElement.__init__(self) + + # Denote that this is a progress element + self.type = 'progress' + + # Store the progress message + self.message = message + + def dump(self, file_): + """ + Write this progress element to a file + """ + self.dumped = 1 + + file_.write(b'progress %s\n' % self.message) + file_.write(b'\n') + +class Checkpoint(_GitElement): + """ + This class defines our representation of checkpoint elements. These + elements represent events which force fast-import to close the current + packfile, start a new one, and to save out all current branch refs, tags + and marks. + """ + + def __init__(self): + _GitElement.__init__(self) + + # Denote that this is a checkpoint element + self.type = 'checkpoint' + + def dump(self, file_): + """ + Write this checkpoint element to a file + """ + self.dumped = 1 + + file_.write(b'checkpoint\n') + file_.write(b'\n') + +class LiteralCommand(_GitElement): + """ + This class defines our representation of commands. The literal command + includes only a single line, and is not processed in any special way. + """ + + def __init__(self, line): + _GitElement.__init__(self) + + # Denote that this is a literal element + self.type = 'literal' + + # Store the command + self.line = line + + def dump(self, file_): + """ + Write this progress element to a file + """ + self.dumped = 1 + + file_.write(self.line) + +class Alias(_GitElement): + """ + This class defines our representation of fast-import alias elements. An + alias element is the setting of one mark to the same sha1sum as another, + usually because the newer mark corresponded to a pruned commit. + """ + + def __init__(self, ref, to_ref): + _GitElement.__init__(self) + # Denote that this is a reset + self.type = 'alias' + + self.ref = ref + self.to_ref = to_ref + + def dump(self, file_): + """ + Write this reset element to a file + """ + self.dumped = 1 + + file_.write(b'alias\nmark :%d\nto :%d\n\n' % (self.ref, self.to_ref)) + +class FastExportParser(object): + """ + A class for parsing and handling the output from fast-export. This + class allows the user to register callbacks when various types of + data are encountered in the fast-export output. The basic idea is that, + FastExportParser takes fast-export output, creates the various objects + as it encounters them, the user gets to use/modify these objects via + callbacks, and finally FastExportParser outputs the modified objects + in fast-import format (presumably so they can be used to create a new + repo). + """ + + def __init__(self, + tag_callback = None, commit_callback = None, + blob_callback = None, progress_callback = None, + reset_callback = None, checkpoint_callback = None, + done_callback = None): + # Members below simply store callback functions for the various git + # elements + self._tag_callback = tag_callback + self._blob_callback = blob_callback + self._reset_callback = reset_callback + self._commit_callback = commit_callback + self._progress_callback = progress_callback + self._checkpoint_callback = checkpoint_callback + self._done_callback = done_callback + + # Keep track of which refs appear from the export, and which make it to + # the import (pruning of empty commits, renaming of refs, and creating + # new manual objects and inserting them can cause these to differ). + self._exported_refs = set() + self._imported_refs = set() + + # A list of the branches we've seen, plus the last known commit they + # pointed to. An entry in latest_*commit will be deleted if we get a + # reset for that branch. These are used because of fast-import's weird + # decision to allow having an implicit parent via naming the branch + # instead of requiring branches to be specified via 'from' directives. + self._latest_commit = {} + self._latest_orig_commit = {} + + # A handle to the input source for the fast-export data + self._input = None + + # A handle to the output file for the output we generate (we call dump + # on many of the git elements we create). + self._output = None + + # Stores the contents of the current line of input being parsed + self._currentline = '' + + # Compile some regexes and cache those + self._mark_re = re.compile(br'mark :(\d+)\n$') + self._parent_regexes = {} + parent_regex_rules = (br' :(\d+)\n$', br' ([0-9a-f]{40})\n') + for parent_refname in (b'from', b'merge'): + ans = [re.compile(parent_refname+x) for x in parent_regex_rules] + self._parent_regexes[parent_refname] = ans + self._quoted_string_re = re.compile(br'"(?:[^"\\]|\\.)*"') + self._refline_regexes = {} + for refline_name in (b'reset', b'commit', b'tag', b'progress'): + self._refline_regexes[refline_name] = re.compile(refline_name+b' (.*)\n$') + self._user_regexes = {} + for user in (b'author', b'committer', b'tagger'): + self._user_regexes[user] = re.compile(user + b' (.*?) <(.*?)> (.*)\n$') + + def _advance_currentline(self): + """ + Grab the next line of input + """ + self._currentline = self._input.readline() + + def _parse_optional_mark(self): + """ + If the current line contains a mark, parse it and advance to the + next line; return None otherwise + """ + mark = None + matches = self._mark_re.match(self._currentline) + if matches: + mark = int(matches.group(1)) + self._advance_currentline() + return mark + + def _parse_optional_parent_ref(self, refname): + """ + If the current line contains a reference to a parent commit, then + parse it and advance the current line; otherwise return None. Note + that the name of the reference ('from', 'merge') must match the + refname arg. + """ + orig_baseref, baseref = None, None + rule, altrule = self._parent_regexes[refname] + matches = rule.match(self._currentline) + if matches: + orig_baseref = int(matches.group(1)) + # We translate the parent commit mark to what it needs to be in + # our mark namespace + baseref = _IDS.translate(orig_baseref) + self._advance_currentline() + else: + matches = altrule.match(self._currentline) + if matches: + orig_baseref = matches.group(1) + baseref = orig_baseref + self._advance_currentline() + return orig_baseref, baseref + + def _parse_optional_filechange(self): + """ + If the current line contains a file-change object, then parse it + and advance the current line; otherwise return None. We only care + about file changes of type b'M' and b'D' (these are the only types + of file-changes that fast-export will provide). + """ + filechange = None + changetype = self._currentline[0:1] + if changetype == b'M': + (changetype, mode, idnum, path) = self._currentline.split(None, 3) + if idnum[0:1] == b':': + idnum = idnum[1:] + path = path.rstrip(b'\n') + # We translate the idnum to our id system + if len(idnum) != 40: + idnum = _IDS.translate( int(idnum) ) + if idnum is not None: + if path.startswith(b'"'): + path = PathQuoting.dequote(path) + filechange = FileChange(b'M', path, idnum, mode) + else: + filechange = b'skipped' + self._advance_currentline() + elif changetype == b'D': + (changetype, path) = self._currentline.split(None, 1) + path = path.rstrip(b'\n') + if path.startswith(b'"'): + path = PathQuoting.dequote(path) + filechange = FileChange(b'D', path) + self._advance_currentline() + elif changetype == b'R': # pragma: no cover (now avoid fast-export renames) + rest = self._currentline[2:-1] + if rest.startswith(b'"'): + m = self._quoted_string_re.match(rest) + if not m: + raise SystemExit(_("Couldn't parse rename source")) + orig = PathQuoting.dequote(m.group(0)) + new = rest[m.end()+1:] + else: + orig, new = rest.split(b' ', 1) + if new.startswith(b'"'): + new = PathQuoting.dequote(new) + filechange = FileChange(b'R', orig, new) + self._advance_currentline() + return filechange + + def _parse_original_id(self): + original_id = self._currentline[len(b'original-oid '):].rstrip() + self._advance_currentline() + return original_id + + def _parse_encoding(self): + encoding = self._currentline[len(b'encoding '):].rstrip() + self._advance_currentline() + return encoding + + def _parse_ref_line(self, refname): + """ + Parses string data (often a branch name) from current-line. The name of + the string data must match the refname arg. The program will crash if + current-line does not match, so current-line will always be advanced if + this method returns. + """ + matches = self._refline_regexes[refname].match(self._currentline) + if not matches: + raise SystemExit(_("Malformed %(refname)s line: '%(line)s'") % + ({'refname': refname, 'line':self._currentline}) + ) # pragma: no cover + ref = matches.group(1) + self._advance_currentline() + return ref + + def _parse_user(self, usertype): + """ + Get user name, email, datestamp from current-line. Current-line will + be advanced. + """ + user_regex = self._user_regexes[usertype] + (name, email, when) = user_regex.match(self._currentline).groups() + + self._advance_currentline() + return (name, email, when) + + def _parse_data(self): + """ + Reads data from _input. Current-line will be advanced until it is beyond + the data. + """ + fields = self._currentline.split() + assert fields[0] == b'data' + size = int(fields[1]) + data = self._input.read(size) + self._advance_currentline() + if self._currentline == b'\n': + self._advance_currentline() + return data + + def _parse_blob(self): + """ + Parse input data into a Blob object. Once the Blob has been created, it + will be handed off to the appropriate callbacks. Current-line will be + advanced until it is beyond this blob's data. The Blob will be dumped + to _output once everything else is done (unless it has been skipped by + the callback). + """ + # Parse the Blob + self._advance_currentline() + id_ = self._parse_optional_mark() + + original_id = None + if self._currentline.startswith(b'original-oid'): + original_id = self._parse_original_id(); + + data = self._parse_data() + if self._currentline == b'\n': + self._advance_currentline() + + # Create the blob + blob = Blob(data, original_id) + + # If fast-export text had a mark for this blob, need to make sure this + # mark translates to the blob's true id. + if id_: + blob.old_id = id_ + _IDS.record_rename(id_, blob.id) + + # Call any user callback to allow them to use/modify the blob + if self._blob_callback: + self._blob_callback(blob) + + # Now print the resulting blob + if not blob.dumped: + blob.dump(self._output) + + def _parse_reset(self): + """ + Parse input data into a Reset object. Once the Reset has been created, + it will be handed off to the appropriate callbacks. Current-line will + be advanced until it is beyond the reset data. The Reset will be dumped + to _output once everything else is done (unless it has been skipped by + the callback). + """ + # Parse the Reset + ref = self._parse_ref_line(b'reset') + self._exported_refs.add(ref) + ignoreme, from_ref = self._parse_optional_parent_ref(b'from') + if self._currentline == b'\n': + self._advance_currentline() + + # fast-export likes to print extraneous resets that serve no purpose. + # While we could continue processing such resets, that is a waste of + # resources. Also, we want to avoid recording that this ref was + # seen in such cases, since this ref could be rewritten to nothing. + if not from_ref: + self._latest_commit.pop(ref, None) + self._latest_orig_commit.pop(ref, None) + return + + # Create the reset + reset = Reset(ref, from_ref) + + # Call any user callback to allow them to modify the reset + if self._reset_callback: + self._reset_callback(reset) + + # Update metadata + self._latest_commit[reset.ref] = reset.from_ref + self._latest_orig_commit[reset.ref] = reset.from_ref + + # Now print the resulting reset + if not reset.dumped: + self._imported_refs.add(reset.ref) + reset.dump(self._output) + + def _parse_commit(self): + """ + Parse input data into a Commit object. Once the Commit has been created, + it will be handed off to the appropriate callbacks. Current-line will + be advanced until it is beyond the commit data. The Commit will be dumped + to _output once everything else is done (unless it has been skipped by + the callback OR the callback has removed all file-changes from the commit). + """ + # Parse the Commit. This may look involved, but it's pretty simple; it only + # looks bad because a commit object contains many pieces of data. + branch = self._parse_ref_line(b'commit') + self._exported_refs.add(branch) + id_ = self._parse_optional_mark() + + original_id = None + if self._currentline.startswith(b'original-oid'): + original_id = self._parse_original_id(); + + author_name = None + author_email = None + if self._currentline.startswith(b'author'): + (author_name, author_email, author_date) = self._parse_user(b'author') + + (committer_name, committer_email, committer_date) = \ + self._parse_user(b'committer') + + if not author_name and not author_email: + (author_name, author_email, author_date) = \ + (committer_name, committer_email, committer_date) + + encoding = None + if self._currentline.startswith(b'encoding '): + encoding = self._parse_encoding() + + commit_msg = self._parse_data() + + pinfo = [self._parse_optional_parent_ref(b'from')] + # Due to empty pruning, we can have real 'from' and 'merge' lines that + # due to commit rewriting map to a parent of None. We need to record + # 'from' if its non-None, and we need to parse all 'merge' lines. + while self._currentline.startswith(b'merge '): + pinfo.append(self._parse_optional_parent_ref(b'merge')) + orig_parents, parents = [list(tmp) for tmp in zip(*pinfo)] + + # No parents is oddly represented as [None] instead of [], due to the + # special 'from' handling. Convert it here to a more canonical form. + if parents == [None]: + parents = [] + if orig_parents == [None]: + orig_parents = [] + + # fast-import format is kinda stupid in that it allows implicit parents + # based on the branch name instead of requiring them to be specified by + # 'from' directives. The only way to get no parent is by using a reset + # directive first, which clears the latest_commit_for_this_branch tracking. + if not orig_parents and self._latest_commit.get(branch): + parents = [self._latest_commit[branch]] + if not orig_parents and self._latest_orig_commit.get(branch): + orig_parents = [self._latest_orig_commit[branch]] + + # Get the list of file changes + file_changes = [] + file_change = self._parse_optional_filechange() + had_file_changes = file_change is not None + while file_change: + if not (type(file_change) == bytes and file_change == b'skipped'): + file_changes.append(file_change) + file_change = self._parse_optional_filechange() + if self._currentline == b'\n': + self._advance_currentline() + + # Okay, now we can finally create the Commit object + commit = Commit(branch, + author_name, author_email, author_date, + committer_name, committer_email, committer_date, + commit_msg, file_changes, parents, original_id, encoding) + + # If fast-export text had a mark for this commit, need to make sure this + # mark translates to the commit's true id. + if id_: + commit.old_id = id_ + _IDS.record_rename(id_, commit.id) + + # Call any user callback to allow them to modify the commit + aux_info = {'orig_parents': orig_parents, + 'had_file_changes': had_file_changes} + if self._commit_callback: + self._commit_callback(commit, aux_info) + + # Now print the resulting commit, or if prunable skip it + self._latest_orig_commit[branch] = commit.id + if not (commit.old_id or commit.id) in _SKIPPED_COMMITS: + self._latest_commit[branch] = commit.id + if not commit.dumped: + self._imported_refs.add(commit.branch) + commit.dump(self._output) + + def _parse_tag(self): + """ + Parse input data into a Tag object. Once the Tag has been created, + it will be handed off to the appropriate callbacks. Current-line will + be advanced until it is beyond the tag data. The Tag will be dumped + to _output once everything else is done (unless it has been skipped by + the callback). + """ + # Parse the Tag + tag = self._parse_ref_line(b'tag') + self._exported_refs.add(b'refs/tags/'+tag) + id_ = self._parse_optional_mark() + ignoreme, from_ref = self._parse_optional_parent_ref(b'from') + + original_id = None + if self._currentline.startswith(b'original-oid'): + original_id = self._parse_original_id(); + + tagger_name, tagger_email, tagger_date = None, None, None + if self._currentline.startswith(b'tagger'): + (tagger_name, tagger_email, tagger_date) = self._parse_user(b'tagger') + tag_msg = self._parse_data() + if self._currentline == b'\n': + self._advance_currentline() + + # Create the tag + tag = Tag(tag, from_ref, + tagger_name, tagger_email, tagger_date, tag_msg, + original_id) + + # If fast-export text had a mark for this tag, need to make sure this + # mark translates to the tag's true id. + if id_: + tag.old_id = id_ + _IDS.record_rename(id_, tag.id) + + # Call any user callback to allow them to modify the tag + if self._tag_callback: + self._tag_callback(tag) + + # The tag might not point at anything that still exists (self.from_ref + # will be None if the commit it pointed to and all its ancestors were + # pruned due to being empty) + if tag.from_ref: + # Print out this tag's information + if not tag.dumped: + self._imported_refs.add(b'refs/tags/'+tag.ref) + tag.dump(self._output) + else: + tag.skip() + + def _parse_progress(self): + """ + Parse input data into a Progress object. Once the Progress has + been created, it will be handed off to the appropriate + callbacks. Current-line will be advanced until it is beyond the + progress data. The Progress will be dumped to _output once + everything else is done (unless it has been skipped by the callback). + """ + # Parse the Progress + message = self._parse_ref_line(b'progress') + if self._currentline == b'\n': + self._advance_currentline() + + # Create the progress message + progress = Progress(message) + + # Call any user callback to allow them to modify the progress messsage + if self._progress_callback: + self._progress_callback(progress) + + # NOTE: By default, we do NOT print the progress message; git + # fast-import would write it to fast_import_pipes which could mess with + # our parsing of output from the 'ls' and 'get-mark' directives we send + # to fast-import. If users want these messages, they need to process + # and handle them in the appropriate callback above. + + def _parse_checkpoint(self): + """ + Parse input data into a Checkpoint object. Once the Checkpoint has + been created, it will be handed off to the appropriate + callbacks. Current-line will be advanced until it is beyond the + checkpoint data. The Checkpoint will be dumped to _output once + everything else is done (unless it has been skipped by the callback). + """ + # Parse the Checkpoint + self._advance_currentline() + if self._currentline == b'\n': + self._advance_currentline() + + # Create the checkpoint + checkpoint = Checkpoint() + + # Call any user callback to allow them to drop the checkpoint + if self._checkpoint_callback: + self._checkpoint_callback(checkpoint) + + # NOTE: By default, we do NOT print the checkpoint message; although it + # we would only realistically get them with --stdin, the fact that we + # are filtering makes me think the checkpointing is less likely to be + # reasonable. In fact, I don't think it's necessary in general. If + # users do want it, they should process it in the checkpoint_callback. + + def _parse_literal_command(self): + """ + Parse literal command. Then just dump the line as is. + """ + # Create the literal command object + command = LiteralCommand(self._currentline) + self._advance_currentline() + + # Now print the resulting literal command + if not command.dumped: + command.dump(self._output) + + def insert(self, obj): + assert not obj.dumped + obj.dump(self._output) + if type(obj) == Commit: + self._imported_refs.add(obj.branch) + elif type(obj) in (Reset, Tag): + self._imported_refs.add(obj.ref) + + def run(self, input, output): + """ + This method filters fast export output. + """ + # Set input. If no args provided, use stdin. + self._input = input + self._output = output + + # Run over the input and do the filtering + self._advance_currentline() + while self._currentline: + if self._currentline.startswith(b'blob'): + self._parse_blob() + elif self._currentline.startswith(b'reset'): + self._parse_reset() + elif self._currentline.startswith(b'commit'): + self._parse_commit() + elif self._currentline.startswith(b'tag'): + self._parse_tag() + elif self._currentline.startswith(b'progress'): + self._parse_progress() + elif self._currentline.startswith(b'checkpoint'): + self._parse_checkpoint() + elif self._currentline.startswith(b'feature'): + self._parse_literal_command() + elif self._currentline.startswith(b'option'): + self._parse_literal_command() + elif self._currentline.startswith(b'done'): + if self._done_callback: + self._done_callback() + self._parse_literal_command() + # Prevent confusion from others writing additional stuff that'll just + # be ignored + self._output.close() + elif self._currentline.startswith(b'#'): + self._parse_literal_command() + elif self._currentline.startswith(b'get-mark') or \ + self._currentline.startswith(b'cat-blob') or \ + self._currentline.startswith(b'ls'): + raise SystemExit(_("Unsupported command: '%s'") % self._currentline) + else: + raise SystemExit(_("Could not parse line: '%s'") % self._currentline) + + def get_exported_and_imported_refs(self): + return self._exported_refs, self._imported_refs + +def record_id_rename(old_id, new_id): + """ + Register a new translation + """ + handle_transitivity = True + _IDS.record_rename(old_id, new_id, handle_transitivity) + +# Internal globals +_IDS = _IDs() +_SKIPPED_COMMITS = set() +HASH_TO_ID = {} +ID_TO_HASH = {} + +class SubprocessWrapper(object): + @staticmethod + def decodify(args): + if type(args) == str: + return args + else: + assert type(args) == list + return [decode(x) if type(x)==bytes else x for x in args] + + @staticmethod + def call(*args, **kwargs): + if 'cwd' in kwargs: + kwargs['cwd'] = decode(kwargs['cwd']) + return subprocess.call(SubprocessWrapper.decodify(*args), **kwargs) + + @staticmethod + def check_output(*args, **kwargs): + if 'cwd' in kwargs: + kwargs['cwd'] = decode(kwargs['cwd']) + return subprocess.check_output(SubprocessWrapper.decodify(*args), **kwargs) + + @staticmethod + def check_call(*args, **kwargs): # pragma: no cover # used by filter-lamely + if 'cwd' in kwargs: + kwargs['cwd'] = decode(kwargs['cwd']) + return subprocess.check_call(SubprocessWrapper.decodify(*args), **kwargs) + + @staticmethod + def Popen(*args, **kwargs): + if 'cwd' in kwargs: + kwargs['cwd'] = decode(kwargs['cwd']) + return subprocess.Popen(SubprocessWrapper.decodify(*args), **kwargs) + +subproc = subprocess +if platform.system() == 'Windows' or 'PRETEND_UNICODE_ARGS' in os.environ: + subproc = SubprocessWrapper + +class GitUtils(object): + @staticmethod + def get_commit_count(repo, *args): + """ + Return the number of commits that have been made on repo. + """ + if not args: + args = ['--all'] + if len(args) == 1 and isinstance(args[0], list): + args = args[0] + p = subproc.Popen(["git", "rev-list", "--count"] + args, + stdout=subprocess.PIPE, stderr=subprocess.PIPE, + cwd=repo) + if p.wait() != 0: + raise SystemExit(_("%s does not appear to be a valid git repository") + % decode(repo)) + return int(p.stdout.read()) + + @staticmethod + def get_total_objects(repo): + """ + Return the number of objects (both packed and unpacked) + """ + p1 = subproc.Popen(["git", "count-objects", "-v"], + stdout=subprocess.PIPE, cwd=repo) + lines = p1.stdout.read().splitlines() + # Return unpacked objects + packed-objects + return int(lines[0].split()[1]) + int(lines[2].split()[1]) + + @staticmethod + def is_repository_bare(repo_working_dir): + out = subproc.check_output('git rev-parse --is-bare-repository'.split(), + cwd=repo_working_dir) + return (out.strip() == b'true') + + @staticmethod + def determine_git_dir(repo_working_dir): + d = subproc.check_output('git rev-parse --git-dir'.split(), + cwd=repo_working_dir).strip() + if repo_working_dir==b'.' or d.startswith(b'/'): + return d + return os.path.join(repo_working_dir, d) + + @staticmethod + def get_refs(repo_working_dir): + try: + output = subproc.check_output('git show-ref'.split(), + cwd=repo_working_dir) + except subprocess.CalledProcessError as e: + # If error code is 1, there just aren't any refs; i.e. new repo. + # If error code is other than 1, some other error (e.g. not a git repo) + if e.returncode != 1: + raise SystemExit('fatal: {}'.format(e)) + output = '' + return dict(reversed(x.split()) for x in output.splitlines()) + + @staticmethod + def get_blob_sizes(quiet = False): + blob_size_progress = ProgressWriter() + num_blobs = 0 + processed_blobs_msg = _("Processed %d blob sizes") + + # Get sizes of blobs by sha1 + cmd = '--batch-check=%(objectname) %(objecttype) ' + \ + '%(objectsize) %(objectsize:disk)' + cf = subproc.Popen(['git', 'cat-file', '--batch-all-objects', cmd], + bufsize = -1, + stdout = subprocess.PIPE) + unpacked_size = {} + packed_size = {} + for line in cf.stdout: + sha, objtype, objsize, objdisksize = line.split() + objsize, objdisksize = int(objsize), int(objdisksize) + if objtype == b'blob': + unpacked_size[sha] = objsize + packed_size[sha] = objdisksize + num_blobs += 1 + if not quiet: + blob_size_progress.show(processed_blobs_msg % num_blobs) + cf.wait() + if not quiet: + blob_size_progress.finish() + return unpacked_size, packed_size + + @staticmethod + def get_file_changes(repo, parent_hash, commit_hash): + """ + Return a FileChanges list with the differences between parent_hash + and commit_hash + """ + file_changes = [] + + cmd = ["git", "diff-tree", "-r", parent_hash, commit_hash] + output = subproc.check_output(cmd, cwd=repo) + for line in output.splitlines(): + fileinfo, path = line.split(b'\t', 1) + if path.startswith(b'"'): + path = PathQuoting.dequote(path) + oldmode, mode, oldhash, newhash, changetype = fileinfo.split() + if changetype == b'D': + file_changes.append(FileChange(b'D', path)) + elif changetype in (b'A', b'M', b'T'): + identifier = HASH_TO_ID.get(newhash, newhash) + file_changes.append(FileChange(b'M', path, identifier, mode)) + else: # pragma: no cover + raise SystemExit("Unknown change type for line {}".format(line)) + + return file_changes + + @staticmethod + def print_my_version(): + with open(__file__, 'br') as f: + contents = f.read() + # If people replaced @@LOCALEDIR@@ string to point at their local + # directory, undo it so we can get original source version. + contents = re.sub(br'\A#\!.*', + br'#!/usr/bin/env python3', contents) + contents = re.sub(br'(\("GIT_TEXTDOMAINDIR"\) or ").*"', + br'\1@@LOCALEDIR@@"', contents) + + cmd = 'git hash-object --stdin'.split() + version = subproc.check_output(cmd, input=contents).strip() + print(decode(version[0:12])) + +class FilteringOptions(object): + default_replace_text = b'***REMOVED***' + class AppendFilter(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + user_path = values + suffix = option_string[len('--path-'):] or 'match' + if suffix.startswith('rename'): + mod_type = 'rename' + match_type = option_string[len('--path-rename-'):] or 'match' + values = values.split(b':') + if len(values) != 2: + raise SystemExit(_("Error: --path-rename expects one colon in its" + " argument: .")) + if values[0] and values[1] and not ( + values[0].endswith(b'/') == values[1].endswith(b'/')): + raise SystemExit(_("Error: With --path-rename, if OLD_NAME and " + "NEW_NAME are both non-empty and either ends " + "with a slash then both must.")) + if any(v.startswith(b'/') for v in values): + raise SystemExit(_("Error: Pathnames cannot begin with a '/'")) + components = values[0].split(b'/') + values[1].split(b'/') + else: + mod_type = 'filter' + match_type = suffix + components = values.split(b'/') + if values.startswith(b'/'): + raise SystemExit(_("Error: Pathnames cannot begin with a '/'")) + for illegal_path in [b'.', b'..']: + if illegal_path in components: + raise SystemExit(_("Error: Invalid path component '%s' found in '%s'") + % (decode(illegal_path), decode(user_path))) + if match_type == 'regex': + values = re.compile(values) + items = getattr(namespace, self.dest, []) or [] + items.append((mod_type, match_type, values)) + if (match_type, mod_type) == ('glob', 'filter'): + if not values.endswith(b'*'): + extension = b'*' if values.endswith(b'/') else b'/*' + items.append((mod_type, match_type, values+extension)) + setattr(namespace, self.dest, items) + + class HelperFilter(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + af = FilteringOptions.AppendFilter(dest='path_changes', + option_strings=None) + dirname = values if values[-1:] == b'/' else values+b'/' + if option_string == '--subdirectory-filter': + af(parser, namespace, dirname, '--path-match') + af(parser, namespace, dirname+b':', '--path-rename') + elif option_string == '--to-subdirectory-filter': + af(parser, namespace, b':'+dirname, '--path-rename') + else: + raise SystemExit(_("Error: HelperFilter given invalid option_string: %s") + % option_string) # pragma: no cover + + class FileWithPathsFilter(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + if not namespace.path_changes: + namespace.path_changes = [] + namespace.path_changes += FilteringOptions.get_paths_from_file(values) + + @staticmethod + def create_arg_parser(): + # Include usage in the summary, so we can put the description first + summary = _('''Rewrite (or analyze) repository history + + git-filter-repo destructively rewrites history (unless --analyze or + --dry-run are given) according to specified rules. It refuses to do any + rewriting unless either run from a clean fresh clone, or --force was + given. + + Basic Usage: + git-filter-repo --analyze + git-filter-repo [FILTER/RENAME/CONTROL OPTIONS] + + See EXAMPLES section for details. + ''').rstrip() + + # Provide a long helpful examples section + example_text = _('''CALLBACKS + + All callback functions are of the same general format. For a command line + argument like + --foo-callback 'BODY' + + the following code will be compiled and called: + def foo_callback(foo): + BODY + + Thus, to replace 'Jon' with 'John' in author/committer/tagger names: + git filter-repo --name-callback 'return name.replace(b"Jon", b"John")' + + To remove all 'Tested-by' tags in commit (or tag) messages: + git filter-repo --message-callback 'return re.sub(br"\\nTested-by:.*", "", message)' + + To remove all .DS_Store files: + git filter-repo --filename-callback 'return None if os.path.basename(filename) == b".DS_Store" else filename' + + Note that if BODY resolves to a filename, then the contents of that file + will be used as the BODY in the callback function. + + For more detailed examples and explanations AND caveats, see + https://htmlpreview.github.io/?https://github.com/newren/git-filter-repo/blob/docs/html/git-filter-repo.html#CALLBACKS + +EXAMPLES + + To get a bunch of reports mentioning renames that have occurred in + your repo and listing sizes of objects aggregated by any of path, + directory, extension, or blob-id: + git filter-repo --analyze + + (These reports can help you choose how to filter your repo; it can + be useful to re-run this command after filtering to regenerate the + report and verify the changes look correct.) + + To extract the history that touched just 'guides' and 'tools/releases': + git filter-repo --path guides/ --path tools/releases + + To remove foo.zip and bar/baz/zips from every revision in history: + git filter-repo --path foo.zip --path bar/baz/zips/ --invert-paths + + To replace the text 'password' with 'p455w0rd': + git filter-repo --replace-text <(echo "password==>p455w0rd") + + To use the current version of the .mailmap file to update authors, + committers, and taggers throughout history and make it permanent: + git filter-repo --use-mailmap + + To extract the history of 'src/', rename all files to have a new leading + directory 'my-module' (e.g. src/foo.java -> my-module/src/foo.java), and + add a 'my-module-' prefix to all tags: + git filter-repo --path src/ --to-subdirectory-filter my-module --tag-rename '':'my-module-' + + For more detailed examples and explanations, see + https://htmlpreview.github.io/?https://github.com/newren/git-filter-repo/blob/docs/html/git-filter-repo.html#EXAMPLES''') + + # Create the basic parser + parser = argparse.ArgumentParser(description=summary, + usage = argparse.SUPPRESS, + add_help = False, + epilog = example_text, + formatter_class=argparse.RawDescriptionHelpFormatter) + + analyze = parser.add_argument_group(title=_("Analysis")) + analyze.add_argument('--analyze', action='store_true', + help=_("Analyze repository history and create a report that may be " + "useful in determining what to filter in a subsequent run. " + "Will not modify your repo.")) + analyze.add_argument('--report-dir', + metavar='DIR_OR_FILE', + type=os.fsencode, + dest='report_dir', + help=_("Directory to write report, defaults to GIT_DIR/filter_repo/analysis," + "refuses to run if exists, --force delete existing dir first.")) + + path = parser.add_argument_group(title=_("Filtering based on paths " + "(see also --filename-callback)"), + description=textwrap.dedent(_(""" + These options specify the paths to select. Note that much like git + itself, renames are NOT followed so you may need to specify multiple + paths, e.g. `--path olddir/ --path newdir/` + """[1:]))) + + path.add_argument('--invert-paths', action='store_false', dest='inclusive', + help=_("Invert the selection of files from the specified " + "--path-{match,glob,regex} options below, i.e. only select " + "files matching none of those options.")) + + path.add_argument('--path-match', '--path', metavar='DIR_OR_FILE', + type=os.fsencode, + action=FilteringOptions.AppendFilter, dest='path_changes', + help=_("Exact paths (files or directories) to include in filtered " + "history. Multiple --path options can be specified to get " + "a union of paths.")) + path.add_argument('--path-glob', metavar='GLOB', type=os.fsencode, + action=FilteringOptions.AppendFilter, dest='path_changes', + help=_("Glob of paths to include in filtered history. Multiple " + "--path-glob options can be specified to get a union of " + "paths.")) + path.add_argument('--path-regex', metavar='REGEX', type=os.fsencode, + action=FilteringOptions.AppendFilter, dest='path_changes', + help=_("Regex of paths to include in filtered history. Multiple " + "--path-regex options can be specified to get a union of " + "paths")) + path.add_argument('--use-base-name', action='store_true', + help=_("Match on file base name instead of full path from the top " + "of the repo. Incompatible with --path-rename, and " + "incompatible with matching against directory names.")) + + rename = parser.add_argument_group(title=_("Renaming based on paths " + "(see also --filename-callback)")) + rename.add_argument('--path-rename', '--path-rename-match', + metavar='OLD_NAME:NEW_NAME', dest='path_changes', type=os.fsencode, + action=FilteringOptions.AppendFilter, + help=_("Path to rename; if filename or directory matches OLD_NAME " + "rename to NEW_NAME. Multiple --path-rename options can be " + "specified. NOTE: If you combine filtering options with " + "renaming ones, do not rely on a rename argument to select " + "paths; you also need a filter to select them.")) + + helpers = parser.add_argument_group(title=_("Path shortcuts")) + helpers.add_argument('--paths-from-file', metavar='FILENAME', + type=os.fsencode, + action=FilteringOptions.FileWithPathsFilter, dest='path_changes', + help=_("Specify several path filtering and renaming directives, one " + "per line. Lines with '==>' in them specify path renames, " + "and lines can begin with 'literal:' (the default), 'glob:', " + "or 'regex:' to specify different matching styles. Blank " + "lines and lines starting with a '#' are ignored.")) + helpers.add_argument('--subdirectory-filter', metavar='DIRECTORY', + action=FilteringOptions.HelperFilter, type=os.fsencode, + help=_("Only look at history that touches the given subdirectory " + "and treat that directory as the project root. Equivalent " + "to using '--path DIRECTORY/ --path-rename DIRECTORY/:'")) + helpers.add_argument('--to-subdirectory-filter', metavar='DIRECTORY', + action=FilteringOptions.HelperFilter, type=os.fsencode, + help=_("Treat the project root as instead being under DIRECTORY. " + "Equivalent to using '--path-rename :DIRECTORY/'")) + + contents = parser.add_argument_group(title=_("Content editing filters " + "(see also --blob-callback)")) + contents.add_argument('--replace-text', metavar='EXPRESSIONS_FILE', + help=_("A file with expressions that, if found, will be replaced. " + "By default, each expression is treated as literal text, " + "but 'regex:' and 'glob:' prefixes are supported. You can " + "end the line with '==>' and some replacement text to " + "choose a replacement choice other than the default of '{}'." + .format(decode(FilteringOptions.default_replace_text)))) + contents.add_argument('--strip-blobs-bigger-than', metavar='SIZE', + dest='max_blob_size', default=0, + help=_("Strip blobs (files) bigger than specified size (e.g. '5M', " + "'2G', etc)")) + contents.add_argument('--strip-blobs-with-ids', metavar='BLOB-ID-FILENAME', + help=_("Read git object ids from each line of the given file, and " + "strip all of them from history")) + + refrename = parser.add_argument_group(title=_("Renaming of refs " + "(see also --refname-callback)")) + refrename.add_argument('--tag-rename', metavar='OLD:NEW', type=os.fsencode, + help=_("Rename tags starting with OLD to start with NEW. For " + "example, --tag-rename foo:bar will rename tag foo-1.2.3 " + "to bar-1.2.3; either OLD or NEW can be empty.")) + + messages = parser.add_argument_group(title=_("Filtering of commit messages " + "(see also --message-callback)")) + messages.add_argument('--replace-message', metavar='EXPRESSIONS_FILE', + help=_("A file with expressions that, if found in commit messages, " + "will be replaced. This file uses the same syntax as " + "--replace-text.")) + messages.add_argument('--preserve-commit-hashes', action='store_true', + help=_("By default, since commits are rewritten and thus gain new " + "hashes, references to old commit hashes in commit messages " + "are replaced with new commit hashes (abbreviated to the same " + "length as the old reference). Use this flag to turn off " + "updating commit hashes in commit messages.")) + messages.add_argument('--preserve-commit-encoding', action='store_true', + help=_("Do not reencode commit messages into UTF-8. By default, if " + "the commit object specifies an encoding for the commit " + "message, the message is re-encoded into UTF-8.")) + + people = parser.add_argument_group(title=_("Filtering of names & emails " + "(see also --name-callback " + "and --email-callback)")) + people.add_argument('--mailmap', dest='mailmap', metavar='FILENAME', + type=os.fsencode, + help=_("Use specified mailmap file (see git-shortlog(1) for " + "details on the format) when rewriting author, committer, " + "and tagger names and emails. If the specified file is " + "part of git history, historical versions of the file will " + "be ignored; only the current contents are consulted.")) + people.add_argument('--use-mailmap', dest='mailmap', + action='store_const', const=b'.mailmap', + help=_("Same as: '--mailmap .mailmap' ")) + + parents = parser.add_argument_group(title=_("Parent rewriting")) + parents.add_argument('--replace-refs', default=None, + choices=['delete-no-add', 'delete-and-add', + 'update-no-add', 'update-or-add', + 'update-and-add'], + help=_("Replace refs (see git-replace(1)) are used to rewrite " + "parents (unless turned off by the usual git mechanism); this " + "flag specifies what do do with those refs afterward. " + "Replace refs can either be deleted or updated to point at new " + "commit hashes. Also, new replace refs can be added for each " + "commit rewrite. With 'update-or-add', new replace refs are " + "only added for commit rewrites that aren't used to update an " + "existing replace ref. default is 'update-and-add' if " + "$GIT_DIR/filter-repo/already_ran does not exist; " + "'update-or-add' otherwise.")) + parents.add_argument('--prune-empty', default='auto', + choices=['always', 'auto', 'never'], + help=_("Whether to prune empty commits. 'auto' (the default) means " + "only prune commits which become empty (not commits which were " + "empty in the original repo, unless their parent was pruned). " + "When the parent of a commit is pruned, the first non-pruned " + "ancestor becomes the new parent.")) + parents.add_argument('--prune-degenerate', default='auto', + choices=['always', 'auto', 'never'], + help=_("Since merge commits are needed for history topology, they " + "are typically exempt from pruning. However, they can become " + "degenerate with the pruning of other commits (having fewer " + "than two parents, having one commit serve as both parents, or " + "having one parent as the ancestor of the other.) If such " + "merge commits have no file changes, they can be pruned. The " + "default ('auto') is to only prune empty merge commits which " + "become degenerate (not which started as such).")) + parents.add_argument('--no-ff', action='store_true', + help=_("Even if the first parent is or becomes an ancestor of another " + "parent, do not prune it. This modifies how " + "--prune-degenerate behaves, and may be useful in projects who " + "always use merge --no-ff.")) + + callback = parser.add_argument_group(title=_("Generic callback code snippets")) + callback.add_argument('--filename-callback', metavar="FUNCTION_BODY_OR_FILE", + help=_("Python code body for processing filenames; see CALLBACKS " + "sections below.")) + callback.add_argument('--message-callback', metavar="FUNCTION_BODY_OR_FILE", + help=_("Python code body for processing messages (both commit " + "messages and tag messages); see CALLBACKS section below.")) + callback.add_argument('--name-callback', metavar="FUNCTION_BODY_OR_FILE", + help=_("Python code body for processing names of people; see " + "CALLBACKS section below.")) + callback.add_argument('--email-callback', metavar="FUNCTION_BODY_OR_FILE", + help=_("Python code body for processing emails addresses; see " + "CALLBACKS section below.")) + callback.add_argument('--refname-callback', metavar="FUNCTION_BODY_OR_FILE", + help=_("Python code body for processing refnames; see CALLBACKS " + "section below.")) + + callback.add_argument('--blob-callback', metavar="FUNCTION_BODY_OR_FILE", + help=_("Python code body for processing blob objects; see " + "CALLBACKS section below.")) + callback.add_argument('--commit-callback', metavar="FUNCTION_BODY_OR_FILE", + help=_("Python code body for processing commit objects; see " + "CALLBACKS section below.")) + callback.add_argument('--tag-callback', metavar="FUNCTION_BODY_OR_FILE", + help=_("Python code body for processing tag objects; see CALLBACKS " + "section below.")) + callback.add_argument('--reset-callback', metavar="FUNCTION_BODY_OR_FILE", + help=_("Python code body for processing reset objects; see " + "CALLBACKS section below.")) + + desc = _( + "Specifying alternate source or target locations implies --partial,\n" + "except that the normal default for --replace-refs is used. However,\n" + "unlike normal uses of --partial, this doesn't risk mixing old and new\n" + "history since the old and new histories are in different repositories.") + location = parser.add_argument_group(title=_("Location to filter from/to"), + description=desc) + location.add_argument('--source', type=os.fsencode, + help=_("Git repository to read from")) + location.add_argument('--target', type=os.fsencode, + help=_("Git repository to overwrite with filtered history")) + + misc = parser.add_argument_group(title=_("Miscellaneous options")) + misc.add_argument('--help', '-h', action='store_true', + help=_("Show this help message and exit.")) + misc.add_argument('--version', action='store_true', + help=_("Display filter-repo's version and exit.")) + misc.add_argument('--force', '-f', action='store_true', + help=_("Rewrite repository history even if the current repo does not " + "look like a fresh clone. History rewriting is irreversible " + "(and includes immediate pruning of reflogs and old objects), " + "so be cautious about using this flag.")) + misc.add_argument('--partial', action='store_true', + help=_("Do a partial history rewrite, resulting in the mixture of " + "old and new history. This implies a default of " + "update-no-add for --replace-refs, disables rewriting " + "refs/remotes/origin/* to refs/heads/*, disables removing " + "of the 'origin' remote, disables removing unexported refs, " + "disables expiring the reflog, and disables the automatic " + "post-filter gc. Also, this modifies --tag-rename and " + "--refname-callback options such that instead of replacing " + "old refs with new refnames, it will instead create new " + "refs and keep the old ones around. Use with caution.")) + # WARNING: --refs presents a problem with become-degenerate pruning: + # * Excluding a commit also excludes its ancestors so when some other + # commit has an excluded ancestor as a parent we have no way of + # knowing what it is an ancestor of without doing a special + # full-graph walk. + misc.add_argument('--refs', nargs='+', + help=_("Limit history rewriting to the specified refs. Implies " + "--partial. In addition to the normal caveats of --partial " + "(mixing old and new history, no automatic remapping of " + "refs/remotes/origin/* to refs/heads/*, etc.), this also may " + "cause problems for pruning of degenerate empty merge " + "commits when negative revisions are specified.")) + + misc.add_argument('--dry-run', action='store_true', + help=_("Do not change the repository. Run `git fast-export` and " + "filter its output, and save both the original and the " + "filtered version for comparison. This also disables " + "rewriting commit messages due to not knowing new commit " + "IDs and disables filtering of some empty commits due to " + "inability to query the fast-import backend." )) + misc.add_argument('--debug', action='store_true', + help=_("Print additional information about operations being " + "performed and commands being run. When used together " + "with --dry-run, also show extra information about what " + "would be run.")) + # WARNING: --state-branch has some problems: + # * It does not work well with manually inserted objects (user creating + # Blob() or Commit() or Tag() objects and calling + # RepoFilter.insert(obj) on them). + # * It does not work well with multiple source or multiple target repos + # * It doesn't work so well with pruning become-empty commits (though + # --refs doesn't work so well with it either) + # These are probably fixable, given some work (e.g. re-importing the + # graph at the beginning to get the AncestryGraph right, doing our own + # export of marks instead of using fast-export --export-marks, etc.), but + # for now just hide the option. + misc.add_argument('--state-branch', + #help=_("Enable incremental filtering by saving the mapping of old " + # "to new objects to the specified branch upon exit, and" + # "loading that mapping from that branch (if it exists) " + # "upon startup.")) + help=argparse.SUPPRESS) + misc.add_argument('--stdin', action='store_true', + help=_("Instead of running `git fast-export` and filtering its " + "output, filter the fast-export stream from stdin. The " + "stdin must be in the expected input format (e.g. it needs " + "to include original-oid directives).")) + misc.add_argument('--quiet', action='store_true', + help=_("Pass --quiet to other git commands called")) + return parser + + @staticmethod + def sanity_check_args(args): + if args.analyze and args.path_changes: + raise SystemExit(_("Error: --analyze is incompatible with --path* flags; " + "it's a read-only operation.")) + if args.analyze and args.stdin: + raise SystemExit(_("Error: --analyze is incompatible with --stdin.")) + # If no path_changes are found, initialize with empty list but mark as + # not inclusive so that all files match + if args.path_changes == None: + args.path_changes = [] + args.inclusive = False + else: + # Similarly, if we have no filtering paths, then no path should be + # filtered out. Based on how newname() works, the easiest way to + # achieve that is setting args.inclusive to False. + if not any(x[0] == 'filter' for x in args.path_changes): + args.inclusive = False + # Also check for incompatible --use-base-name and --path-rename flags. + if args.use_base_name: + if any(x[0] == 'rename' for x in args.path_changes): + raise SystemExit(_("Error: --use-base-name and --path-rename are " + "incompatible.")) + # Also throw some sanity checks on git version here; + # PERF: remove these checks once new enough git versions are common + p = subproc.Popen('git fast-export -h'.split(), + stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + output = p.stdout.read() + if b'--anonymize-map' not in output: # pragma: no cover + global date_format_permissive + date_format_permissive = False + if b'--mark-tags' not in output: # pragma: no cover + global write_marks + write_marks = False + if args.state_branch: + # We need a version of git-fast-export with --mark-tags + raise SystemExit(_("Error: need git >= 2.24.0")) + if b'--reencode' not in output: # pragma: no cover + if args.preserve_commit_encoding: + # We need a version of git-fast-export with --reencode + raise SystemExit(_("Error: need git >= 2.23.0")) + else: + # Set args.preserve_commit_encoding to None which we'll check for later + # to avoid passing --reencode=yes to fast-export (that option was the + # default prior to git-2.23) + args.preserve_commit_encoding = None + # If we don't have fast-exoprt --reencode, we may also be missing + # diff-tree --combined-all-paths, which is even more important... + p = subproc.Popen('git diff-tree -h'.split(), + stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + output = p.stdout.read() + if b'--combined-all-paths' not in output: + # We need a version of git-diff-tree with --combined-all-paths + raise SystemExit(_("Error: need git >= 2.22.0")) + # End of sanity checks on git version + if args.max_blob_size: + suffix = args.max_blob_size[-1] + if suffix not in '1234567890': + mult = {'K': 1024, 'M': 1024**2, 'G': 1024**3} + if suffix not in mult: + raise SystemExit(_("Error: could not parse --strip-blobs-bigger-than" + " argument %s") + % args.max_blob_size) + args.max_blob_size = int(args.max_blob_size[0:-1]) * mult[suffix] + else: + args.max_blob_size = int(args.max_blob_size) + + @staticmethod + def get_replace_text(filename): + replace_literals = [] + replace_regexes = [] + with open(filename, 'br') as f: + for line in f: + line = line.rstrip(b'\r\n') + + # Determine the replacement + replacement = FilteringOptions.default_replace_text + if b'==>' in line: + line, replacement = line.rsplit(b'==>', 1) + + # See if we need to match via regex + regex = None + if line.startswith(b'regex:'): + regex = line[6:] + elif line.startswith(b'glob:'): + regex = glob_to_regex(line[5:]) + if regex: + replace_regexes.append((re.compile(regex), replacement)) + else: + # Otherwise, find the literal we need to replace + if line.startswith(b'literal:'): + line = line[8:] + if not line: + continue + replace_literals.append((line, replacement)) + return {'literals': replace_literals, 'regexes': replace_regexes} + + @staticmethod + def get_paths_from_file(filename): + new_path_changes = [] + with open(filename, 'br') as f: + for line in f: + line = line.rstrip(b'\r\n') + + # Skip blank lines + if not line: + continue + # Skip comment lines + if line.startswith(b'#'): + continue + + # Determine the replacement + match_type, repl = 'literal', None + if b'==>' in line: + line, repl = line.rsplit(b'==>', 1) + + # See if we need to match via regex + match_type = 'match' # a.k.a. 'literal' + if line.startswith(b'regex:'): + match_type = 'regex' + match = re.compile(line[6:]) + elif line.startswith(b'glob:'): + match_type = 'glob' + match = line[5:] + if repl: + raise SystemExit(_("Error: In %s, 'glob:' and '==>' are incompatible (renaming globs makes no sense)" % decode(filename))) + else: + if line.startswith(b'literal:'): + match = line[8:] + else: + match = line + if repl is not None: + if match and repl and match.endswith(b'/') != repl.endswith(b'/'): + raise SystemExit(_("Error: When rename directories, if OLDNAME " + "and NEW_NAME are both non-empty and either " + "ends with a slash then both must.")) + + # Record the filter or rename + if repl is not None: + new_path_changes.append(['rename', match_type, (match, repl)]) + else: + new_path_changes.append(['filter', match_type, match]) + if match_type == 'glob' and not match.endswith(b'*'): + extension = b'*' if match.endswith(b'/') else b'/*' + new_path_changes.append(['filter', match_type, match+extension]) + return new_path_changes + + @staticmethod + def default_options(): + return FilteringOptions.parse_args([], error_on_empty = False) + + @staticmethod + def parse_args(input_args, error_on_empty = True): + parser = FilteringOptions.create_arg_parser() + if not input_args and error_on_empty: + parser.print_usage() + raise SystemExit(_("No arguments specified.")) + args = parser.parse_args(input_args) + if args.help: + parser.print_help() + raise SystemExit() + if args.version: + GitUtils.print_my_version() + raise SystemExit() + FilteringOptions.sanity_check_args(args) + if args.mailmap: + args.mailmap = MailmapInfo(args.mailmap) + if args.replace_text: + args.replace_text = FilteringOptions.get_replace_text(args.replace_text) + if args.replace_message: + args.replace_message = FilteringOptions.get_replace_text(args.replace_message) + if args.strip_blobs_with_ids: + with open(args.strip_blobs_with_ids, 'br') as f: + args.strip_blobs_with_ids = set(f.read().split()) + else: + args.strip_blobs_with_ids = set() + if (args.partial or args.refs) and not args.replace_refs: + args.replace_refs = 'update-no-add' + args.repack = not (args.partial or args.refs) + if args.refs or args.source or args.target: + args.partial = True + if not args.refs: + args.refs = ['--all'] + return args + +class RepoAnalyze(object): + + # First, several helper functions for analyze_commit() + + @staticmethod + def equiv_class(stats, filename): + return stats['equivalence'].get(filename, (filename,)) + + @staticmethod + def setup_equivalence_for_rename(stats, oldname, newname): + # if A is renamed to B and B is renamed to C, then the user thinks of + # A, B, and C as all being different names for the same 'file'. We record + # this as an equivalence class: + # stats['equivalence'][name] = (A,B,C) + # for name being each of A, B, and C. + old_tuple = stats['equivalence'].get(oldname, ()) + if newname in old_tuple: + return + elif old_tuple: + new_tuple = tuple(list(old_tuple)+[newname]) + else: + new_tuple = (oldname, newname) + for f in new_tuple: + stats['equivalence'][f] = new_tuple + + @staticmethod + def setup_or_update_rename_history(stats, commit, oldname, newname): + rename_commits = stats['rename_history'].get(oldname, set()) + rename_commits.add(commit) + stats['rename_history'][oldname] = rename_commits + + @staticmethod + def handle_renames(stats, commit, change_types, filenames): + for index, change_type in enumerate(change_types): + if change_type == ord(b'R'): + oldname, newname = filenames[index], filenames[-1] + RepoAnalyze.setup_equivalence_for_rename(stats, oldname, newname) + RepoAnalyze.setup_or_update_rename_history(stats, commit, + oldname, newname) + + @staticmethod + def handle_file(stats, graph, commit, modes, shas, filenames): + mode, sha, filename = modes[-1], shas[-1], filenames[-1] + + # Figure out kind of deletions to undo for this file, and update lists + # of all-names-by-sha and all-filenames + delmode = 'tree_deletions' + if mode != b'040000': + delmode = 'file_deletions' + stats['names'][sha].add(filename) + stats['allnames'].add(filename) + + # If the file (or equivalence class of files) was recorded as deleted, + # clearly it isn't anymore + equiv = RepoAnalyze.equiv_class(stats, filename) + for f in equiv: + stats[delmode].pop(f, None) + + # If we get a modify/add for a path that was renamed, we may need to break + # the equivalence class. However, if the modify/add was on a branch that + # doesn't have the rename in its history, we are still okay. + need_to_break_equivalence = False + if equiv[-1] != filename: + for rename_commit in stats['rename_history'][filename]: + if graph.is_ancestor(rename_commit, commit): + need_to_break_equivalence = True + + if need_to_break_equivalence: + for f in equiv: + if f in stats['equivalence']: + del stats['equivalence'][f] + + @staticmethod + def analyze_commit(stats, graph, commit, parents, date, file_changes): + graph.add_commit_and_parents(commit, parents) + for change in file_changes: + modes, shas, change_types, filenames = change + if len(parents) == 1 and change_types.startswith(b'R'): + change_types = b'R' # remove the rename score; we don't care + if modes[-1] == b'160000': + continue + elif modes[-1] == b'000000': + # Track when files/directories are deleted + for f in RepoAnalyze.equiv_class(stats, filenames[-1]): + if any(x == b'040000' for x in modes[0:-1]): + stats['tree_deletions'][f] = date + else: + stats['file_deletions'][f] = date + elif change_types.strip(b'AMT') == b'': + RepoAnalyze.handle_file(stats, graph, commit, modes, shas, filenames) + elif modes[-1] == b'040000' and change_types.strip(b'RAM') == b'': + RepoAnalyze.handle_file(stats, graph, commit, modes, shas, filenames) + elif change_types.strip(b'RAMT') == b'': + RepoAnalyze.handle_file(stats, graph, commit, modes, shas, filenames) + RepoAnalyze.handle_renames(stats, commit, change_types, filenames) + else: + raise SystemExit(_("Unhandled change type(s): %(change_type)s " + "(in commit %(commit)s)") + % ({'change_type': change_types, 'commit': commit}) + ) # pragma: no cover + + @staticmethod + def gather_data(args): + unpacked_size, packed_size = GitUtils.get_blob_sizes() + stats = {'names': collections.defaultdict(set), + 'allnames' : set(), + 'file_deletions': {}, + 'tree_deletions': {}, + 'equivalence': {}, + 'rename_history': collections.defaultdict(set), + 'unpacked_size': unpacked_size, + 'packed_size': packed_size, + 'num_commits': 0} + + # Setup the rev-list/diff-tree process + processed_commits_msg = _("Processed %d commits") + commit_parse_progress = ProgressWriter() + num_commits = 0 + cmd = ('git rev-list --topo-order --reverse {}'.format(' '.join(args.refs)) + + ' | git diff-tree --stdin --always --root --format=%H%n%P%n%cd' + + ' --date=short -M -t -c --raw --combined-all-paths') + dtp = subproc.Popen(cmd, shell=True, bufsize=-1, stdout=subprocess.PIPE) + f = dtp.stdout + line = f.readline() + if not line: + raise SystemExit(_("Nothing to analyze; repository is empty.")) + cont = bool(line) + graph = AncestryGraph() + while cont: + commit = line.rstrip() + parents = f.readline().split() + date = f.readline().rstrip() + + # We expect a blank line next; if we get a non-blank line then + # this commit modified no files and we need to move on to the next. + # If there is no line, we've reached end-of-input. + line = f.readline() + if not line: + cont = False + line = line.rstrip() + + # If we haven't reached end of input, and we got a blank line meaning + # a commit that has modified files, then get the file changes associated + # with this commit. + file_changes = [] + if cont and not line: + cont = False + for line in f: + if not line.startswith(b':'): + cont = True + break + n = 1+max(1, len(parents)) + assert line.startswith(b':'*(n-1)) + relevant = line[n-1:-1] + splits = relevant.split(None, n) + modes = splits[0:n] + splits = splits[n].split(None, n) + shas = splits[0:n] + splits = splits[n].split(b'\t') + change_types = splits[0] + filenames = [PathQuoting.dequote(x) for x in splits[1:]] + file_changes.append([modes, shas, change_types, filenames]) + + # If someone is trying to analyze a subset of the history, make sure + # to avoid dying on commits with parents that we haven't seen before + if args.refs: + graph.record_external_commits([p for p in parents + if not p in graph.value]) + + # Analyze this commit and update progress + RepoAnalyze.analyze_commit(stats, graph, commit, parents, date, + file_changes) + num_commits += 1 + commit_parse_progress.show(processed_commits_msg % num_commits) + + # Show the final commits processed message and record the number of commits + commit_parse_progress.finish() + stats['num_commits'] = num_commits + + # Close the output, ensure rev-list|diff-tree pipeline completed successfully + dtp.stdout.close() + if dtp.wait(): + raise SystemExit(_("Error: rev-list|diff-tree pipeline failed; see above.")) # pragma: no cover + + return stats + + @staticmethod + def write_report(reportdir, stats): + def datestr(datetimestr): + return datetimestr if datetimestr else _('').encode() + + def dirnames(path): + while True: + path = os.path.dirname(path) + yield path + if path == b'': + break + + # Compute aggregate size information for paths, extensions, and dirs + total_size = {'packed': 0, 'unpacked': 0} + path_size = {'packed': collections.defaultdict(int), + 'unpacked': collections.defaultdict(int)} + ext_size = {'packed': collections.defaultdict(int), + 'unpacked': collections.defaultdict(int)} + dir_size = {'packed': collections.defaultdict(int), + 'unpacked': collections.defaultdict(int)} + for sha in stats['names']: + size = {'packed': stats['packed_size'][sha], + 'unpacked': stats['unpacked_size'][sha]} + for which in ('packed', 'unpacked'): + for name in stats['names'][sha]: + total_size[which] += size[which] + path_size[which][name] += size[which] + basename, ext = os.path.splitext(name) + ext_size[which][ext] += size[which] + for dirname in dirnames(name): + dir_size[which][dirname] += size[which] + + # Determine if and when extensions and directories were deleted + ext_deleted_data = {} + for name in stats['allnames']: + when = stats['file_deletions'].get(name, None) + + # Update the extension + basename, ext = os.path.splitext(name) + if when is None: + ext_deleted_data[ext] = None + elif ext in ext_deleted_data: + if ext_deleted_data[ext] is not None: + ext_deleted_data[ext] = max(ext_deleted_data[ext], when) + else: + ext_deleted_data[ext] = when + + dir_deleted_data = {} + for name in dir_size['packed']: + dir_deleted_data[name] = stats['tree_deletions'].get(name, None) + + with open(os.path.join(reportdir, b"README"), 'bw') as f: + # Give a basic overview of this file + f.write(b"== %s ==\n" % _("Overall Statistics").encode()) + f.write((" %s: %d\n" % (_("Number of commits"), + stats['num_commits'])).encode()) + f.write((" %s: %d\n" % (_("Number of filenames"), + len(path_size['packed']))).encode()) + f.write((" %s: %d\n" % (_("Number of directories"), + len(dir_size['packed']))).encode()) + f.write((" %s: %d\n" % (_("Number of file extensions"), + len(ext_size['packed']))).encode()) + f.write(b"\n") + f.write((" %s: %d\n" % (_("Total unpacked size (bytes)"), + total_size['unpacked'])).encode()) + f.write((" %s: %d\n" % (_("Total packed size (bytes)"), + total_size['packed'])).encode()) + f.write(b"\n") + + # Mention issues with the report + f.write(("== %s ==\n" % _("Caveats")).encode()) + f.write(("=== %s ===\n" % _("Sizes")).encode()) + f.write(textwrap.dedent(_(""" + Packed size represents what size your repository would be if no + trees, commits, tags, or other metadata were included (though it may + fail to represent de-duplication; see below). It also represents the + current packing, which may be suboptimal if you haven't gc'ed for a + while. + + Unpacked size represents what size your repository would be if no + trees, commits, tags, or other metadata were included AND if no + files were packed; i.e., without delta-ing or compression. + + Both unpacked and packed sizes can be slightly misleading. Deleting + a blob from history not save as much space as the unpacked size, + because it is obviously normally stored in packed form. Also, + deleting a blob from history may not save as much space as its packed + size either, because another blob could be stored as a delta against + that blob, so when you remove one blob another blob's packed size may + grow. + + Also, the sum of the packed sizes can add up to more than the + repository size; if the same contents appeared in the repository in + multiple places, git will automatically de-dupe and store only one + copy, while the way sizes are added in this analysis adds the size + for each file path that has those contents. Further, if a file is + ever reverted to a previous version's contents, the previous + version's size will be counted multiple times in this analysis, even + though git will only store it once. + """)[1:]).encode()) + f.write(b"\n") + f.write(("=== %s ===\n" % _("Deletions")).encode()) + f.write(textwrap.dedent(_(""" + Whether a file is deleted is not a binary quality, since it can be + deleted on some branches but still exist in others. Also, it might + exist in an old tag, but have been deleted in versions newer than + that. More thorough tracking could be done, including looking at + merge commits where one side of history deleted and the other modified, + in order to give a more holistic picture of deletions. However, that + algorithm would not only be more complex to implement, it'd also be + quite difficult to present and interpret by users. Since --analyze + is just about getting a high-level rough picture of history, it instead + implements the simplistic rule that is good enough for 98% of cases: + A file is marked as deleted if the last commit in the fast-export + stream that mentions the file lists it as deleted. + This makes it dependent on topological ordering, but generally gives + the "right" answer. + """)[1:]).encode()) + f.write(b"\n") + f.write(("=== %s ===\n" % _("Renames")).encode()) + f.write(textwrap.dedent(_(""" + Renames share the same non-binary nature that deletions do, plus + additional challenges: + * If the renamed file is renamed again, instead of just two names for + a path you can have three or more. + * Rename pairs of the form (oldname, newname) that we consider to be + different names of the "same file" might only be valid over certain + commit ranges. For example, if a new commit reintroduces a file + named oldname, then new versions of oldname aren't the "same file" + anymore. We could try to portray this to the user, but it's easier + for the user to just break the pairing and only report unbroken + rename pairings to the user. + * The ability for users to rename files differently in different + branches means that our chains of renames will not necessarily be + linear but may branch out. + """)[1:]).encode()) + f.write(b"\n") + + # Equivalence classes for names, so if folks only want to keep a + # certain set of paths, they know the old names they want to include + # too. + with open(os.path.join(reportdir, b"renames.txt"), 'bw') as f: + seen = set() + for pathname,equiv_group in sorted(stats['equivalence'].items(), + key=lambda x:(x[1], x[0])): + if equiv_group in seen: + continue + seen.add(equiv_group) + f.write(("{} ->\n ".format(decode(equiv_group[0])) + + "\n ".join(decode(x) for x in equiv_group[1:]) + + "\n").encode()) + + # List directories in reverse sorted order of unpacked size + with open(os.path.join(reportdir, b"directories-deleted-sizes.txt"), 'bw') as f: + msg = "=== %s ===\n" % _("Deleted directories by reverse size") + f.write(msg.encode()) + msg = _("Format: unpacked size, packed size, date deleted, directory name\n") + f.write(msg.encode()) + for dirname, size in sorted(dir_size['packed'].items(), + key=lambda x:(x[1],x[0]), reverse=True): + if (dir_deleted_data[dirname]): + f.write(b" %10d %10d %-10s %s\n" % (dir_size['unpacked'][dirname], + size, + datestr(dir_deleted_data[dirname]), + dirname or _('').encode())) + + with open(os.path.join(reportdir, b"directories-all-sizes.txt"), 'bw') as f: + f.write(("=== %s ===\n" % _("All directories by reverse size")).encode()) + msg = _("Format: unpacked size, packed size, date deleted, directory name\n") + f.write(msg.encode()) + for dirname, size in sorted(dir_size['packed'].items(), + key=lambda x:(x[1],x[0]), reverse=True): + f.write(b" %10d %10d %-10s %s\n" % (dir_size['unpacked'][dirname], + size, + datestr(dir_deleted_data[dirname]), + dirname or _("").encode())) + + # List extensions in reverse sorted order of unpacked size + with open(os.path.join(reportdir, b"extensions-deleted-sizes.txt"), 'bw') as f: + msg = "=== %s ===\n" % _("Deleted extensions by reverse size") + f.write(msg.encode()) + msg = _("Format: unpacked size, packed size, date deleted, extension name\n") + f.write(msg.encode()) + for extname, size in sorted(ext_size['packed'].items(), + key=lambda x:(x[1],x[0]), reverse=True): + if (ext_deleted_data[extname]): + f.write(b" %10d %10d %-10s %s\n" % (ext_size['unpacked'][extname], + size, + datestr(ext_deleted_data[extname]), + extname or _('').encode())) + + with open(os.path.join(reportdir, b"extensions-all-sizes.txt"), 'bw') as f: + f.write(("=== %s ===\n" % _("All extensions by reverse size")).encode()) + msg = _("Format: unpacked size, packed size, date deleted, extension name\n") + f.write(msg.encode()) + for extname, size in sorted(ext_size['packed'].items(), + key=lambda x:(x[1],x[0]), reverse=True): + f.write(b" %10d %10d %-10s %s\n" % (ext_size['unpacked'][extname], + size, + datestr(ext_deleted_data[extname]), + extname or _('').encode())) + + # List files in reverse sorted order of unpacked size + with open(os.path.join(reportdir, b"path-deleted-sizes.txt"), 'bw') as f: + msg = "=== %s ===\n" % _("Deleted paths by reverse accumulated size") + f.write(msg.encode()) + msg = _("Format: unpacked size, packed size, date deleted, path name(s)\n") + f.write(msg.encode()) + for pathname, size in sorted(path_size['packed'].items(), + key=lambda x:(x[1],x[0]), reverse=True): + when = stats['file_deletions'].get(pathname, None) + if when: + f.write(b" %10d %10d %-10s %s\n" % (path_size['unpacked'][pathname], + size, + datestr(when), + pathname)) + + with open(os.path.join(reportdir, b"path-all-sizes.txt"), 'bw') as f: + msg = "=== %s ===\n" % _("All paths by reverse accumulated size") + f.write(msg.encode()) + msg = _("Format: unpacked size, packed size, date deleted, path name\n") + f.write(msg.encode()) + for pathname, size in sorted(path_size['packed'].items(), + key=lambda x:(x[1],x[0]), reverse=True): + when = stats['file_deletions'].get(pathname, None) + f.write(b" %10d %10d %-10s %s\n" % (path_size['unpacked'][pathname], + size, + datestr(when), + pathname)) + + # List of filenames and sizes in descending order + with open(os.path.join(reportdir, b"blob-shas-and-paths.txt"), 'bw') as f: + f.write(("=== %s ===\n" % _("Files by sha and associated pathnames in reverse size")).encode()) + f.write(_("Format: sha, unpacked size, packed size, filename(s) object stored as\n").encode()) + for sha, size in sorted(stats['packed_size'].items(), + key=lambda x:(x[1],x[0]), reverse=True): + if sha not in stats['names']: + # Some objects in the repository might not be referenced, or not + # referenced by the branches/tags the user cares about; skip them. + continue + names_with_sha = stats['names'][sha] + if len(names_with_sha) == 1: + names_with_sha = names_with_sha.pop() + else: + names_with_sha = b'[' + b', '.join(sorted(names_with_sha)) + b']' + f.write(b" %s %10d %10d %s\n" % (sha, + stats['unpacked_size'][sha], + size, + names_with_sha)) + + @staticmethod + def run(args): + if args.report_dir: + reportdir = args.report_dir + else: + git_dir = GitUtils.determine_git_dir(b'.') + + # Create the report directory as necessary + results_tmp_dir = os.path.join(git_dir, b'filter-repo') + if not os.path.isdir(results_tmp_dir): + os.mkdir(results_tmp_dir) + reportdir = os.path.join(results_tmp_dir, b"analysis") + + if os.path.isdir(reportdir): + if args.force: + sys.stdout.write(_("Warning: Removing recursively: \"%s\"") % decode(reportdir)) + shutil.rmtree(reportdir) + else: + sys.stdout.write(_("Error: dir already exists (use --force to delete): \"%s\"\n") % decode(reportdir)) + sys.exit(1) + + os.mkdir(reportdir) + + # Gather the data we need + stats = RepoAnalyze.gather_data(args) + + # Write the reports + sys.stdout.write(_("Writing reports to %s...") % decode(reportdir)) + sys.stdout.flush() + RepoAnalyze.write_report(reportdir, stats) + sys.stdout.write(_("done.\n")) + +class InputFileBackup: + def __init__(self, input_file, output_file): + self.input_file = input_file + self.output_file = output_file + + def close(self): + self.input_file.close() + self.output_file.close() + + def read(self, size): + output = self.input_file.read(size) + self.output_file.write(output) + return output + + def readline(self): + line = self.input_file.readline() + self.output_file.write(line) + return line + +class DualFileWriter: + def __init__(self, file1, file2): + self.file1 = file1 + self.file2 = file2 + + def write(self, *args): + self.file1.write(*args) + self.file2.write(*args) + + def flush(self): + self.file1.flush() + self.file2.flush() + + def close(self): + self.file1.close() + self.file2.close() + +class RepoFilter(object): + def __init__(self, + args, + filename_callback = None, + message_callback = None, + name_callback = None, + email_callback = None, + refname_callback = None, + blob_callback = None, + commit_callback = None, + tag_callback = None, + reset_callback = None, + done_callback = None): + + self._args = args + + # Repo we are exporting + self._repo_working_dir = None + + # Store callbacks for acting on objects printed by FastExport + self._blob_callback = blob_callback + self._commit_callback = commit_callback + self._tag_callback = tag_callback + self._reset_callback = reset_callback + self._done_callback = done_callback + + # Store callbacks for acting on slices of FastExport objects + self._filename_callback = filename_callback # filenames from commits + self._message_callback = message_callback # commit OR tag message + self._name_callback = name_callback # author, committer, tagger + self._email_callback = email_callback # author, committer, tagger + self._refname_callback = refname_callback # from commit/tag/reset + self._handle_arg_callbacks() + + # Defaults for input + self._input = None + self._fep = None # Fast Export Process + self._fe_orig = None # Path to where original fast-export output stored + self._fe_filt = None # Path to where filtered fast-export output stored + self._parser = None # FastExportParser object we are working with + + # Defaults for output + self._output = None + self._fip = None # Fast Import Process + self._import_pipes = None + self._managed_output = True + + # A tuple of (depth, list-of-ancestors). Commits and ancestors are + # identified by their id (their 'mark' in fast-export or fast-import + # speak). The depth of a commit is one more than the max depth of any + # of its ancestors. + self._graph = AncestryGraph() + # Another one, for ancestry of commits in the original repo + self._orig_graph = AncestryGraph() + + # Names of files that were tweaked in any commit; such paths could lead + # to subsequent commits being empty + self._files_tweaked = set() + + # A set of commit hash pairs (oldhash, newhash) which used to be merge + # commits but due to filtering were turned into non-merge commits. + # The commits probably have suboptimal commit messages (e.g. "Merge branch + # next into master"). + self._commits_no_longer_merges = [] + + # A dict of original_ids to new_ids; filtering commits means getting + # new commit hash (sha1sums), and we record the mapping both for + # diagnostic purposes and so we can rewrite commit messages. Note that + # the new_id can be None rather than a commit hash if the original + # commit became empty and was pruned or was otherwise dropped. + self._commit_renames = {} + + # A set of original_ids for which we have not yet gotten the + # new_ids; we use OrderedDict because we need to know the order of + # insertion, but the values are always ignored (and set to None). + # If there was an OrderedSet class, I'd use it instead. + self._pending_renames = collections.OrderedDict() + + # A dict of commit_hash[0:7] -> set(commit_hashes with that prefix). + # + # It's common for commit messages to refer to commits by abbreviated + # commit hashes, as short as 7 characters. To facilitate translating + # such short hashes, we have a mapping of prefixes to full old hashes. + self._commit_short_old_hashes = collections.defaultdict(set) + + # A set of commit hash references appearing in commit messages which + # mapped to a valid commit that was removed entirely in the filtering + # process. The commit message will continue to reference the + # now-missing commit hash, since there was nothing to map it to. + self._commits_referenced_but_removed = set() + + # Progress handling (number of commits parsed, etc.) + self._progress_writer = ProgressWriter() + self._num_commits = 0 + + # Size of blobs in the repo + self._unpacked_size = {} + + # Other vars + self._sanity_checks_handled = False + self._finalize_handled = False + self._orig_refs = None + self._newnames = {} + + # Cache a few message translations for performance reasons + self._parsed_message = _("Parsed %d commits") + + # Compile some regexes and cache those + self._hash_re = re.compile(br'(\b[0-9a-f]{7,40}\b)') + + def _handle_arg_callbacks(self): + def make_callback(argname, str): + exec('def callback({}, _do_not_use_this_var = None):\n'.format(argname)+ + ' '+'\n '.join(str.splitlines()), globals()) + return callback #namespace['callback'] + def handle(type): + callback_field = '_{}_callback'.format(type) + code_string = getattr(self._args, type+'_callback') + if code_string: + if os.path.exists(code_string): + with open(code_string, 'r', encoding='utf-8') as f: + code_string = f.read() + if getattr(self, callback_field): + raise SystemExit(_("Error: Cannot pass a %s_callback to RepoFilter " + "AND pass --%s-callback" + % (type, type))) + if 'return ' not in code_string and \ + type not in ('blob', 'commit', 'tag', 'reset'): + raise SystemExit(_("Error: --%s-callback should have a return statement") + % type) + setattr(self, callback_field, make_callback(type, code_string)) + handle('filename') + handle('message') + handle('name') + handle('email') + handle('refname') + handle('blob') + handle('commit') + handle('tag') + handle('reset') + + def _run_sanity_checks(self): + self._sanity_checks_handled = True + if not self._managed_output: + if not self._args.replace_refs: + # If not _managed_output we don't want to make extra changes to the + # repo, so set default to no-op 'update-no-add' + self._args.replace_refs = 'update-no-add' + return + + if self._args.debug: + print("[DEBUG] Passed arguments:\n{}".format(self._args)) + + # Determine basic repository information + target_working_dir = self._args.target or b'.' + self._orig_refs = GitUtils.get_refs(target_working_dir) + is_bare = GitUtils.is_repository_bare(target_working_dir) + + # Determine if this is second or later run of filter-repo + tmp_dir = self.results_tmp_dir(create_if_missing=False) + already_ran = os.path.isfile(os.path.join(tmp_dir, b'already_ran')) + + # Default for --replace-refs + if not self._args.replace_refs: + self._args.replace_refs = ('update-or-add' if already_ran + else 'update-and-add') + + # Do sanity checks from the correct directory + if not self._args.force and not already_ran: + cwd = os.getcwd() + os.chdir(target_working_dir) + RepoFilter.sanity_check(self._orig_refs, is_bare) + os.chdir(cwd) + + @staticmethod + def sanity_check(refs, is_bare): + def abort(reason): + try: + cmd = 'git config remote.origin.url' + output = subproc.check_output(cmd.split()).strip() + except subprocess.CalledProcessError as e: + output = None + msg = "" + if output and os.path.isdir(output): + msg = _("Note: when cloning local repositories, you need to pass\n" + " --no-local to git clone to avoid this issue.\n") + raise SystemExit( + _("Aborting: Refusing to destructively overwrite repo history since\n" + "this does not look like a fresh clone.\n" + " (%s)\n%s" + "Please operate on a fresh clone instead. If you want to proceed\n" + "anyway, use --force.") % (reason, msg)) + + # Make sure repo is fully packed, just like a fresh clone would be. + # Note that transfer.unpackLimit defaults to 100, meaning that a + # repository with no packs and less than 100 objects should be considered + # fully packed. + output = subproc.check_output('git count-objects -v'.split()) + stats = dict(x.split(b': ') for x in output.splitlines()) + num_packs = int(stats[b'packs']) + num_loose_objects = int(stats[b'count']) + if num_packs > 1 or \ + (num_packs == 1 and num_loose_objects > 0) or \ + num_loose_objects >= 100: + abort(_("expected freshly packed repo")) + + # Make sure there is precisely one remote, named "origin"...or that this + # is a new bare repo with no packs and no remotes + output = subproc.check_output('git remote'.split()).strip() + if not (output == b"origin" or (num_packs == 0 and not output)): + abort(_("expected one remote, origin")) + + # Avoid letting people running with weird setups and overwriting GIT_DIR + # elsewhere + git_dir = GitUtils.determine_git_dir(b'.') + if is_bare and git_dir != b'.': + abort(_("GIT_DIR must be .")) + elif not is_bare and git_dir != b'.git': + abort(_("GIT_DIR must be .git")) + + # Make sure that all reflogs have precisely one entry + reflog_dir=os.path.join(git_dir, b'logs') + for root, dirs, files in os.walk(reflog_dir): + for filename in files: + pathname = os.path.join(root, filename) + with open(pathname, 'br') as f: + if len(f.read().splitlines()) > 1: + shortpath = pathname[len(reflog_dir)+1:] + abort(_("expected at most one entry in the reflog for %s") % + decode(shortpath)) + + # Make sure there are no stashed changes + if b'refs/stash' in refs: + abort(_("has stashed changes")) + + # Do extra checks in non-bare repos + if not is_bare: + # Avoid uncommitted, unstaged, or untracked changes + if subproc.call('git diff --staged --quiet'.split()): + abort(_("you have uncommitted changes")) + if subproc.call('git diff --quiet'.split()): + abort(_("you have unstaged changes")) + if len(subproc.check_output('git ls-files -o'.split())) > 0: + abort(_("you have untracked changes")) + + # Avoid unpushed changes + for refname, rev in refs.items(): + if not refname.startswith(b'refs/heads/'): + continue + origin_ref = refname.replace(b'refs/heads/', b'refs/remotes/origin/') + if origin_ref not in refs: + abort(_('%s exists, but %s not found') % (decode(refname), + decode(origin_ref))) + if rev != refs[origin_ref]: + abort(_('%s does not match %s') % (decode(refname), + decode(origin_ref))) + + # Make sure there is only one worktree + output = subproc.check_output('git worktree list'.split()) + if len(output.splitlines()) > 1: + abort(_('you have multiple worktrees')) + + @staticmethod + def cleanup(repo, repack, reset, run_quietly=False, show_debuginfo=False): + ''' cleanup repo; if repack then expire reflogs and do a gc --prune=now. + if reset then do a reset --hard. Optionally also curb output if + run_quietly is True, or go the opposite direction and show extra + output if show_debuginfo is True. ''' + assert not (run_quietly and show_debuginfo) + + if (repack and not run_quietly and not show_debuginfo): + print(_("Repacking your repo and cleaning out old unneeded objects")) + quiet_flags = '--quiet' if run_quietly else '' + cleanup_cmds = [] + if repack: + cleanup_cmds = ['git reflog expire --expire=now --all'.split(), + 'git gc {} --prune=now'.format(quiet_flags).split()] + if reset: + cleanup_cmds.insert(0, 'git reset {} --hard'.format(quiet_flags).split()) + location_info = ' (in {})'.format(decode(repo)) if repo != b'.' else '' + for cmd in cleanup_cmds: + if show_debuginfo: + print("[DEBUG] Running{}: {}".format(location_info, ' '.join(cmd))) + subproc.call(cmd, cwd=repo) + + def _get_rename(self, old_hash): + # If we already know the rename, just return it + new_hash = self._commit_renames.get(old_hash, None) + if new_hash: + return new_hash + + # If it's not in the remaining pending renames, we don't know it + if old_hash is not None and old_hash not in self._pending_renames: + return None + + # Read through the pending renames until we find it or we've read them all, + # and return whatever we might find + self._flush_renames(old_hash) + return self._commit_renames.get(old_hash, None) + + def _flush_renames(self, old_hash=None, limit=0): + # Parse through self._pending_renames until we have read enough. We have + # read enough if: + # self._pending_renames is empty + # old_hash != None and we found a rename for old_hash + # limit > 0 and len(self._pending_renames) started less than 2*limit + # limit > 0 and len(self._pending_renames) < limit + if limit and len(self._pending_renames) < 2 * limit: + return + fi_input, fi_output = self._import_pipes + while self._pending_renames: + orig_id, ignore = self._pending_renames.popitem(last=False) + new_id = fi_output.readline().rstrip() + self._commit_renames[orig_id] = new_id + if old_hash == orig_id: + return + if limit and len(self._pending_renames) < limit: + return + + def _translate_commit_hash(self, matchobj_or_oldhash): + old_hash = matchobj_or_oldhash + if not isinstance(matchobj_or_oldhash, bytes): + old_hash = matchobj_or_oldhash.group(1) + orig_len = len(old_hash) + new_hash = self._get_rename(old_hash) + if new_hash is None: + if old_hash[0:7] not in self._commit_short_old_hashes: + self._commits_referenced_but_removed.add(old_hash) + return old_hash + possibilities = self._commit_short_old_hashes[old_hash[0:7]] + matches = [x for x in possibilities + if x[0:orig_len] == old_hash] + if len(matches) != 1: + self._commits_referenced_but_removed.add(old_hash) + return old_hash + old_hash = matches[0] + new_hash = self._get_rename(old_hash) + + assert new_hash is not None + return new_hash[0:orig_len] + + def _trim_extra_parents(self, orig_parents, parents): + '''Due to pruning of empty commits, some parents could be non-existent + (None) or otherwise redundant. Remove the non-existent parents, and + remove redundant parents so long as that doesn't transform a merge + commit into a non-merge commit. + + Returns a tuple: + (parents, new_first_parent_if_would_become_non_merge)''' + + always_prune = (self._args.prune_degenerate == 'always') + + # Pruning of empty commits means multiple things: + # * An original parent of this commit may have been pruned causing the + # need to rewrite the reported parent to the nearest ancestor. We + # want to know when we're dealing with such a parent. + # * Further, there may be no "nearest ancestor" if the entire history + # of that parent was also pruned. (Detectable by the parent being + # 'None') + # Remove all parents rewritten to None, and keep track of which parents + # were rewritten to an ancestor. + tmp = zip(parents, + orig_parents, + [(x in _SKIPPED_COMMITS or always_prune) for x in orig_parents]) + tmp2 = [x for x in tmp if x[0] is not None] + if not tmp2: + # All ancestors have been pruned; we have no parents. + return [], None + parents, orig_parents, is_rewritten = [list(x) for x in zip(*tmp2)] + + # We can't have redundant parents if we don't have at least 2 parents + if len(parents) < 2: + return parents, None + + # Don't remove redundant parents if user doesn't want us to + if self._args.prune_degenerate == 'never': + return parents, None + + # Remove duplicate parents (if both sides of history have lots of commits + # which become empty due to pruning, the most recent ancestor on both + # sides may be the same commit), except only remove parents that have + # been rewritten due to previous empty pruning. + seen = set() + seen_add = seen.add + # Deleting duplicate rewritten parents means keeping parents if either + # they have not been seen or they are ones that have not been rewritten. + parents_copy = parents + uniq = [[p, orig_parents[i], is_rewritten[i]] for i, p in enumerate(parents) + if not (p in seen or seen_add(p)) or not is_rewritten[i]] + parents, orig_parents, is_rewritten = [list(x) for x in zip(*uniq)] + if len(parents) < 2: + return parents_copy, parents[0] + + # Flatten unnecessary merges. (If one side of history is entirely + # empty commits that were pruned, we may end up attempting to + # merge a commit with its ancestor. Remove parents that are an + # ancestor of another parent.) + num_parents = len(parents) + to_remove = [] + for cur in range(num_parents): + if not is_rewritten[cur]: + continue + for other in range(num_parents): + if cur == other: + continue + if not self._graph.is_ancestor(parents[cur], parents[other]): + continue + # parents[cur] is an ancestor of parents[other], so parents[cur] + # seems redundant. However, if it was intentionally redundant + # (e.g. a no-ff merge) in the original, then we want to keep it. + if not always_prune and \ + self._orig_graph.is_ancestor(orig_parents[cur], + orig_parents[other]): + continue + # Some folks want their history to have all first parents be merge + # commits (except for any root commits), and always do a merge --no-ff. + # For such folks, don't remove the first parent even if it's an + # ancestor of other commits. + if self._args.no_ff and cur == 0: + continue + # Okay so the cur-th parent is an ancestor of the other-th parent, + # and it wasn't that way in the original repository; mark the + # cur-th parent as removable. + to_remove.append(cur) + break # cur removed, so skip rest of others -- i.e. check cur+=1 + for x in reversed(to_remove): + parents.pop(x) + if len(parents) < 2: + return parents_copy, parents[0] + + return parents, None + + def _prunable(self, commit, new_1st_parent, had_file_changes, orig_parents): + parents = commit.parents + + if self._args.prune_empty == 'never': + return False + always_prune = (self._args.prune_empty == 'always') + + # For merge commits, unless there are prunable (redundant) parents, we + # do not want to prune + if len(parents) >= 2 and not new_1st_parent: + return False + + if len(parents) < 2: + # Special logic for commits that started empty... + if not had_file_changes and not always_prune: + had_parents_pruned = (len(parents) < len(orig_parents) or + (len(orig_parents) == 1 and + orig_parents[0] in _SKIPPED_COMMITS)) + # If the commit remains empty and had parents which were pruned, + # then prune this commit; otherwise, retain it + return (not commit.file_changes and had_parents_pruned) + + # We can only get here if the commit didn't start empty, so if it's + # empty now, it obviously became empty + if not commit.file_changes: + return True + + # If there are no parents of this commit and we didn't match the case + # above, then this commit cannot be pruned. Since we have no parent(s) + # to compare to, abort now to prevent future checks from failing. + if not parents: + return False + + # Similarly, we cannot handle the hard cases if we don't have a pipe + # to communicate with fast-import + if not self._import_pipes: + return False + + # If there have not been renames/remappings of IDs (due to insertion of + # new blobs), then we can sometimes know things aren't prunable with a + # simple check + if not _IDS.has_renames(): + # non-merge commits can only be empty if blob/file-change editing caused + # all file changes in the commit to have the same file contents as + # the parent. + changed_files = set(change.filename for change in commit.file_changes) + if len(orig_parents) < 2 and changed_files - self._files_tweaked: + return False + + # Finally, the hard case: due to either blob rewriting, or due to pruning + # of empty commits wiping out the first parent history back to the merge + # base, the list of file_changes we have may not actually differ from our + # (new) first parent's version of the files, i.e. this would actually be + # an empty commit. Check by comparing the contents of this commit to its + # (remaining) parent. + # + # NOTE on why this works, for the case of original first parent history + # having been pruned away due to being empty: + # The first parent history having been pruned away due to being + # empty implies the original first parent would have a tree (after + # filtering) that matched the merge base's tree. Since + # file_changes has the changes needed to go from what would have + # been the first parent to our new commit, and what would have been + # our first parent has a tree that matches the merge base, then if + # the new first parent has a tree matching the versions of files in + # file_changes, then this new commit is empty and thus prunable. + fi_input, fi_output = self._import_pipes + self._flush_renames() # Avoid fi_output having other stuff present + # Optimization note: we could have two loops over file_changes, the + # first doing all the self._output.write() calls, and the second doing + # the rest. But I'm worried about fast-import blocking on fi_output + # buffers filling up so I instead read from it as I go. + for change in commit.file_changes: + parent = new_1st_parent or commit.parents[0] # exists due to above checks + quoted_filename = PathQuoting.enquote(change.filename) + if isinstance(parent, int): + self._output.write(b"ls :%d %s\n" % (parent, quoted_filename)) + else: + self._output.write(b"ls %s %s\n" % (parent, quoted_filename)) + self._output.flush() + parent_version = fi_output.readline().split() + if change.type == b'D': + if parent_version != [b'missing', quoted_filename]: + return False + else: + blob_sha = change.blob_id + if isinstance(change.blob_id, int): + self._output.write(b"get-mark :%d\n" % change.blob_id) + self._output.flush() + blob_sha = fi_output.readline().rstrip() + if parent_version != [change.mode, b'blob', blob_sha, quoted_filename]: + return False + + return True + + def _record_remapping(self, commit, orig_parents): + new_id = None + # Record the mapping of old commit hash to new one + if commit.original_id and self._import_pipes: + fi_input, fi_output = self._import_pipes + self._output.write(b"get-mark :%d\n" % commit.id) + self._output.flush() + orig_id = commit.original_id + self._commit_short_old_hashes[orig_id[0:7]].add(orig_id) + # Note that we have queued up an id for later reading; flush a + # few of the older ones if we have too many queued up + self._pending_renames[orig_id] = None + self._flush_renames(None, limit=40) + # Also, record if this was a merge commit that turned into a non-merge + # commit. + if len(orig_parents) >= 2 and len(commit.parents) < 2: + self._commits_no_longer_merges.append((commit.original_id, new_id)) + + def callback_metadata(self, extra_items = dict()): + return {'commit_rename_func': self._translate_commit_hash, + 'ancestry_graph': self._graph, + 'original_ancestry_graph': self._orig_graph, + **extra_items} + + def _tweak_blob(self, blob): + if self._args.max_blob_size and len(blob.data) > self._args.max_blob_size: + blob.skip() + + if blob.original_id in self._args.strip_blobs_with_ids: + blob.skip() + + if ( self._args.replace_text + # not (if blob contains zero byte in the first 8Kb, that is, if blob is binary data) + and not b"\0" in blob.data[0:8192] + ): + for literal, replacement in self._args.replace_text['literals']: + blob.data = blob.data.replace(literal, replacement) + for regex, replacement in self._args.replace_text['regexes']: + blob.data = regex.sub(replacement, blob.data) + + if self._blob_callback: + self._blob_callback(blob, self.callback_metadata()) + + def _filter_files(self, commit): + def filename_matches(path_expression, pathname): + ''' Returns whether path_expression matches pathname or a leading + directory thereof, allowing path_expression to not have a trailing + slash even if it is meant to match a leading directory. ''' + if path_expression == b'': + return True + n = len(path_expression) + if (pathname.startswith(path_expression) and + (path_expression[n-1:n] == b'/' or + len(pathname) == n or + pathname[n:n+1] == b'/')): + return True + return False + + def newname(path_changes, pathname, use_base_name, filtering_is_inclusive): + ''' Applies filtering and rename changes from path_changes to pathname, + returning any of None (file isn't wanted), original filename (file + is wanted with original name), or new filename. ''' + wanted = False + full_pathname = pathname + if use_base_name: + pathname = os.path.basename(pathname) + for (mod_type, match_type, path_exp) in path_changes: + if mod_type == 'filter' and not wanted: + assert match_type in ('match', 'glob', 'regex') + if match_type == 'match' and filename_matches(path_exp, pathname): + wanted = True + if match_type == 'glob' and fnmatch.fnmatch(pathname, path_exp): + wanted = True + if match_type == 'regex' and path_exp.search(pathname): + wanted = True + elif mod_type == 'rename': + match, repl = path_exp + assert match_type in ('match','regex') # glob was translated to regex + if match_type == 'match' and filename_matches(match, full_pathname): + full_pathname = full_pathname.replace(match, repl, 1) + if match_type == 'regex': + full_pathname = match.sub(repl, full_pathname) + return full_pathname if (wanted == filtering_is_inclusive) else None + + args = self._args + new_file_changes = {} # Assumes no renames or copies, otherwise collisions + for change in commit.file_changes: + # NEEDSWORK: _If_ we ever want to pass `--full-tree` to fast-export and + # parse that output, we'll need to modify this block; `--full-tree` + # issues a deleteall directive which has no filename, and thus this + # block would normally strip it. Of course, FileChange() and + # _parse_optional_filechange() would need updates too. + if change.type == b'DELETEALL': + new_file_changes[b''] = change + continue + if change.filename in self._newnames: + change.filename = self._newnames[change.filename] + else: + original_filename = change.filename + change.filename = newname(args.path_changes, change.filename, + args.use_base_name, args.inclusive) + if self._filename_callback: + change.filename = self._filename_callback(change.filename) + self._newnames[original_filename] = change.filename + if not change.filename: + continue # Filtering criteria excluded this file; move on to next one + if change.filename in new_file_changes: + # Getting here means that path renaming is in effect, and caused one + # path to collide with another. That's usually bad, but can be okay + # under two circumstances: + # 1) Sometimes people have a file named OLDFILE in old revisions of + # history, and they rename to NEWFILE, and would like to rewrite + # history so that all revisions refer to it as NEWFILE. As such, + # we can allow a collision when (at least) one of the two paths + # is a deletion. Note that if OLDFILE and NEWFILE are unrelated + # this also allows the rewrite to continue, which makes sense + # since OLDFILE is no longer in the way. + # 2) If OLDFILE and NEWFILE are exactly equal, then writing them + # both to the same location poses no problem; we only need one + # file. (This could come up if someone copied a file in some + # commit, then later either deleted the file or kept it exactly + # in sync with the original with any changes, and then decides + # they want to rewrite history to only have one of the two files) + colliding_change = new_file_changes[change.filename] + if change.type == b'D': + # We can just throw this one away and keep the other + continue + elif change.type == b'M' and ( + change.mode == colliding_change.mode and + change.blob_id == colliding_change.blob_id): + # The two are identical, so we can throw this one away and keep other + continue + elif new_file_changes[change.filename].type != b'D': + raise SystemExit(_("File renaming caused colliding pathnames!\n") + + _(" Commit: {}\n").format(commit.original_id) + + _(" Filename: {}").format(change.filename)) + # Strip files that are too large + if self._args.max_blob_size and \ + self._unpacked_size.get(change.blob_id, 0) > self._args.max_blob_size: + continue + if self._args.strip_blobs_with_ids and \ + change.blob_id in self._args.strip_blobs_with_ids: + continue + # Otherwise, record the change + new_file_changes[change.filename] = change + commit.file_changes = [v for k,v in sorted(new_file_changes.items())] + + def _tweak_commit(self, commit, aux_info): + # Change the commit message according to callback + if not self._args.preserve_commit_hashes: + commit.message = self._hash_re.sub(self._translate_commit_hash, + commit.message) + if self._args.replace_message: + for literal, replacement in self._args.replace_message['literals']: + commit.message = commit.message.replace(literal, replacement) + for regex, replacement in self._args.replace_message['regexes']: + commit.message = regex.sub(replacement, commit.message) + if self._message_callback: + commit.message = self._message_callback(commit.message) + + # Change the author & committer according to mailmap rules + args = self._args + if args.mailmap: + commit.author_name, commit.author_email = \ + args.mailmap.translate(commit.author_name, commit.author_email) + commit.committer_name, commit.committer_email = \ + args.mailmap.translate(commit.committer_name, commit.committer_email) + # Change author & committer according to callbacks + if self._name_callback: + commit.author_name = self._name_callback(commit.author_name) + commit.committer_name = self._name_callback(commit.committer_name) + if self._email_callback: + commit.author_email = self._email_callback(commit.author_email) + commit.committer_email = self._email_callback(commit.committer_email) + + # Sometimes the 'branch' given is a tag; if so, rename it as requested so + # we don't get any old tagnames + if self._args.tag_rename: + commit.branch = RepoFilter._do_tag_rename(args.tag_rename, commit.branch) + if self._refname_callback: + commit.branch = self._refname_callback(commit.branch) + + # Filter or rename the list of file changes + orig_file_changes = set(commit.file_changes) + self._filter_files(commit) + + # Record ancestry graph + parents, orig_parents = commit.parents, aux_info['orig_parents'] + if self._args.state_branch: + external_parents = parents + else: + external_parents = [p for p in parents if not isinstance(p, int)] + self._graph.record_external_commits(external_parents) + self._orig_graph.record_external_commits(external_parents) + self._graph.add_commit_and_parents(commit.id, parents) + self._orig_graph.add_commit_and_parents(commit.old_id, orig_parents) + + # Prune parents (due to pruning of empty commits) if relevant + old_1st_parent = parents[0] if parents else None + parents, new_1st_parent = self._trim_extra_parents(orig_parents, parents) + commit.parents = parents + + # If parents were pruned, then we need our file changes to be relative + # to the new first parent + if parents and old_1st_parent != parents[0]: + commit.file_changes = GitUtils.get_file_changes(self._repo_working_dir, + ID_TO_HASH[parents[0]], + commit.original_id) + orig_file_changes = set(commit.file_changes) + self._filter_files(commit) + + # Find out which files were modified by the callbacks. Such paths could + # lead to subsequent commits being empty (e.g. if removing a line containing + # a password from every version of a file that had the password, and some + # later commit did nothing more than remove that line) + final_file_changes = set(commit.file_changes) + if self._args.replace_text or self._blob_callback: + differences = orig_file_changes.union(final_file_changes) + else: + differences = orig_file_changes.symmetric_difference(final_file_changes) + self._files_tweaked.update(x.filename for x in differences) + + # Call the user-defined callback, if any + if self._commit_callback: + self._commit_callback(commit, self.callback_metadata(aux_info)) + + # Now print the resulting commit, or if prunable skip it + if not commit.dumped: + if not self._prunable(commit, new_1st_parent, + aux_info['had_file_changes'], orig_parents): + self._insert_into_stream(commit) + self._record_remapping(commit, orig_parents) + else: + rewrite_to = new_1st_parent or commit.first_parent() + commit.skip(new_id = rewrite_to) + if self._args.state_branch: + alias = Alias(commit.old_id or commit.id, rewrite_to or deleted_hash) + self._insert_into_stream(alias) + reset = Reset(commit.branch, rewrite_to or deleted_hash) + self._insert_into_stream(reset) + self._commit_renames[commit.original_id] = None + + # Show progress + self._num_commits += 1 + if not self._args.quiet: + self._progress_writer.show(self._parsed_message % self._num_commits) + + @staticmethod + def _do_tag_rename(rename_pair, tagname): + old, new = rename_pair.split(b':', 1) + old, new = b'refs/tags/'+old, b'refs/tags/'+new + if tagname.startswith(old): + return tagname.replace(old, new, 1) + return tagname + + def _tweak_tag(self, tag): + # Tweak the tag message according to callbacks + if self._args.replace_message: + for literal, replacement in self._args.replace_message['literals']: + tag.message = tag.message.replace(literal, replacement) + for regex, replacement in self._args.replace_message['regexes']: + tag.message = regex.sub(replacement, tag.message) + if self._message_callback: + tag.message = self._message_callback(tag.message) + + # Tweak the tag name according to tag-name-related callbacks + tag_prefix = b'refs/tags/' + fullref = tag_prefix+tag.ref + if self._args.tag_rename: + fullref = RepoFilter._do_tag_rename(self._args.tag_rename, fullref) + if self._refname_callback: + fullref = self._refname_callback(fullref) + if not fullref.startswith(tag_prefix): + msg = "Error: fast-import requires tags to be in refs/tags/ namespace." + msg += "\n {} renamed to {}".format(tag_prefix+tag.ref, fullref) + raise SystemExit(msg) + tag.ref = fullref[len(tag_prefix):] + + # Tweak the tagger according to callbacks + if self._args.mailmap: + tag.tagger_name, tag.tagger_email = \ + self._args.mailmap.translate(tag.tagger_name, tag.tagger_email) + if self._name_callback: + tag.tagger_name = self._name_callback(tag.tagger_name) + if self._email_callback: + tag.tagger_email = self._email_callback(tag.tagger_email) + + # Call general purpose tag callback + if self._tag_callback: + self._tag_callback(tag, self.callback_metadata()) + + def _tweak_reset(self, reset): + if self._args.tag_rename: + reset.ref = RepoFilter._do_tag_rename(self._args.tag_rename, reset.ref) + if self._refname_callback: + reset.ref = self._refname_callback(reset.ref) + if self._reset_callback: + self._reset_callback(reset, self.callback_metadata()) + + def results_tmp_dir(self, create_if_missing=True): + target_working_dir = self._args.target or b'.' + git_dir = GitUtils.determine_git_dir(target_working_dir) + d = os.path.join(git_dir, b'filter-repo') + if create_if_missing and not os.path.isdir(d): + os.mkdir(d) + return d + + def _load_marks_file(self, marks_basename): + full_branch = 'refs/heads/{}'.format(self._args.state_branch) + marks_file = os.path.join(self.results_tmp_dir(), marks_basename) + working_dir = self._args.target or b'.' + cmd = ['git', '-C', working_dir, 'show-ref', full_branch] + contents = b'' + if subproc.call(cmd, stdout=subprocess.DEVNULL) == 0: + cmd = ['git', '-C', working_dir, 'show', + '%s:%s' % (full_branch, decode(marks_basename))] + try: + contents = subproc.check_output(cmd) + except subprocess.CalledProcessError as e: # pragma: no cover + raise SystemExit(_("Failed loading %s from %s") % + (decode(marks_basename), full_branch)) + if contents: + biggest_id = max(int(x.split()[0][1:]) for x in contents.splitlines()) + _IDS._next_id = max(_IDS._next_id, biggest_id+1) + with open(marks_file, 'bw') as f: + f.write(contents) + return marks_file + + def _save_marks_files(self): + basenames = [b'source-marks', b'target-marks'] + working_dir = self._args.target or b'.' + + # Check whether the branch exists + parent = [] + full_branch = 'refs/heads/{}'.format(self._args.state_branch) + cmd = ['git', '-C', working_dir, 'show-ref', full_branch] + if subproc.call(cmd, stdout=subprocess.DEVNULL) == 0: + parent = ['-p', full_branch] + + # Run 'git hash-object $MARKS_FILE' for each marks file, save result + blob_hashes = {} + for marks_basename in basenames: + marks_file = os.path.join(self.results_tmp_dir(), marks_basename) + if not os.path.isfile(marks_file): # pragma: no cover + raise SystemExit(_("Failed to find %s to save to %s") + % (marks_file, self._args.state_branch)) + cmd = ['git', '-C', working_dir, 'hash-object', '-w', marks_file] + blob_hashes[marks_basename] = subproc.check_output(cmd).strip() + + # Run 'git mktree' to create a tree out of it + p = subproc.Popen(['git', '-C', working_dir, 'mktree'], + stdin=subprocess.PIPE, stdout=subprocess.PIPE) + for b in basenames: + p.stdin.write(b'100644 blob %s\t%s\n' % (blob_hashes[b], b)) + p.stdin.close() + p.wait() + tree = p.stdout.read().strip() + + # Create the new commit + cmd = (['git', '-C', working_dir, 'commit-tree', '-m', 'New mark files', + tree] + parent) + commit = subproc.check_output(cmd).strip() + subproc.call(['git', '-C', working_dir, 'update-ref', full_branch, commit]) + + def importer_only(self): + self._run_sanity_checks() + self._setup_output() + + def set_output(self, outputRepoFilter): + assert outputRepoFilter._output + + # set_output implies this RepoFilter is doing exporting, though may not + # be the only one. + self._setup_input(use_done_feature = False) + + # Set our output management up to pipe to outputRepoFilter's locations + self._managed_output = False + self._output = outputRepoFilter._output + self._import_pipes = outputRepoFilter._import_pipes + + # Handle sanity checks, though currently none needed for export-only cases + self._run_sanity_checks() + + def _setup_input(self, use_done_feature): + if self._args.stdin: + self._input = sys.stdin.detach() + sys.stdin = None # Make sure no one tries to accidentally use it + self._fe_orig = None + else: + skip_blobs = (self._blob_callback is None and + self._args.replace_text is None and + self._args.source == self._args.target) + extra_flags = [] + if skip_blobs: + extra_flags.append('--no-data') + if self._args.max_blob_size: + self._unpacked_size, packed_size = GitUtils.get_blob_sizes() + if use_done_feature: + extra_flags.append('--use-done-feature') + if write_marks: + extra_flags.append(b'--mark-tags') + if self._args.state_branch: + assert(write_marks) + source_marks_file = self._load_marks_file(b'source-marks') + extra_flags.extend([b'--export-marks='+source_marks_file, + b'--import-marks='+source_marks_file]) + if self._args.preserve_commit_encoding is not None: # pragma: no cover + reencode = 'no' if self._args.preserve_commit_encoding else 'yes' + extra_flags.append('--reencode='+reencode) + location = ['-C', self._args.source] if self._args.source else [] + fep_cmd = ['git'] + location + ['fast-export', '--show-original-ids', + '--signed-tags=strip', '--tag-of-filtered-object=rewrite', + '--fake-missing-tagger', '--reference-excluded-parents' + ] + extra_flags + self._args.refs + self._fep = subproc.Popen(fep_cmd, bufsize=-1, stdout=subprocess.PIPE) + self._input = self._fep.stdout + if self._args.dry_run or self._args.debug: + self._fe_orig = os.path.join(self.results_tmp_dir(), + b'fast-export.original') + output = open(self._fe_orig, 'bw') + self._input = InputFileBackup(self._input, output) + if self._args.debug: + tmp = [decode(x) if isinstance(x, bytes) else x for x in fep_cmd] + print("[DEBUG] Running: {}".format(' '.join(tmp))) + print(" (saving a copy of the output at {})" + .format(decode(self._fe_orig))) + + def _setup_output(self): + if not self._args.dry_run: + location = ['-C', self._args.target] if self._args.target else [] + fip_cmd = ['git'] + location + ['-c', 'core.ignorecase=false', + 'fast-import', '--force', '--quiet'] + if date_format_permissive: + fip_cmd.append('--date-format=raw-permissive') + if self._args.state_branch: + target_marks_file = self._load_marks_file(b'target-marks') + fip_cmd.extend([b'--export-marks='+target_marks_file, + b'--import-marks='+target_marks_file]) + self._fip = subproc.Popen(fip_cmd, bufsize=-1, + stdin=subprocess.PIPE, stdout=subprocess.PIPE) + self._import_pipes = (self._fip.stdin, self._fip.stdout) + if self._args.dry_run or self._args.debug: + self._fe_filt = os.path.join(self.results_tmp_dir(), + b'fast-export.filtered') + self._output = open(self._fe_filt, 'bw') + else: + self._output = self._fip.stdin + if self._args.debug and not self._args.dry_run: + self._output = DualFileWriter(self._fip.stdin, self._output) + tmp = [decode(x) if isinstance(x, bytes) else x for x in fip_cmd] + print("[DEBUG] Running: {}".format(' '.join(tmp))) + print(" (using the following file as input: {})" + .format(decode(self._fe_filt))) + + def _migrate_origin_to_heads(self): + refs_to_migrate = set(x for x in self._orig_refs + if x.startswith(b'refs/remotes/origin/')) + if not refs_to_migrate: + return + if self._args.debug: + print("[DEBUG] Migrating refs/remotes/origin/* -> refs/heads/*") + target_working_dir = self._args.target or b'.' + p = subproc.Popen('git update-ref --no-deref --stdin'.split(), + stdin=subprocess.PIPE, cwd=target_working_dir) + for ref in refs_to_migrate: + if ref == b'refs/remotes/origin/HEAD': + p.stdin.write(b'delete %s %s\n' % (ref, self._orig_refs[ref])) + del self._orig_refs[ref] + continue + newref = ref.replace(b'refs/remotes/origin/', b'refs/heads/') + if newref not in self._orig_refs: + p.stdin.write(b'create %s %s\n' % (newref, self._orig_refs[ref])) + p.stdin.write(b'delete %s %s\n' % (ref, self._orig_refs[ref])) + self._orig_refs[newref] = self._orig_refs[ref] + del self._orig_refs[ref] + p.stdin.close() + if p.wait(): + raise SystemExit(_("git update-ref failed; see above")) # pragma: no cover + + # Now remove + if self._args.debug: + print("[DEBUG] Removing 'origin' remote (rewritten history will no ") + print(" longer be related; consider re-pushing it elsewhere.") + #subproc.call('git remote rm origin'.split(), cwd=target_working_dir) + + def _final_commands(self): + self._finalize_handled = True + self._done_callback and self._done_callback() + + if not self._args.quiet: + self._progress_writer.finish() + + def _ref_update(self, target_working_dir): + # Start the update-ref process + p = subproc.Popen('git update-ref --no-deref --stdin'.split(), + stdin=subprocess.PIPE, + cwd=target_working_dir) + + # Remove replace_refs from _orig_refs + replace_refs = {k:v for k, v in self._orig_refs.items() + if k.startswith(b'refs/replace/')} + reverse_replace_refs = collections.defaultdict(list) + for k,v in replace_refs.items(): + reverse_replace_refs[v].append(k) + all(map(self._orig_refs.pop, replace_refs)) + + # Remove unused refs + exported_refs, imported_refs = self.get_exported_and_imported_refs() + refs_to_nuke = exported_refs - imported_refs + if self._args.partial: + refs_to_nuke = set() + if refs_to_nuke and self._args.debug: + print("[DEBUG] Deleting the following refs:\n "+ + decode(b"\n ".join(refs_to_nuke))) + p.stdin.write(b''.join([b"delete %s\n" % x + for x in refs_to_nuke])) + + # Delete or update and add replace_refs; note that fast-export automatically + # handles 'update-no-add', we only need to take action for the other four + # choices for replace_refs. + self._flush_renames() + actual_renames = {k:v for k,v in self._commit_renames.items() if k != v} + if self._args.replace_refs in ['delete-no-add', 'delete-and-add']: + # Delete old replace refs, if unwanted + replace_refs_to_nuke = set(replace_refs) + if self._args.replace_refs == 'delete-and-add': + # git-update-ref won't allow us to update a ref twice, so be careful + # to avoid deleting refs we'll later update + replace_refs_to_nuke = replace_refs_to_nuke.difference( + [b'refs/replace/'+x for x in actual_renames]) + p.stdin.write(b''.join([b"delete %s\n" % x + for x in replace_refs_to_nuke])) + if self._args.replace_refs in ['delete-and-add', 'update-or-add', + 'update-and-add']: + # Add new replace refs + update_only = (self._args.replace_refs == 'update-or-add') + p.stdin.write(b''.join([b"update refs/replace/%s %s\n" % (old, new) + for old,new in actual_renames.items() + if new and not (update_only and + old in reverse_replace_refs)])) + + # Complete the update-ref process + p.stdin.close() + if p.wait(): + raise SystemExit(_("git update-ref failed; see above")) # pragma: no cover + + def _record_metadata(self, metadata_dir, orig_refs): + self._flush_renames() + with open(os.path.join(metadata_dir, b'commit-map'), 'bw') as f: + f.write(("%-40s %s\n" % (_("old"), _("new"))).encode()) + for (old,new) in self._commit_renames.items(): + msg = b'%s %s\n' % (old, new if new != None else deleted_hash) + f.write(msg) + + exported_refs, imported_refs = self.get_exported_and_imported_refs() + + batch_check_process = None + batch_check_output_re = re.compile(b'^([0-9a-f]{40}) ([a-z]+) ([0-9]+)$') + with open(os.path.join(metadata_dir, b'ref-map'), 'bw') as f: + f.write(("%-40s %-40s %s\n" % (_("old"), _("new"), _("ref"))).encode()) + for refname, old_hash in orig_refs.items(): + if refname not in exported_refs: + continue + if refname not in imported_refs: + new_hash = deleted_hash + elif old_hash in self._commit_renames: + new_hash = self._commit_renames[old_hash] + new_hash = new_hash if new_hash != None else deleted_hash + else: # Must be either an annotated tag, or a ref whose tip was pruned + if not batch_check_process: + cmd = 'git cat-file --batch-check'.split() + target_working_dir = self._args.target or b'.' + batch_check_process = subproc.Popen(cmd, + stdin=subprocess.PIPE, + stdout=subprocess.PIPE, + cwd=target_working_dir) + batch_check_process.stdin.write(refname+b"\n") + batch_check_process.stdin.flush() + line = batch_check_process.stdout.readline() + m = batch_check_output_re.match(line) + if m and m.group(2) in (b'tag', b'commit'): + new_hash = m.group(1) + elif line.endswith(b' missing\n'): + new_hash = deleted_hash + else: + raise SystemExit(_("Failed to find new id for %(refname)s " + "(old id was %(old_hash)s)") + % ({'refname': refname, 'old_hash': old_hash}) + ) # pragma: no cover + f.write(b'%s %s %s\n' % (old_hash, new_hash, refname)) + if self._args.source or self._args.target: + new_refs = GitUtils.get_refs(self._args.target or b'.') + for ref, new_hash in new_refs.items(): + if ref not in orig_refs and not ref.startswith(b'refs/replace/'): + old_hash = b'0'*len(new_hash) + f.write(b'%s %s %s\n' % (old_hash, new_hash, ref)) + if batch_check_process: + batch_check_process.stdin.close() + batch_check_process.wait() + + with open(os.path.join(metadata_dir, b'suboptimal-issues'), 'bw') as f: + issues_found = False + if self._commits_no_longer_merges: + issues_found = True + + f.write(textwrap.dedent(_(''' + The following commits used to be merge commits but due to filtering + are now regular commits; they likely have suboptimal commit messages + (e.g. "Merge branch next into master"). Original commit hash on the + left, commit hash after filtering/rewriting on the right: + ''')[1:]).encode()) + for oldhash, newhash in self._commits_no_longer_merges: + f.write(' {} {}\n'.format(oldhash, newhash).encode()) + f.write(b'\n') + + if self._commits_referenced_but_removed: + issues_found = True + f.write(textwrap.dedent(_(''' + The following commits were filtered out, but referenced in another + commit message. The reference to the now-nonexistent commit hash + (or a substring thereof) was left as-is in any commit messages: + ''')[1:]).encode()) + for bad_commit_reference in self._commits_referenced_but_removed: + f.write(' {}\n'.format(bad_commit_reference).encode()) + f.write(b'\n') + + if not issues_found: + f.write(_("No filtering problems encountered.\n").encode()) + + with open(os.path.join(metadata_dir, b'already_ran'), 'bw') as f: + f.write(_("This file exists to allow you to filter again without --force.\n").encode()) + + def finish(self): + ''' Alternative to run() when there is no input of our own to parse, + meaning that run only really needs to close the handle to fast-import + and let it finish, thus making a call to "run" feel like a misnomer. ''' + assert not self._input + assert self._managed_output + self.run() + + def insert(self, obj, direct_insertion = False): + if not direct_insertion: + if type(obj) == Blob: + self._tweak_blob(obj) + elif type(obj) == Commit: + aux_info = {'orig_parents': obj.parents, + 'had_file_changes': bool(obj.file_changes)} + self._tweak_commit(obj, aux_info) + elif type(obj) == Reset: + self._tweak_reset(obj) + elif type(obj) == Tag: + self._tweak_tag(obj) + self._insert_into_stream(obj) + + def _insert_into_stream(self, obj): + if not obj.dumped: + if self._parser: + self._parser.insert(obj) + else: + obj.dump(self._output) + + def get_exported_and_imported_refs(self): + return self._parser.get_exported_and_imported_refs() + + def run(self): + start = time.time() + if not self._input and not self._output: + self._run_sanity_checks() + if not self._args.dry_run and not self._args.partial: + self._migrate_origin_to_heads() + self._setup_input(use_done_feature = True) + self._setup_output() + assert self._sanity_checks_handled + + if self._input: + # Create and run the filter + self._repo_working_dir = self._args.source or b'.' + self._parser = FastExportParser(blob_callback = self._tweak_blob, + commit_callback = self._tweak_commit, + tag_callback = self._tweak_tag, + reset_callback = self._tweak_reset, + done_callback = self._final_commands) + self._parser.run(self._input, self._output) + if not self._finalize_handled: + self._final_commands() + + # Make sure fast-export completed successfully + if not self._args.stdin and self._fep.wait(): + raise SystemExit(_("Error: fast-export failed; see above.")) # pragma: no cover + self._input.close() + + # If we're not the manager of self._output, we should avoid post-run cleanup + if not self._managed_output: + return + + # Close the output and ensure fast-import successfully completes + self._output.close() + if not self._args.dry_run and self._fip.wait(): + raise SystemExit(_("Error: fast-import failed; see above.")) # pragma: no cover + + # With fast-export and fast-import complete, update state if requested + if self._args.state_branch: + self._save_marks_files() + + # Notify user how long it took, before doing a gc and such + msg = "New history written in {:.2f} seconds..." + if self._args.repack: + msg = "New history written in {:.2f} seconds; now repacking/cleaning..." + print(msg.format(time.time()-start)) + + # Exit early, if requested + if self._args.dry_run: + print(_("NOTE: Not running fast-import or cleaning up; --dry-run passed.")) + if self._fe_orig: + print(_(" Requested filtering can be seen by comparing:")) + print(" " + decode(self._fe_orig)) + else: + print(_(" Requested filtering can be seen at:")) + print(" " + decode(self._fe_filt)) + return + + target_working_dir = self._args.target or b'.' + if self._input: + self._ref_update(target_working_dir) + + # Write out data about run + self._record_metadata(self.results_tmp_dir(), self._orig_refs) + + # Final cleanup: + # If we need a repack, then nuke the reflogs and repack. + # If we need a reset, do a reset --hard + reset = not GitUtils.is_repository_bare(target_working_dir) + #RepoFilter.cleanup(target_working_dir, self._args.repack, reset, + # run_quietly=self._args.quiet, + # show_debuginfo=self._args.debug) + + # Let user know how long it took + print(_("Completely finished after {:.2f} seconds.") + .format(time.time()-start)) + +def main(): + setup_gettext() + args = FilteringOptions.parse_args(sys.argv[1:]) + if args.analyze: + RepoAnalyze.run(args) + else: + filter = RepoFilter(args) + filter.run() + +if __name__ == '__main__': + main() diff --git a/other/getdate-args.js b/other/getdate-args.js new file mode 100644 index 0000000..f10bf4f --- /dev/null +++ b/other/getdate-args.js @@ -0,0 +1,10 @@ +const startMonth = -2 +const endMonths = -12 +const dateToday = new Date() +dateToday.setMonth(dateToday.getMonth()+startMonth) +let datesArr = [] +for(let i=startMonth;i>=endMonths;i--){ + dateToday.setMonth(dateToday.getMonth()-1) + datesArr.push(`${dateToday.toLocaleString("sv-SE", { dateStyle: 'short'}).slice(0,7).replace('-','\\-')}\\-[0-9]+`) +} +console.log(datesArr.map(e=>`--path-regex ${e}`).join(' ')) diff --git a/other/makemergecurr.js b/other/makemergecurr.js new file mode 100644 index 0000000..c3063b4 --- /dev/null +++ b/other/makemergecurr.js @@ -0,0 +1,22 @@ +const fs = require('fs') +const path = require('path') +// Requires for md5 hash generations for fonts to check duplicates +const crypto = require('crypto') + +currcodes = fs.readFileSync(path.join(__dirname, 'currencies2.json')).toString() +currcodes = JSON.parse(currcodes) + +mergecodes = fs.readFileSync(path.join(__dirname, 'mergecurr4.json')).toString() +mergecodes = JSON.parse(mergecodes) + +const newcurrobj = {} + +for (const [key, value] of Object.entries(mergecodes)) { + // mergecodes[value.cc] = value.name + + newcurrobj[key.toLowerCase()] = value.toLowerCase() +} + +console.log(newcurrobj) + +fs.writeFileSync('mergecurr5lower.json', JSON.stringify(newcurrobj)) diff --git a/other/mergecurr.json b/other/mergecurr.json new file mode 100644 index 0000000..7427e8d --- /dev/null +++ b/other/mergecurr.json @@ -0,0 +1 @@ +{"USD":"US Dollar","CAD":"Canadian Dollar","EUR":"Euro","AED":"United Arab Emirates Dirham","AFN":"Afghan Afghani","ALL":"Albanian Lek","AMD":"Armenian Dram","ARS":"Argentine Peso","AUD":"Australian Dollar","AZN":"Azerbaijani Manat","BAM":"Bosnia-Herzegovina Convertible Mark","BDT":"Bangladeshi Taka","BGN":"Bulgarian Lev","BHD":"Bahraini Dinar","BIF":"Burundian Franc","BND":"Brunei Dollar","BOB":"Bolivian Boliviano","BRL":"Brazilian Real","BWP":"Botswanan Pula","BYN":"Belarusian Ruble","BZD":"Belize Dollar","CDF":"Congolese Franc","CHF":"Swiss Franc","CLP":"Chilean Peso","CNY":"Chinese Yuan","COP":"Colombian Peso","CRC":"Costa Rican Colón","CVE":"Cape Verdean Escudo","CZK":"Czech Republic Koruna","DJF":"Djiboutian Franc","DKK":"Danish Krone","DOP":"Dominican Peso","DZD":"Algerian Dinar","EEK":"Estonian Kroon","EGP":"Egyptian Pound","ERN":"Eritrean Nakfa","ETB":"Ethiopian Birr","GBP":"British Pound Sterling","GEL":"Georgian Lari","GHS":"Ghanaian Cedi","GNF":"Guinean Franc","GTQ":"Guatemalan Quetzal","HKD":"Hong Kong Dollar","HNL":"Honduran Lempira","HRK":"Croatian Kuna","HUF":"Hungarian Forint","IDR":"Indonesian Rupiah","ILS":"Israeli New Sheqel","INR":"Indian Rupee","IQD":"Iraqi Dinar","IRR":"Iranian Rial","ISK":"Icelandic Króna","JMD":"Jamaican Dollar","JOD":"Jordanian Dinar","JPY":"Japanese Yen","KES":"Kenyan Shilling","KHR":"Cambodian Riel","KMF":"Comorian Franc","KRW":"South Korean Won","KWD":"Kuwaiti Dinar","KZT":"Kazakhstani Tenge","LBP":"Lebanese Pound","LKR":"Sri Lankan Rupee","LTL":"Lithuanian Litas","LVL":"Latvian Lats","LYD":"Libyan Dinar","MAD":"Moroccan Dirham","MDL":"Moldovan Leu","MGA":"Malagasy Ariary","MKD":"Macedonian Denar","MMK":"Myanma Kyat","MOP":"Macanese Pataca","MUR":"Mauritian Rupee","MXN":"Mexican Peso","MYR":"Malaysian Ringgit","MZN":"Mozambican Metical","NAD":"Namibian Dollar","NGN":"Nigerian Naira","NIO":"Nicaraguan Córdoba","NOK":"Norwegian Krone","NPR":"Nepalese Rupee","NZD":"New Zealand Dollar","OMR":"Omani Rial","PAB":"Panamanian Balboa","PEN":"Peruvian Nuevo Sol","PHP":"Philippine Peso","PKR":"Pakistani Rupee","PLN":"Polish Zloty","PYG":"Paraguayan Guarani","QAR":"Qatari Rial","RON":"Romanian Leu","RSD":"Serbian Dinar","RUB":"Russian Ruble","RWF":"Rwandan Franc","SAR":"Saudi Riyal","SDG":"Sudanese Pound","SEK":"Swedish Krona","SGD":"Singapore Dollar","SOS":"Somali Shilling","SYP":"Syrian Pound","THB":"Thai Baht","TND":"Tunisian Dinar","TOP":"Tongan Paʻanga","TRY":"Turkish Lira","TTD":"Trinidad and Tobago Dollar","TWD":"New Taiwan Dollar","TZS":"Tanzanian Shilling","UAH":"Ukrainian Hryvnia","UGX":"Ugandan Shilling","UYU":"Uruguayan Peso","UZS":"Uzbekistan Som","VEF":"Venezuelan Bolívar","VND":"Vietnamese Dong","XAF":"CFA Franc BEAC","XOF":"CFA Franc BCEAO","YER":"Yemeni Rial","ZAR":"South African Rand","ZMK":"Zambian Kwacha","ZWL":"Zimbabwean Dollar"} \ No newline at end of file diff --git a/other/mergecurr2.json b/other/mergecurr2.json new file mode 100644 index 0000000..6800607 --- /dev/null +++ b/other/mergecurr2.json @@ -0,0 +1 @@ +{"USD":"United States Dollar","CAD":"Canadian Dollar","EUR":"Euro","AED":"United Arab Emirates Dirham","AFN":"Afghan Afghani","ALL":"Albanian Lek","AMD":"Armenian Dram","ARS":"Argentine Peso","AUD":"Australian Dollar","AZN":"Azerbaijani Manat","BAM":"Bosnia-Herzegovina Convertible Mark","BDT":"Bangladeshi Taka","BGN":"Bulgarian Lev","BHD":"Bahraini Dinar","BIF":"Burundian Franc","BND":"Brunei Dollar","BOB":"Bolivian Boliviano","BRL":"Brazilian Real","BWP":"Botswanan Pula","BYN":"Belarusian Ruble","BZD":"Belize Dollar","CDF":"Congolese Franc","CHF":"Swiss Franc","CLP":"Chilean Peso","CNY":"Chinese Yuan","COP":"Colombian Peso","CRC":"Costa Rican Colón","CVE":"Cape Verdean Escudo","CZK":"Czech Republic Koruna","DJF":"Djiboutian Franc","DKK":"Danish Krone","DOP":"Dominican Peso","DZD":"Algerian Dinar","EEK":"Estonian Kroon","EGP":"Egyptian Pound","ERN":"Eritrean Nakfa","ETB":"Ethiopian Birr","GBP":"British Pound Sterling","GEL":"Georgian Lari","GHS":"Ghanaian Cedi","GNF":"Guinean Franc","GTQ":"Guatemalan Quetzal","HKD":"Hong Kong Dollar","HNL":"Honduran Lempira","HRK":"Croatian Kuna","HUF":"Hungarian Forint","IDR":"Indonesian Rupiah","ILS":"Israeli New Sheqel","INR":"Indian Rupee","IQD":"Iraqi Dinar","IRR":"Iranian Rial","ISK":"Icelandic Króna","JMD":"Jamaican Dollar","JOD":"Jordanian Dinar","JPY":"Japanese Yen","KES":"Kenyan Shilling","KHR":"Cambodian Riel","KMF":"Comorian Franc","KRW":"South Korean Won","KWD":"Kuwaiti Dinar","KZT":"Kazakhstani Tenge","LBP":"Lebanese Pound","LKR":"Sri Lankan Rupee","LTL":"Lithuanian Litas","LVL":"Latvian Lats","LYD":"Libyan Dinar","MAD":"Moroccan Dirham","MDL":"Moldovan Leu","MGA":"Malagasy Ariary","MKD":"Macedonian Denar","MMK":"Myanma Kyat","MOP":"Macanese Pataca","MUR":"Mauritian Rupee","MXN":"Mexican Peso","MYR":"Malaysian Ringgit","MZN":"Mozambican Metical","NAD":"Namibian Dollar","NGN":"Nigerian Naira","NIO":"Nicaraguan Córdoba","NOK":"Norwegian Krone","NPR":"Nepalese Rupee","NZD":"New Zealand Dollar","OMR":"Omani Rial","PAB":"Panamanian Balboa","PEN":"Peruvian Nuevo Sol","PHP":"Philippine Peso","PKR":"Pakistani Rupee","PLN":"Polish Zloty","PYG":"Paraguayan Guarani","QAR":"Qatari Rial","RON":"Romanian Leu","RSD":"Serbian Dinar","RUB":"Russian Ruble","RWF":"Rwandan Franc","SAR":"Saudi Riyal","SDG":"Sudanese Pound","SEK":"Swedish Krona","SGD":"Singapore Dollar","SOS":"Somali Shilling","SYP":"Syrian Pound","THB":"Thai Baht","TND":"Tunisian Dinar","TOP":"Tongan Pa'anga","TRY":"Turkish Lira","TTD":"Trinidad and Tobago Dollar","TWD":"New Taiwan Dollar","TZS":"Tanzanian Shilling","UAH":"Ukrainian Hryvnia","UGX":"Ugandan Shilling","UYU":"Uruguayan Peso","UZS":"Uzbekistan Som","VEF":"Venezuelan Bolívar Fuerte","VND":"Vietnamese Dong","XAF":"CFA Franc BEAC","XOF":"CFA Franc BCEAO","YER":"Yemeni Rial","ZAR":"South African Rand","ZMK":"Zambian Kwacha","ZWL":"Zimbabwean Dollar","ANG":"Netherlands Antillean Guilder","AOA":"Angolan Kwanza","AWG":"Aruban Florin","BBD":"Barbadian Dollar","BMD":"Bermudan Dollar","BSD":"Bahamian Dollar","BTC":"Bitcoin","BTN":"Bhutanese Ngultrum","CLF":"Chilean Unit of Account (UF)","CNH":"Chinese Yuan (Offshore)","CUC":"Cuban Convertible Peso","CUP":"Cuban Peso","FJD":"Fijian Dollar","FKP":"Falkland Islands Pound","GGP":"Guernsey Pound","GIP":"Gibraltar Pound","GMD":"Gambian Dalasi","GYD":"Guyanaese Dollar","HTG":"Haitian Gourde","IMP":"Manx pound","JEP":"Jersey Pound","KGS":"Kyrgystani Som","KPW":"North Korean Won","KYD":"Cayman Islands Dollar","LAK":"Laotian Kip","LRD":"Liberian Dollar","LSL":"Lesotho Loti","MNT":"Mongolian Tugrik","MRO":"Mauritanian Ouguiya (pre-2018)","MRU":"Mauritanian Ouguiya","MVR":"Maldivian Rufiyaa","MWK":"Malawian Kwacha","PGK":"Papua New Guinean Kina","SBD":"Solomon Islands Dollar","SCR":"Seychellois Rupee","SHP":"Saint Helena Pound","SLL":"Sierra Leonean Leone","SRD":"Surinamese Dollar","SSP":"South Sudanese Pound","STD":"São Tomé and Príncipe Dobra (pre-2018)","STN":"São Tomé and Príncipe Dobra","SVC":"Salvadoran Colón","SZL":"Swazi Lilangeni","TJS":"Tajikistani Somoni","TMT":"Turkmenistani Manat","VUV":"Vanuatu Vatu","WST":"Samoan Tala","XAG":"Silver Ounce","XAU":"Gold Ounce","XCD":"East Caribbean Dollar","XDR":"Special Drawing Rights","XPD":"Palladium Ounce","XPF":"CFP Franc","XPT":"Platinum Ounce","ZMW":"Zambian Kwacha"} \ No newline at end of file diff --git a/other/mergecurr3.json b/other/mergecurr3.json new file mode 100644 index 0000000..0cf53d9 --- /dev/null +++ b/other/mergecurr3.json @@ -0,0 +1 @@ +{"42":"42 Coin","300":"300 token","365":"365Coin","404":"404Coin","433":"433 Token","611":"SixEleven","808":"808","888":"Octocoin","1337":"EliteCoin","2015":"2015 coin","USD":"United States Dollar","CAD":"Canadian Dollar","EUR":"Euro","AED":"United Arab Emirates Dirham","AFN":"Afghan Afghani","ALL":"Albanian Lek","AMD":"Armenian Dram","ARS":"Artcoin","AUD":"Aussie Digital","AZN":"Azerbaijani Manat","BAM":"BAM","BDT":"Blockonix","BGN":"Bulgarian Lev","BHD":"Bahraini Dinar","BIF":"Burundian Franc","BND":"Brunei Dollar","BOB":"Bob's Repair","BRL":"Brazilian Real","BWP":"Botswanan Pula","BYN":"Belarusian Ruble","BZD":"Belize Dollar","CDF":"Congolese Franc","CHF":"Swiss Franc","CLP":"Chilean Peso","CNY":"Chinese Yuan","COP":"Colombian Peso","CRC":"Costa Rican Colón","CVE":"Cape Verdean Escudo","CZK":"Czech Republic Koruna","DJF":"Djiboutian Franc","DKK":"Danish Krone","DOP":"Dominican Peso","DZD":"Algerian Dinar","EEK":"Estonian Kroon","EGP":"Egyptian Pound","ERN":"Eritrean Nakfa","ETB":"Ethiopian Birr","GBP":"British Pound Sterling","GEL":"Georgian Lari","GHS":"Ghanaian Cedi","GNF":"Guinean Franc","GTQ":"Guatemalan Quetzal","HKD":"Hong Kong Dollar","HNL":"Honduran Lempira","HRK":"Croatian Kuna","HUF":"Hungarian Forint","IDR":"Indonesian Rupiah","ILS":"Israeli New Sheqel","INR":"Indian Rupee","IQD":"Iraqi Dinar","IRR":"Iranian Rial","ISK":"Icelandic Króna","JMD":"Jamaican Dollar","JOD":"Jordanian Dinar","JPY":"Japanese Yen","KES":"Kenyan Shilling","KHR":"Cambodian Riel","KMF":"Comorian Franc","KRW":"South Korean Won","KWD":"Kuwaiti Dinar","KZT":"Kazakhstani Tenge","LBP":"Lebanese Pound","LKR":"Sri Lankan Rupee","LTL":"Lithuanian Litas","LVL":"Latvian Lats","LYD":"Libyan Dinar","MAD":"Moroccan Dirham","MDL":"Moldovan Leu","MGA":"Malagasy Ariary","MKD":"Macedonian Denar","MMK":"Myanma Kyat","MOP":"Macanese Pataca","MUR":"Mauritian Rupee","MXN":"Mexican Peso","MYR":"Malaysian Ringgit","MZN":"Mozambican Metical","NAD":"Namibian Dollar","NGN":"Nigerian Naira","NIO":"Nicaraguan Córdoba","NOK":"Norwegian Krone","NPR":"Nepalese Rupee","NZD":"New Zealand Dollar","OMR":"Omani Rial","PAB":"Panamanian Balboa","PEN":"Peruvian Nuevo Sol","PHP":"Philippine Peso","PKR":"Pakistani Rupee","PLN":"Polish Zloty","PYG":"Paraguayan Guarani","QAR":"Qatari Rial","RON":"Romanian Leu","RSD":"Serbian Dinar","RUB":"Russian Ruble","RWF":"Rwandan Franc","SAR":"Saudi Riyal","SDG":"Sudanese Pound","SEK":"Swedish Krona","SGD":"Singapore Dollar","SOS":"Somali Shilling","SYP":"Syrian Pound","THB":"Thai Baht","TND":"Tunisian Dinar","TOP":"Tongan Pa'anga","TRY":"Turkish Lira","TTD":"Trinidad and Tobago Dollar","TWD":"New Taiwan Dollar","TZS":"Tanzanian Shilling","UAH":"Ukrainian Hryvnia","UGX":"Ugandan Shilling","UYU":"Uruguayan Peso","UZS":"Uzbekistan Som","VEF":"Venezuelan Bolívar Fuerte","VND":"Vietnamese Dong","XAF":"CFA Franc BEAC","XOF":"CFA Franc BCEAO","YER":"Yemeni Rial","ZAR":"South African Rand","ZMK":"Zambian Kwacha","ZWL":"Zimbabwean Dollar","ANG":"Netherlands Antillean Guilder","AOA":"Aurora","AWG":"Aruban Florin","BBD":"Barbadian Dollar","BMD":"Bermudan Dollar","BSD":"BitSend","BTC":"Bitcoin","BTN":"Bitcoin Nova","CLF":"Chilean Unit of Account (UF)","CNH":"Chinese Yuan (Offshore)","CUC":"Cuban Convertible Peso","CUP":"Cuban Peso","FJD":"Fijian Dollar","FKP":"Falkland Islands Pound","GGP":"GGPro","GIP":"Gibraltar Pound","GMD":"Gambian Dalasi","GYD":"Guyanaese Dollar","HTG":"Haitian Gourde","IMP":"CoinIMP","JEP":"Jersey Pound","KGS":"Kyrgystani Som","KPW":"North Korean Won","KYD":"Cayman Islands Dollar","LAK":"Laotian Kip","LRD":"Liberian Dollar","LSL":"Lesotho Loti","MNT":"Mongolian Tugrik","MRO":"Mauritanian Ouguiya (pre-2018)","MRU":"Mauritanian Ouguiya","MVR":"Maldivian Rufiyaa","MWK":"Malawian Kwacha","PGK":"Papua New Guinean Kina","SBD":"Solomon Islands Dollar","SCR":"Seychellois Rupee","SHP":"Saint Helena Pound","SLL":"Sierra Leonean Leone","SRD":"Surinamese Dollar","SSP":"South Sudanese Pound","STD":"São Tomé and Príncipe Dobra (pre-2018)","STN":"Steneum Coin","SVC":"Salvadoran Colón","SZL":"Swazi Lilangeni","TJS":"Tajikistani Somoni","TMT":"Turkmenistani Manat","VUV":"Vanuatu Vatu","WST":"Samoan Tala","XAG":"Silver Ounce","XAU":"XauCoin","XCD":"Capdax","XDR":"Special Drawing Rights","XPD":"PetroDollar","XPF":"CFP Franc","XPT":"Plata","ZMW":"Zambian Kwacha","ARC*":"Arcade City","CLUB":"ClubCoin","007":"007 coin","ZCN":"0chain","ZRX":"0x","0xBTC":"0xBitcoin","BIT16":"16BitCoin","MCT":"1717 Masonic Commemorative Token","1CR":"1Credit","1WO":"1World","CHAO":"23 Skidoo","ARMS":"2Acoin","2BACCO":"2BACCO Coin","2GIVE":"2GiveCoin","2TF":"2TF","32BIT":"32Bitcoin","3XD":"3DChain","3DES":"3DES","8BT":"8 Circuit Studios","8BIT":"8BIT Coin","ATKN":"A-Token","AAA":"AAA Reserve Currency","RTB":"AB-CHAIN","ABC":"AB-Chain","AT":"ABCC Token","AC3":"AC3","ACA":"ACA Token","ACT":"ACT","ACOIN":"ACoin","AENT":"AEN","AEON":"AEON","AERGO":"AERGO","AGT":"AGATE","AIC":"AI Crypto","AIDOC":"AI Doctor","AIT":"AIChain Token","XAI*":"AICoin","AIOT":"AIOT Token","AITT":"AITrading","AXT":"AIX","ALX":"ALAX","ALIS":"ALISmedia","ALT":"ALTcoin","AMBT":"AMBT Token","AMIS":"AMIS","AMLT":"AMLT","AMO":"AMO Coin","ANON":"ANON","ANTS":"ANTS Reloaded","APIS":"APIS","APS":"APRES","QEY":"AQwire","ARB*":"ARBITRAGE","ARE":"ARENON","ARK":"ARK","ARNA":"ARNA Panacea","ARR":"ARROUND","ASGC":"ASG","ASQT":"ASQ Protocol","ATB":"ATB coin","ATCC":"ATC Coin","ATFS":"ATFS Project","ATL":"ATLANT","ATM":"ATMChain","AUC*":"AU-Coin","AWAX":"AWAX","AXR":"AXRON","AXS":"AXS","ABELE":"Abele","ABJ":"Abjcoin","ABS":"Absolute Coin","ACC*":"Accelerator Network","ACCO":"Accolade","AEC":"AcesCoin","ACES":"AcesCoin","ACT*":"Achain","ACH":"AchieveCoin","ACID":"AcidCoin","OAK":"Acorn Collective","ACM":"Actinium","ACTN":"Action Coin","AMT":"Acumen","AAC":"Acute Angle Cloud","ACC":"AdCoin","ADX":"AdEx","ADT":"AdToken","ADAB":"Adab Solutions","ADM":"Adamant","ADB":"Adbank","ADL":"Adelphoi","ADH":"Adhive","ADI":"Aditus","ADST":"Adshares","AIB":"AdvancedInternetBlock","ADZ":"Adzcoin","AGS":"Aegis","AEN":"Aenco","AERM":"Aerium","AERO":"Aero Coin","AM":"AeroMe","ARN":"Aeron","XRM":"Aerum","AER":"Aeryus","AE":"Aeternity","ATT":"Aeternum","AET":"AfterEther","AGVC":"AgaveCoin","ESTATE":"AgentMile","AGRS":"Agoras Token","DLT":"Agrello Delta","AHT":"Ahoolee","AIBB":"AiBB","AID":"AidCoin","ADN":"Aiden","ADK":"Aidos Kuneen","AIX":"Aigang","AIM":"Aimedis","AION":"Aion","APOD":"AirPod","AST":"AirSwap","AIR":"AirToken","AIRT":"Aircraft","AKA":"Akroma","ALCE":"Alcedo","ALEX":"Alexandrite","PLM":"Algo.Land","ALG":"Algory","ABBC":"Alibabacoin","ALN":"AlienCoin","SOC":"All Sports Coin","AFO":"AllForOneBusiness","ASAFE2":"Allsafe","APC":"AlpaCoin","ALPS":"Alpenschillling","ALF":"AlphaCoin","AX":"AlphaX","ACAT":"Alphacat","ALP":"Alphacon","APZ":"Alprockz","ALQO":"Alqo","ALTCOM":"AltCommunity Coin","ALTOCAR":"AltoCar","ALUX":"Alux Bank","AS":"AmaStar","AMBER":"AmberCoin","AMB":"Ambrosus","AMC":"AmericanCoin","AMX":"Amero","AMMO":"Ammo Rewards","AMN":"Amon","AMOS":"Amos","VEO":"Amoveo","AMS":"Amsterdam Coin","AMY":"Amygws","ANCP":"Anacrypt","ANAL":"AnalCoin","ACP":"Anarchists Prime","AND":"AndromedaCoin","ANGL":"Angel Token","AVH":"Animation Vision Cash","ANI":"Animecoin","ANK":"Ankorus Token","ANKR":"Ankr Network","ANC":"Anoncoin","RYZ":"Anryze","ANTI":"Anti Bitcoin","ATHK":"AntiHACK.me","ANTC":"AntiLitecoin","CPX":"Apex Token","APEX":"ApexCoin","APH":"Aphelion","APL":"Apollo Currency","APXT":"ApolloX","XAP":"Apollon","APPC":"AppCoins","APT":"Aptcoin","APX":"Apx","AQUA":"Aquachain","ARCO":"AquariusCoin","AR*":"Ar.cash","ARQ":"ArQmA","ALC":"Arab League Coin","ANT":"Aragon","ARAW":"Araw","ARBI":"Arbi","ARB":"Arbit Coin","ARCT":"ArbitrageCT","ABT":"ArcBlock","ARCX":"ArcadierX","ARCH":"ArchCoin","ARC":"ArcticCoin","ARDR":"Ardor","ARENA":"Arena","ARG":"Argentum","AGM":"Argoneum","ARGUS":"ArgusCoin","ARI":"AriCoin","ARO":"Arionum","BOTS":"ArkDAO","ARM":"Armory Coin","ARPA":"ArpaCoin","ABY":"ArtByte","ATP":"ArtPro","ARTE":"Artemine","ATX":"ArtexCoin","AUA":"ArubaCoin","ASN":"Ascension Coin","XAS":"Asch","AC":"Asia Coin","ADCN":"Asiadigicoin","ATX*":"Aston","AST*":"Astral","ASTRO":"Astronaut","ATH":"Atheios","THO":"Athero","ATMOS":"Atmos","ATOM":"Atomic Coin","AWC":"Atomic Wallet Coin","ATMI":"Atonomi","ATTR":"Attrace","AUC":"Auctus","ADC":"AudioCoin","REP":"Augur","AUK":"Aukcecoin","AURS":"Aureus","AURA":"Aurora","AUR":"Aurora Coin","AURUM":"Aurum","AUN":"Authoreon","ATS":"Authorship","AUPC":"Authpaper","ABX":"AutoBay","ATC":"AutoBlock","NIO*":"Autonio","AUT":"Autoria","ATM*":"Autumncoin","Auxilium":"Auxilium","AVA":"Avalon","AV":"Avatar Coin","AVT":"AventCoin","AOP":"Averopay","AVE":"Avesta","ACN":"AvonCoin","WORK":"Aworker","AXIOM":"Axiom Coin","AXYS":"Axys","AZART":"Azart","AZ":"Azbit","AZU":"Azultec","B21":"B21","B2B":"B2BX","B3":"B3 Coin","KB3":"B3Coin","BAX":"BABB","BANCA":"BANCA","BKX":"BANKEX","BBN":"BBNCOIN","BCV":"BCV Blue Chip","BEAT":"BEAT Token","BEER":"BEER Coin","BERN":"BERNcash","BEX":"BEX token","BFT":"BF Token","BFEX":"BFEX","BHPC":"BHPCash","BITTO":"BITTO","VEE":"BLOCKv","BMT":"BMChain","BSC*":"BOONSCoin","BST*":"BOOSTO","BOS":"BOScoin","BQC":"BQCoin","BQTX":"BQT","BVO":"BRAVO Pay","BRAT":"BROTHER","BTCL":"BTC Lite","BTCM":"BTCMoon","BTU":"BTU Protocol","BAAS":"BaaSid","BAN":"Babes and Nerds","BKC":"Balkancoin","NANAS":"BananaBits","BNT":"Bancor Network Token","XBANK":"Bancryp","B@":"BankCoin","BNK":"Bankera","BCOIN":"BannerCoin","BBN*":"Banyan Network","BBCC":"BaseballCardCoin","BASHC":"BashCoin","BAT":"Basic Attention Token","BASIS":"Basis","BTA":"Bata","BCX":"BattleCoin","BSTK":"BattleStake","SAND":"BeachCoin","BEAM":"Beam","BEAN":"BeanCash","BRDD":"BeardDollars","XBTS":"Beats","BTZC":"BeatzCoin","BEC":"Beauty Chain","BVC":"BeaverCoin","BXY":"Beaxy","BEE":"Bee Token","BFDT":"Befund","BELA":"Bela","BBI":"BelugaPay","BMK":"Benchmark","BNC":"Benjacoin","BENJI":"BenjiRolls","BEST":"BestChain","KNG":"BetKings","CHART":"BetOnChart","BET":"BetaCoin","BFC":"Betform","BETHER":"Bethereum","KRO":"Betoken","BTRM":"Betrium Token","BETR":"BetterBetting","BTXC":"Bettex coin","BETT":"Bettium","BC":"Beverage.cash","BZNT":"Bezant","BEZ":"Bezop","BGG":"Bgogo Token","BNR":"BiNeuro","BBP":"BiblePay","BIX":"BiboxCoin","BID":"BidCoin","BDP":"Bidipass","DOOH":"Bidooh","BDB":"Big Data Block","BBG":"BigBang","HUGE":"BigCoin","LFC":"BigLifeCoin","BIGUP":"BigUp","BBO":"Bigbom","BHC":"BighanCoin","BIC":"Bikercoins","BLRY":"BillaryCoin","XBL":"Billionaire Token","BNB":"Binance Coin","BRC*":"BinaryCoin","BIOB":"BioBar","BIOC":"BioCrypt","BIO":"Biocoin","BIOS":"BiosCrypto","BTRN":"Biotron","BIPC":"BipCoin","BIS":"Bismuth","BZ":"Bit-Z","BAS":"BitAsean","BTB":"BitBar","BAY":"BitBay","BBK":"BitBlocks","BBT":"BitBoost","BOSS":"BitBoss","BRONZ":"BitBronze","BCD*":"BitCAD","BEN":"BitCOEN","BCNA":"BitCanna","BITCAR":"BitCar","CAT*":"BitClave","COAL":"BitCoal","BCCOIN":"BitConnect Coin","BCR":"BitCredit","BTCRY":"BitCrystal","BCY":"BitCrystals","BTCR":"BitCurrency","BDG":"BitDegree","CSNO":"BitDice","HNY":"BitFence","BFX":"BitFinex Tokens","FLIP":"BitFlip","FLX*":"BitFlux","BF":"BitForex Token","HIRE*":"BitHIRE","BIH":"BitHostCoin","STU":"BitJob","BTLC":"BitLuckCoin","LUX*":"BitLux","BTM":"BitMark","BMX":"BitMart Coin","BTMX":"BitMax Token","BTMI":"BitMiles","BITM":"BitMoney","BM":"BitMoon","BITOK":"BitOKX","BTQ":"BitQuark","RNTB":"BitRent","BIT":"BitRewards","BSCH":"BitSchool","BITX":"BitScreener","XSEED":"BitSeeds","BTE*":"BitSerial","BSR":"BitSoar Coin","BTSG":"BitSong","STASH":"BitStash","BSTN":"BitStation","BST":"BitStone","SWIFT":"BitSwift","BXT":"BitTokens","BTT":"BitTorrent","TUBE":"BitTube","VEG":"BitVegan","VOLT":"BitVolt","BTW":"BitWhite","ZNY":"BitZeny","XBOND":"Bitacium","BTCA":"Bitair","BAC":"BitalphaCoin","BB1":"Bitbond","BOSE":"Bitbose","BTMG":"Bitcademy Football","BTD":"Bitcloud","BTDX":"Bitcloud 2.0","BTCN":"BitcoiNote","B2G":"Bitcoiin2Gen","BCA":"Bitcoin Atom","CDY":"Bitcoin Candy","BCH":"Bitcoin Cash","BTCC":"Bitcoin Core","BCD":"Bitcoin Diamond","BTG":"Bitcoin Gold","BITG":"Bitcoin Green","BTCH":"Bitcoin Hush","XBI":"Bitcoin Incognito","BCI":"Bitcoin Interest","BTPL":"Bitcoin Planet","BTCP":"Bitcoin Private","BTCRED":"Bitcoin Red","BCR*":"Bitcoin Royal","BSV":"Bitcoin SV","BTCS":"Bitcoin Scrypt","BT2":"Bitcoin SegWit2X","BTCS*":"Bitcoin Supreme","BTCD":"BitcoinDark","BTCE*":"BitcoinEX","BCF":"BitcoinFast","BIFI":"BitcoinFile","BTF*":"BitcoinFor","BTCGO":"BitcoinGo","XBC":"BitcoinPlus","BWS":"BitcoinWSpectrum","BCX*":"BitcoinX","BTCZ":"BitcoinZ","BTCUS":"Bitcoinus","BM*":"Bitcomo","BTX":"Bitcore","DARX":"Bitdaric","BDL":"Bitdeal","XBX":"BiteX","BT1":"Bitfinex Bitcoin Future","BTR":"Bither","BTH":"Bithereum","KAN":"Bitkan","BTCL*":"BitluckCoin","BIM":"BitminerCoin","BMXT":"Bitmxittz","XPAT":"Bitnation Pangea","BQ":"Bitqy","BRO":"Bitradio","BTL":"Bitrolium","BITSD":"Bits Digit","BINS":"Bitsense","BTS":"Bitshares","BSX":"Bitspace","XBS":"Bitstake","BITS":"BitstarCoin","BITS*":"Bitswift","BWT":"Bittwatt","BTV":"Bitvote","BWT2":"Bitwin 2.0","BITZ":"Bitz Coin","BTZ":"BitzCoin","BTZN":"Bitzon","BXM":"Bixtrim","BZKY":"Bizkey","XBP":"Black Pearl Coin","BLK":"BlackCoin","BS":"BlackShadowCoin","BBOS":"Blackbox Foundation","BHC*":"BlackholeCoin","BMC":"Blackmoon Crypto","BSTAR":"Blackstar","BBTC":"BlakeBitcoin","BLC":"BlakeCoin","BLAS":"BlakeStar","BLAZR":"BlazerCoin","BLKD":"Blinked","BLITZ":"BlitzCoin","XBP*":"BlitzPredict","ARY":"Block Array","BLTG":"Block-Logic","BCAT":"BlockCAT","BCDN":"BlockCDN","LNC":"BlockLancer","BCPT":"BlockMason Credit Protocol","BMH":"BlockMesh","BLOCK":"BlockNet","BLOCKPAY":"BlockPay","BPL":"BlockPool","BCAP":"Blockchain Capital","BCDT":"Blockchain Certified Data Token","BLX":"Blockchain Index","BCT":"Blockchain Terminal","BTF":"Blockchain Traded Fund","BCIO":"Blockchain.io","PASS":"Blockpass","BPT":"Blockport","CCC*":"Blockshipping","TIX":"Blocktix","BKT":"Blocktrade token","BLV":"Blockvest","BNTN":"Blocnation","CYS":"BlooCYS","BLT":"Bloom Token","CDT":"Blox","BLU":"BlueCoin","BDR":"BlueDragon","BLZ":"Bluzelle","BNX":"BnrtxCoin","BOT":"Bodhi","BOE":"Bodhi","BOG":"Bogcoin","BOLD":"Bold","BLN*":"Bolenum","BOLI":"BolivarCoin","BOLTT":"BolttCoin","BOMB":"BombCoin","BONA":"Bonafi","BON*":"BonesCoin","BON":"Bonpay","BBR":"Boolberry","BOST":"BoostCoin","BMG":"Borneo","BOSON":"BosonCoin","BOS*":"Bostoken","BOTC":"BotChain","CAP":"BottleCaps","BTO":"Bottos","BOU":"Boulle","BNTE":"Bountie","XBTY":"Bounty","BNTY":"Bounty0x","BOUTS":"BoutsPro","AHT*":"Bowhead Health","BSC":"BowsCoin","BOXY":"BoxyCoin","IMPCN":"Brain Space","BRAIN":"BrainCoin","BRAZ":"Brazio","BRD":"Bread token","BRX":"Breakout Stake","BRK":"BreakoutCoin","BRIA":"Briacoin","XBB":"BrickBlock","BCO":"BridgeCoin","BRC":"BrightCoin","BRIK":"BrikBit","BRIT":"BritCoin","BRNX":"Bronix","BXC":"BtcEX","BUBO":"Budbo","BUD":"Buddy","BGL":"Buglab","BT":"BuildTeam","BULLS":"BullshitCoin","BWK":"Bulwark","BUN":"BunnyCoin","BURST":"BurstCoin","BUZZ":"BuzzCoin","BYC":"ByteCent","BTE":"ByteCoin","BCN":"ByteCoin","GBYTE":"Byteball","BYTHER":"Bytether","BTM*":"Bytom","XCT":"C-Bits","C25":"C25 Coin","CAIx":"CAIx","CBD":"CBD Crystals","CCC":"CCCoin","CDRX":"CDRX","CDX":"CDX Network","CEDEX":"CEDEX Coin","CEEK":"CEEK Smart VR Token","CETI":"CETUS Coin","CHIPS":"CHIPS","CIC":"CIChain","CINX":"CINDX","CINNI":"CINNICOIN","CLAM":"CLAMS","CO2":"CO2 Token","CMS":"COMSA","CNCT":"CONNECT","CPY":"COPYTRACK","COSS":"COSS","COTI":"COTI","CPC*":"CPChain","MLS":"CPROP","CPROP":"CPROP","CRWD":"CRWD Network","CMZ":"CRYPTOMAGZ","CRS*":"CRYSTALS","CYBR":"CYBR","CAB":"CabbageUnit","CHE":"Cache","CACH":"Cachecoin","CF":"Californium","CALC":"CaliphCoin","CLO":"Callisto Network","CAM":"Camcoin","CMPCO":"CampusCoin","CAN":"CanYaCoin","CND*":"Canada eCoin","CDN":"Canada eCoin","CAND":"Canlead","CCN":"CannaCoin","XCI":"Cannabis Industry Coin","CANN":"CannabisCoin","CNAB":"Cannabium","CAPP":"Cappasity","CPC":"CapriCoin","CAR":"CarBlock","CTX":"CarTaxi","CV":"CarVertical","CARAT":"Carats Token","CUSD":"Carbon","CARBON":"Carboncoin","ADA":"Cardano","CARD":"Cardstack","CARE*":"Care Token","CARE":"Carebit","CRGO":"CargoCoin","TICS":"CargoConX","CXO":"CargoX","DIEM":"CarpeDiemCoin","CTC":"CarterCoin","CNBC":"Cash & Back Coin","CASH*":"Cash Poker Pro","CBC*":"CashBagCoin","CBC":"CashBet Coin","CASH":"CashCoin","CSH":"CashOut","CAS":"Cashaa","CSC":"CasinoCoin","CST":"Casper API","CSP":"Caspian","CSTL":"Castle","CAT":"Catcoin","CATT":"Catex","CVTC":"CavatCoin","CAV":"Caviar","CCO":"Ccore","CEL":"Celsius Network","CTR":"Centra","CENNZ":"Centrality Token","CNT":"Centurion","CBS":"Cerberus","XCE":"Cerium","CHC":"ChainCoin","LINK":"ChainLink","ZILLA":"ChainZilla","CHX":"Chainium","CHAN":"ChanCoin","CAG":"Change","CHA":"Charity Coin","CHARM":"Charm Coin","CXC":"CheckCoin","CHK":"Chek","CHESS":"ChessCoin","CHILD":"ChildCoin","CNC":"ChinaCoin","CHIP":"Chip","CHOOF":"ChoofCoin","DAY":"Chronologic","CRX":"ChronosCoin","CHW":"Chrysalis Coin","CLPX":"Chynge.net","CIN":"CinderCoin","CND":"Cindicator","CIR":"CircuitCoin","COVAL":"Circuits of Value","CTL":"Citadel","CTW":"Citowise","CVC":"Civic","CLRTY":"Clarity","CAID":"ClearAid","XCLR":"ClearCoin","POLL":"ClearPoll","CLV":"CleverCoin","CHASH":"CleverHash","CLICK":"Clickcoin","CLIN":"Clinicoin","CLINT":"Clinton","CCCX":"Clipper Coin Capital","CLOAK":"CloakCoin","CKC":"Clockcoin","CLD":"Cloud","CLOUT":"Clout","CLDX":"Cloverdex","CLUD":"CludCoin","COE":"CoEval","COT":"CoTrader","COVEX":"CoVEX","COB":"Cobinhood","COX":"CobraCoin","CTT":"CodeTract","CFC":"CoffeeCoin","CFI":"Cofound.it","COGEN":"Cogenero","COGS":"Cogmento","COG":"Cognitio","COIN*":"Coin","COY":"Coin Analyst","XMG":"Coin Magi","BTTF":"Coin to the Future","C2":"Coin.2","CONI":"CoinBene","CET":"CoinEx token","COFI":"CoinFi","XCJ":"CoinJob","CL":"CoinLancer","LION":"CoinLion","MEE":"CoinMeet","MEET":"CoinMeet","XCM":"CoinMetro","CPL":"CoinPlace Token","CHP":"CoinPoker Token","CPEX":"CoinPulseToken","CCH":"Coinchase","DAILY":"Coindaily","CGT":"Coingrid","CTIC":"Coinmatic","COI":"Coinnec","CNO":"Coino","CNMT":"Coinomat","CXT":"Coinonat","XCXT":"CoinonatX","TCJ":"Coinshare","CEN":"Coinsuper Ecosystem Network","COIN":"Coinvest","CWT":"Coinware","CXG":"Coinxes","COLX":"ColossusCoinXT","CLN":"Colu Local Network","CBP":"ComBox","CMTC":"CometCoin","CBT":"CommerceBlock Token","CMM":"Commercium","COMM":"Community Coin","COC":"Community Coin","CMP":"Compcoin","COMP":"Compound Coin","CPN":"CompuCoin","CYC":"ConSpiracy Coin","CNL":"ConcealCoin","RAIN":"Condensate","CFD":"Confido","CJR":"Conjure","CJT":"ConnectJob Token","CTY":"Connecty","CQST":"ConquestCoin","SEN*":"Consensus","DAG":"Constellation","CNN":"Content Neutrality Network","CAN*":"Content and AD Network","BOX":"ContentBox","COS":"Contentos","CUZ":"Cool Cousin","COOL":"CoolCoin","CCX":"CoolDarkCoin","XCPO":"Copico","CLR":"CopperLark","CORAL":"CoralPay","CORE":"Core Group Asset","COR":"Corion","CTXC":"Cortex","COSX":"Cosmecoin","CSMIC":"Cosmic","CMOS":"Cosmo","COSM":"CosmoChain","ATOM*":"Cosmos","CMC":"CosmosCoin","COU":"Couchain","XCP":"CounterParty","CHT":"Countinghouse Fund","COV*":"CovenCoin","COV":"Covesting","CPLO":"Cpollo","CRAB":"CrabCoin","CRACK":"CrackCoin","CRAFT":"Craftcoin","CFTY":"Crafty","CRAIG":"CraigsCoin","CRNK":"CrankCoin","CRAVE*":"Crave-NG","CRAVE":"CraveCoin","CRV":"Cravy","CZC":"Crazy Coin","CRM":"Cream","XCRE":"Creatio","CREA":"CreativeChain","CRDNC":"Credence Coin","PESA":"Credible","CREDIT":"Credit","CRB":"Creditbit","CRE*":"Creditcoin","CCOIN":"Creditcoin","CDPT":"Creditor Data Platform","CRE":"Credits","CRDS":"Credits","CS*":"Credits","CFT*":"Credo","CREDO":"Credo","CREVA":"Creva Coin","CROAT":"Croat","CMCT":"Crowd Machine","CRC***":"CrowdCoin","CCOS":"CrowdCoinage","CRF":"CrowdForce","CDP":"CrowdPrecision","YUP":"Crowdholding","WIZ":"Crowdwiz","CRW":"Crown Coin","CRC**":"CryCash","IPT":"Crypt-ON","CRYPT":"CryptCoin","CPT":"Cryptaur","CRL":"Cryptelo Coin","CRPT":"Crypterium","XCR":"Crypti","CRYP":"CrypticCoin","QRP":"Cryptics","CTO":"Crypto","ANGEL":"Crypto Angel","CESC":"Crypto Escudo","CIF":"Crypto Improvement Fund","CSPN":"Crypto Sports","TKT":"Crypto Tickets","CWEX":"Crypto Wine Exchange","CWIS":"Crypto Wisdom Coin","CWX":"Crypto-X","MCO":"Crypto.com","CRO":"Crypto.com Chain Token","C20":"Crypto20","CABS":"CryptoABS","BUK":"CryptoBuk","CBX":"CryptoBullion","CCRB":"CryptoCarbon","CIRC":"CryptoCircuits","FCS":"CryptoFocus","CFT":"CryptoForecast","CHBR":"CryptoHub","TKR":"CryptoInsight","CJ":"CryptoJacks","CJC":"CryptoJournal","LEU":"CryptoLEU","CPAY":"CryptoPay","CRPS":"CryptoPennies","PING":"CryptoPing","CP":"CryptoProfile","CREV":"CryptoRevolution","CR":"CryptoRiyal","CS":"CryptoSpots","CWV":"CryptoWave","CWXT":"CryptoWorldXToken","CRON":"Cryptocean","CCIN":"Cryptocoin Insurance","CDX*":"Cryptodex","CGA":"Cryptographic Anomaly","CIX100":"Cryptoindex","CYT":"Cryptokenz","CIX":"Cryptonetix","CNX":"Cryptonex","XCN":"Cryptonite","CEFS":"CryptopiaFeeShares","CRS":"Cryptoreal","CXA":"CryptovationX","OXY2":"Cryptoxygen","MN":"Cryptsy Mining Contract","POINTS":"Cryptsy Points","CRTM":"Cryptum","CVCOIN":"Crypviser","CCT":"Crystal Clear Token","AUTO":"Cube","QBT":"Cubits","CUR":"Cura Network","CTKN":"Curaizon","CURE":"Curecoin","CRU":"Curium","CBUK":"CurveBlock","CHFT":"CustomCoin","CCL":"CyClean","XCS":"CybCSec Coin","CCI":"Cyber Capital Invest","CC":"CyberCoin","CMT":"CyberMiles","CABS*":"CyberTrust","CVT":"CyberVein","CRE**":"Cybereits Token","CYDER":"Cyder Coin","CYG":"Cygnus","CYP":"CypherPunkCoin","FUNK":"Cypherfunks Coin","CYRS":"Cyrus Token","DACH":"DACH Coin","DAC":"DACash","DADI":"DADI","DAX":"DAEX","BET*":"DAO.casino","GEN*":"DAOstack","DAPS":"DAPS Token","DAS":"DAS","DATX":"DATx","DAV*":"DAV","DRP":"DCORP","DEEX":"DEEX","CET*":"DICE Money","DIM":"DIMCOIN","DIW":"DIWtoken","DMT":"DMarket","DNTX":"DNAtix","DNN":"DNN Token","MTC":"DOCADEMIC","DOV":"DOVU","DREAM*":"DREAM","DRPU":"DRP Utility","DRACO":"DT Token","DYNO":"DYNO","DAI":"Dai","DAN":"Daneel","DXC*":"Daox","DAR":"Darcrus","PROD":"Darenta","DEC":"Darico","DARK":"Dark","DISK":"Dark Lisk","MOOND":"Dark Moon","DB":"DarkBit","DRKC":"DarkCash","DCC":"DarkCrave","DETH":"DarkEther","DGDC":"DarkGold","DKC":"DarkKnightCoin","DANK":"DarkKush","DSB":"DarkShibe","DT":"DarkToken","DRKT":"DarkTron","DNET":"Darknet","DASC":"DasCoin","DASH":"Dash","DSH":"Dashcoin","DTA":"Data","DTT*":"Data Trading","DTX":"DataBroker DAO","DXT":"DataWallet","DTB":"Databits","DBCCOIN":"Datablockchain","DTC*":"Datacoin","XDT":"Dataeum","DTN":"Datareum","DTRC":"Datarius","DAT":"Datum","DAV":"DavorCoin","DAXX":"DaxxCoin","DTC":"DayTrader Coin","DAYTA":"Dayta","DHT":"DeHedge Token","DNET*":"DeNet","XNA":"DeOxyRibose","DBC*":"Debit Coin","DBTC":"DebitCoin","DEB":"Debitum Token","DCT":"Decent","DBET":"Decent.bet","MANA":"Decentraland","DACC":"Decentralized Accessible Content Chain","DML":"Decentralized Machine Learning","DUBI":"Decentralized Universal Basic Income","HST":"Decision Token","DCR":"Decred","DEEP":"Deep Gold","DBC":"DeepBrain Chain","ONION":"DeepOnion","DEA":"Degas Coin","DEI":"Deimos","DKD":"Dekado","DEL":"DelChain","DPAY":"DelightPay","DPT":"Deliverers Power Token","DPY":"Delphy","DLXV":"Delta-X","DCRE":"DeltaCredits","DNR":"Denarius","DNO":"Denaro","DENT":"Dent","DCN":"Dentacoin","DFBT":"DentalFix","DEPO":"Depository Network","DERO":"Dero","DESI":"Desico","DSR":"Desire","DES":"Destiny","DTCT":"DetectorToken","DTH":"Dether","DVC":"DevCoin","EVE":"Devery","DEV":"Deviant Coin","DXG":"DexAge","DMD":"Diamond","DCK":"DickCoin","DIGS":"Diggits","DGB":"DigiByte","DGC":"DigiCoin","CUBE":"DigiCube","DEUR":"DigiEuro","DIGIF":"DigiFel","DFXT":"DigiFinexToken","DGM":"DigiMoney","DGPT":"DigiPulse","DGMS":"Digigems","DAGT":"Digital Asset Guarantee Token","DPP":"Digital Assets Power Play","DBG":"Digital Bullion Gold","DDF":"Digital Developers Fund","DFS":"Digital Fantasy Sports","TMTG":"Digital Gold Exchange","DRS":"Digital Rupees","XDN":"DigitalNote","DP":"DigitalPrice","DGTX":"Digitex Futures","WAGE":"Digiwage","DGD":"Digix DAO","DGX":"Digix Gold token","DIG":"Dignity","DIME":"DimeCoin","DCY":"Dinastycoin","DIN":"Dinero","XDQ":"Dirac Coin","DIS":"DiscoveryIoT","DCC*":"Distributed Credit Chain","DIT":"Ditcoin","DIVX":"Divi Exchange Token","DIVI":"Divi Project","DTC**":"DivotyCoin","DXC":"DixiCoin","DLISK":"Dlisk","NOTE":"Dnotes","DOC":"Doc Coin","NRN":"Doc.ai Neuron","DOCK":"Dock.io","DOGED":"DogeCoinDark","DGORE":"DogeGoreCoin","XDP":"DogeParty","DOGE":"Dogecoin","DLA":"Dolla","DT1":"Dollar Token 1","DLC":"DollarCoin","DLR":"DollarOnline","DRT":"DomRaider","DON":"DonationCoin","DDL":"Donocle","DOPE":"DopeCoin","DOR":"Dorado","DOT":"Dotcoin","BOAT":"Doubloon","Dow":"DowCoin","DRA":"DraculaCoin","DFT":"Draftcoin","DRG":"Dragon Coin","XDB":"DragonSphere","DRGN":"Dragonchain","DRM8":"Dream8Coin","DREAM":"DreamTeam Token","DRF":"Drife","DRZ":"Droidz","DRC":"Dropcoin","DROP":"Dropil","DRXNE":"Droxne","DUB":"DubCoin","DBIC":"DubaiCoin","DBIX":"DubaiCoin","DUCK":"DuckDuckCoin","DUSK":"Dusk Network","DUTCH":"Dutch Coin","DUX":"DuxCoin","DYC":"Dycoin","DYN":"Dynamic","DTR":"Dynamic Trading Rights","DYNCOIN":"Dyncoin","DTEM":"Dystem","DBR":"Düber","ECC*":"E-CurrencyCoin","EDR":"E-Dinar Coin","EFL":"E-Gulden","EB3":"EB3coin","EBC":"EBCoin","ECC":"ECC","OMI":"ECOMI","ECO":"ECOcoin","EDRC":"EDRCoin","EGO":"EGOcoin","EJAC":"EJA Coin","ELTCOIN":"ELTCOIN","EMANATE":"EMANATE","EMX":"EMX","ET":"ENDO","ENTRC":"ENTER COIN","ENTRY":"ENTRY","EOT*":"EON","EOS":"EOS","EPIK":"EPIK Token","EQL":"EQUAL","EQ":"EQUI","EQUI":"EQUI Token","ERB":"ERBCoin","EST":"ESports Chain","XBASE":"ETERBASE","ETS":"ETH Share","ERA":"ETHA","ETHO":"ETHER-1","EGAS":"ETHGAS","EUNO":"EUNO","EVOS":"EVOS","EXMR":"EXMR","EXRN":"EXRNchain","ETE":"EXTRADECOIN","EYE":"EYE Token","EZX":"EZ Exchange","EZC":"EZCoin","EZM":"EZMarket","EZT":"EZToken","EA":"EagleCoin","EAGS":"EagsCoin","EARTH":"Earth Token","EAC":"EarthCoin","EGDC":"EasyGuide","EMT":"EasyMine","ETKN":"EasyToken","EBZ":"Ebitz","EBS":"EbolaShare","EKO":"EchoLink","EC":"Eclipse","ECOB":"EcoBit","ECR":"EcoVerse","EDDIE":"Eddie coin","EDN":"EdenChain","EDGE":"EdgeCoin","EDG":"Edgeless","EDU":"EduCoin","LEDU":"Education Ecosystem","EDC":"EducoinV","EGG":"EggCoin","EGT":"Egretia","EDO":"Eidoo","EMC2":"Einsteinium","ELC":"Elacoin","XEL":"Elastic","ELA":"Elastos","ECA":"Electra","ELEC":"Electrify.Asia","ELT":"Electron","ETN":"Electroneum","EKN":"Elektron","ELE":"Elementrem","ELM":"Elements","ELES":"Elements Estates","ELI*":"Elicoin","ELI":"Eligma","ELIX":"Elixir","ELLA":"Ellaism","ELP":"Ellerium","ELLI":"ElliotCoin","ELY":"Elysian","ELS":"Elysium","AEC*":"EmaratCoin","EMB":"EmberCoin","MBRS":"Embers","EMD":"Emerald","EMC":"Emercoin","EMN":"Eminent Token","EMIGR":"EmiratesGoldCoin","EPY*":"Emphy","PLEO":"Empleos","EMPC":"EmporiumCoin","EPY":"Empyrean","ENCX":"Encrybit","DNA":"EncrypGen","ETT":"EncryptoTel","ENCN":"EndChain","EDR*":"Endor Protocol Token","ENE":"EneCoin","ENQ":"Enecuum","NRG":"Energi","ETK":"Energi Token","TSL":"Energo","ENRG":"EnergyCoin","ENGT":"Engagement Token","EGCC":"Engine","XNG":"Enigma","ENG":"Enigma","ENJ":"Enjin Coin","ENK":"Enkidu","ENTER":"EnterCoin (ENTER)","ENTRP":"Entropy Token","ENU":"Enumivo","ENV":"Envienta","EVN":"Envion","NVOY":"Envoy","ZYM":"Enzym","EQUAL":"EqualCoin","EQT":"EquiTrader","EQB":"Equibit","EQM":"Equilibrium Coin","EQY":"Eqwity","ERE":"Erecoin","EFYT":"Ergo","ERT*":"Eristica","ERO":"Eroscoin","ERR":"ErrorCoin","ERY":"Eryllium","ESP":"Espers","ERT":"Esports.com","ESS":"Essentia","ETALON":"Etalon","XEC":"Eternal Coin","XET":"Eternal Token","ETT*":"Eternal Trusts","ENT":"Eternity","EBET":"EthBet","ETBS":"EthBits","LEND":"EthLend","HEAL":"Etheal","ETHB":"EtherBTC","EDT":"EtherDelta","DOGETH":"EtherDoge","ETI":"EtherInc","ETL":"EtherLite","ESZ":"EtherSportz","ETZ":"EtherZero","ECH":"EthereCash","ETH":"Ethereum","ETBT":"Ethereum Black","BLUE":"Ethereum Blue","ECASH":"Ethereum Cash","ETC":"Ethereum Classic","ETHD":"Ethereum Dark","ETG":"Ethereum Gold","ETHM":"Ethereum Meta","EMV":"Ethereum Movie Venture","ETHPR":"Ethereum Premium","EQC":"Ethereum Qchain Token","LNK":"Ethereum.Link","BTCE":"EthereumBitcoin","ETF":"EthereumFog","ELITE":"EthereumLite","ETHS":"EthereumScrypt","DIP":"Etherisc","RIYA":"Etheriya","DICE":"Etheroll","FUEL":"Etherparty","ESN":"Ethersocial","ESC":"Ethersportcoin","NEC*":"Ethfinex Nectar Token","ETHIX":"EthicHub","HORSE":"Ethorse","ETHOS":"Ethos","ET4":"Eticket4","EUC":"Eurocoin","ECTE":"EurocoinToken","ERC":"EuropeCoin","EVN*":"EvenCoin","EVENT":"Event Token","EVC":"Eventchain","EGC":"EverGreenCoin","EVER":"EverLife.AI","EVX":"Everex","IQ":"Everipedia","EVR":"Everus","EOC":"EveryonesCoin","EVIL":"EvilCoin","EXB":"ExaByte (EXB)","XUC":"Exchange Union","EXCC":"ExchangeCoin","EXN":"ExchangeN","EXCL":"Exclusive Coin","EXE":"ExeCoin","XNT":"Exenium","EXC":"Eximchain","EXIT":"ExitCoin","EXO":"Exosis","EXP":"Expanse","EXPR":"Expercoin","XP":"Experience Points","EXT*":"Experience Token","EXY":"Experty","EON":"Exscudo","TAURI":"Extauri","EXTN":"Extensive Coin","XTRA":"ExtraCredit","ELT*":"ExtraLovers","XSB":"Extreme Sportsbook","XT":"ExtremeCoin","F16":"F16Coin","FARM":"FARM Coin","FX":"FCoin","FIBRE":"FIBRE","eFIC":"FIC Network","FLASH":"FLASH coin","FLIK":"FLiK","FLM":"FOLM coin","FOREX":"FOREXCOIN","FRED":"FREDEnergy","FREE":"FREE coin","FXP":"FXPay","FABA":"Faba Invest","FT":"Fabric Token","FC":"Facecoin","FACE":"Faceter","FTR":"FactR","FCT":"Factoids","FAIR":"FairCoin","FAIR*":"FairGame","FAIRC":"Faireum Token","FAME":"FameCoin","FAN":"Fan360","FANZ":"FanChain","XFT":"Fantasy Cash","FTM":"Fantom","FCN":"FantomCoin","FRD":"Farad","F2K":"Farm2Kitchen","FTT":"FarmaTrust","FST":"FastCoin","FTUM":"Fatum","DROP*":"FaucetCoin","FAZZ":"FazzCoin","FTC":"FeatherCoin","TIPS":"FedoraCoin","FET":"Fetch.AI","FIH":"Fidelity House","FLC":"Fieldcoin","FIII":"Fiii","FIL":"FileCoin","FFM":"Files.fm Library","FILL":"Fillit","FNTB":"FinTab","FNX":"FinanceX","FIND":"FindCoin","FNL":"Finlocale","FIN":"Finom FIN Token","NOM":"Finom NOM Token","FTX":"FintruX","FIRE":"FireCoin","FLOT":"FireLotto","FRC":"FireRoosterCoin","FFC":"FireflyCoin","1ST":"FirstBlood","FIRST":"FirstCoin","FRST":"FirstCoin","FIST":"FistBump","FIT":"Fitcoin","FRV":"Fitrova","FLAP":"Flappy Coin","FLX":"Flash","FLVR":"FlavorCoin","FNP":"FlipNpik","FLIXX":"Flixxo","FLO":"Flo","FLT":"FlutterCoin","FLUZ":"FluzFluz","FLY":"FlyCoin","FYP":"FlypMe","FOAM":"Foam","FLDC":"Folding Coin","FLLW":"Follow Coin","FNO":"Fonero","FONZ":"FonzieCoin","FOOD":"FoodCoin","FOPA":"Fopacoin","FOR":"Force Coin","XFC":"Forever Coin","FML":"FormulA","FFCT":"FortFC","FOTA":"Fortuna","FSBT":"Forty Seven Bank","FOXT":"Fox Trading","FRAC":"FractalCoin","FRN":"Francs","FRK":"Franko","FRWC":"Frankywillcoin","FRAZ":"FrazCoin","FGZ":"Free Game Zone","FRE":"FreeCoin","FRECN":"Freldo","FREC":"Freyrchain","FSC":"FriendshipCoin","FDZ":"Friendz","FUCK":"Fuck Token","FC2":"Fuel2Coin","FJC":"FujiCoin","NTO":"Fujinto","FLS":"Fuloos Coin","FUNC":"FunCoin","FUN":"FunFair","FUND":"Fund Platform","FUNDZ":"FundFantasy","FND":"FundRequest","FYN":"FundYourselfNow","ATON":"Further Network","FSN*":"Fusion","FSN":"Fusion","FUTC":"FutCoin","FTRC":"FutureCoin","FTP":"FuturePoints","FTW":"FutureWorks","FPC":"Futurepia","FTO":"FuturoCoin","FXT":"FuzeX","FUZZ":"Fuzzballs","GAIA":"GAIA Platform","GAKH":"GAKHcoin","GTX":"GALLACTIC","GMB":"GAMB","GAT":"GATCOIN","GBRC":"GBR Coin","GGR":"GGRocket","GTO":"GIFTO","GIN":"GINcoin","GIZ":"GIZMOcoin","GMC*":"GMC Coin","GPU":"GPU Coin","GSM":"GSM Coin","GXS":"GXChain","GBO":"Gabro.io","GEP":"Gaia","GNR":"Gainer","ORE":"Galactrum","GES":"Galaxy eSolutions","GLX":"GalaxyCoin","GALI":"Galilel","GLN":"Galion Token","GAM":"Gambit coin","GMCN":"GambleCoin","GTC":"Game","GXT":"Game Protocol","GBT":"GameBetCoin","GML":"GameLeagueCoin","GST":"GameStars","UNITS":"GameUnits","GX":"GameX","GAME":"Gamecredits","GDX":"Gamedex","FLP":"Gameflip","GNJ":"GanjaCoin V2","GAP":"Gapcoin","GRLC":"Garlicoin","GAS":"Gas","FORK":"Gastro Advisor Token","GBA":"Geeba","GEMA":"Gemera","GUSD":"Gemini Dollar","GEM":"Gems","GMS":"Gemstra","GEMZ":"Gemz Social","GXC*":"GenXCoin","GNX":"Genaro Network","GENX":"Genesis Network","GVT":"Genesis Vision","XGS":"GenesisX","GSY":"GenesysCoin","GEN":"Genstake","GEO":"GeoCoin","GUNS":"GeoFunders","GEON":"Geon","GER":"GermanCoin","SPKTR":"Ghost Coin","GHC":"GhostCoin","GHOUL":"Ghoul Coin","GIC":"Giant","GIFT":"GiftNet","GFT":"Giftcoin","GIG":"GigCoin","GBTC":"GigTricks","WTT":"Giga Watt","GZB":"Gigzi","GGS":"Gilgam","GIM":"Gimli","GMR":"Gimmer","GGC":"Gingr","GOT":"Giotto Coin","GIVE":"GiveCoin","GLA":"Gladius","GLOBE":"Global","GCR":"Global Currency Reserve","GJC":"Global Jobcoin","GSC":"Global Social Chain","GTC*":"Global Tour Coin","GTIB":"Global Trust Coin","BSTY":"GlobalBoost","GLC":"GlobalCoin","GLT":"GlobalToken","GVE":"Globalvillage Ecosystem","GSI":"Globex SCI","GBXT":"Globitex Token","GSX":"GlowShares","GLYPH":"GlyphCoin","GNO":"Gnosis","xGOx":"Go!","GBX":"GoByte","GO":"GoChain","GOT*":"GoToken","GOA":"GoaCoin","GOAL":"Goal Bonanza","GOAT":"Goat","GBE":"Godbex","GDL":"GodlyCoin","XR":"Gofind XR","GPL":"Gold Pressed Latinum","GRX":"Gold Reward Token","GB":"GoldBlocks","GLD":"GoldCoin","MNTP":"GoldMint","GP":"GoldPieces","XGR":"GoldReserve","GMA":"Goldchip Mining Asset","GEA":"Goldea","XGH":"Golden Hash","XGB":"GoldenBird","GLDR":"Golder Coin","GMX":"Goldmaxcoin","GNT":"Golem Network Token","GOLF":"GolfCoin","GOLOS":"Golos","GBG":"Golos Gold","GOOD":"GoodCoin","GOOD*":"Goodomy","GOON":"Goonies","BUCKS*":"GorillaBucks","GOTX":"GothicCoin","GRFT":"Graft Blockchain","GDC":"GrandCoin","GAI":"GraphGrail AI","77G":"GraphenTech","GRAV":"Graviton","GBIT":"GravityBit","WPP":"Green Energy Token","GRE":"GreenCoin","GRMD":"GreenMed","GEX":"GreenX","GNC":"Greencoin","GTN":"Greentoken","GREXIT":"GrexitCoin","GC":"Gric Coin","GRID":"Grid+","GRC":"GridCoin","GRM":"GridMaster","GMC":"Gridmaster","GRIN":"Grin","GRS":"Groestlcoin","GRO":"Gron Digital","GRWI":"Growers International","GROW":"GrownCoin","GRW":"GrowthCoin","GTR":"Gturbo","GET":"Guaranteed Entrance Token","GETX":"Guaranteed Ethurance Token Extra","GUAR":"Guarium","GCC":"GuccioneCoin","GUE":"GuerillaCoin","NLG":"Gulden","GUN":"GunCoin","GUP":"Guppy","GXC":"Gx Coin","HIDU":"H-Education World","HART":"HARA","HBZ":"HBZ Coin","HIX":"HELIX Orange","HELL":"HELL COIN","HRO":"HEROIC.com","PLAY":"HEROcoin","HOLD":"HOLD","HLDY":"HOLIDAY","HQX":"HOQU","HODL":"HOdlcoin","HTML":"HTML Coin","HTML5":"HTML5 Coin","HUS":"HUSSY","HYC":"HYCON","HYGH":"HYGH","HKN":"Hacken","HKG":"Hacker Gold","HAC":"Hackspace Capital","HPAY":"HadePay","HLC":"Halal-Chain","HAL":"Halcyon","HALLO":"Halloween Coin","HALO":"Halo Platform","HMT":"Hamster Marketplace Token","HAMS":"HamsterCoin","HANA":"Hanacoin","HPC":"HappyCoin","HCC":"HappyCreatorCoin","HRBE":"Harambee Token","HRB":"Harbour DAO","HMN":"Harvest Masternode Coin","HSC":"HashCoin","HGS":"HashGains","HASH":"Hashbon","GARD":"Hashgard","XHV":"Haven Protocol","HAT":"Hawala.Exchange","HZT":"HazMatCoin","HAZE":"HazeCoin","HDAC":"Hdac","HHEM":"Healthureum","WORM":"HealthyWorm","HB":"HeartBout","HEAT":"Heat Ledger","HVC":"HeavyCoin","HDG":"Hedge Token","HEDG":"HedgeTrade","HEDGE":"Hedgecoin","HEEL":"HeelCoin","HYS":"Heiss Shares","HLM":"Helium","HLX":"Helix3","HNC":"Hellenic Coin","HGT":"Hello Gold","HMP":"HempCoin","HERB":"HerbCoin","HERO":"Hero","HER":"Hero Node","HETA":"HetaChain","HEX":"HexCoin","HXC":"HexanCoin","HXT":"HextraCoin","HXX":"HexxCoin","HMC":"Hi Mutual Society","XHI":"HiCoin","HIH":"HiHealth","HPB":"High Performance Blockchain","HVCO":"High Voltage Coin","AIMS":"HighCastle Token","HV":"HighVibe.Network","HGO":"HireGo","HIRE":"HireMatch","HFT":"Hirefreehands","HIT":"HitChain","HTC":"Hitcoin","HIVE":"Hive","HVN":"Hiveterminal Token","HBN":"HoboNickels","HWC":"HollyWoodCoin","HOT*":"Holo","HBC":"HomeBlockCoin","HMD":"Homelend","HONEY":"Honey","HZ":"Horizon","HSP":"Horse Power","HORUS":"HorusPay","HYT":"HoryouToken","HSR":"Hshare","HBT":"Hubii Network","HMQ":"Humaniq","HNC*":"Huncoin","HUC":"HunterCoin","HT":"Huobi Token","HUR":"Hurify","HUSH":"Hush","HOT":"Hydro Protocol","HYDRO":"Hydrogen","H2O":"Hydrominer","H3O":"Hydrominer","HC":"HyperCash","HYPER":"HyperCoin","HLD":"HyperLending","HQT":"HyperQuant","HBX":"Hyperbridge","TREE":"HyperionX","HPSP":"Hyperspace","HYP":"Hyperstake","IHT":"I-House Token","I0C":"I0coin","IAG":"IAGON","IAM":"IAME Identity","ICASH":"ICASH","ICOO":"ICO OpenLedger","ICOS":"ICOBox","ICX":"ICON Project","ICST":"ICST","IDAC":"IDAC","IDAP":"IDAP","IDXM":"IDEX Membership","IDM":"IDM","IG":"IG Token","IGTT":"IGT","ILC":"ILCoin","ILCT":"ILCoin Token","IML":"IMMLA","ITR":"INTRO","IOC":"IOCoin","IOST":"IOS token","IOT":"IOTA","IOTW":"IOTW","IOUX":"IOU","IOU":"IOU1","IOV":"IOV","IPSX":"IP Exchange","IPC*":"IPChain","IQN":"IQeon","IRC":"IRONCOIN","IVN":"IVN Security","IXC":"IXcoin","IZX":"IZX","ROCK2":"Ice Rock Mining","ICB":"IceBergCoin","ICHX":"IceChain","ICOB":"Icobid","ICON":"Iconic","ICN":"Iconomi","IDC":"IdealCoin","IGNIS":"Ignis","IC":"Ignition","REX":"Imbrex","IMGZ":"Imigize","IMVR":"ImmVRse","IMX":"Impact","IMPCH":"Impeach","IPC":"ImperialCoin","XIM":"Impresso","IMPS":"Impulse Coin","IN":"InCoin","INX":"InMax","NKA":"IncaKoin","INCNT":"Incent","INCP":"InceptionCoin","INC":"Incrementum","IDH":"IndaHash","IMS":"Independent Money System","ERC20":"Index ERC20","INDI":"IndiCoin","IND":"Indorse","IFX":"Infinex","IFC":"Infinite Coin","XIN":"Infinity Economics","INF8":"Infinium-8","IFLT":"InflationCoin","IFUM":"Infleum","INFLR":"Inflr","INTO":"Influ Token","INFX":"Influxcoin","INK":"Ink","XNK":"Ink Protocol","ILK":"Inlock","SOUND":"Inmusik","INN":"Innova","MINX":"InnovaMinex","INSN":"Insane Coin","INSANE":"InsaneCoin","WOLF":"Insanity Coin","INSTAR":"Insights Network","INS":"Insolar","ICC":"Insta Cash Coin","MINE":"Instamine Nuggets","SPON":"Instant Sponsor Token","INSUR":"InsurChain Coin","IPL":"InsurePal","ISR":"Insureum","IQB":"Intelligence Quotient Benefit","ITT":"Intelligent Trading","XID*":"International Diamond Coin","INT":"Internet Node Token","IOP":"Internet of People","INXT":"Internxt","ISH":"Interstellar Holdings","ITZ":"Interzone","ICT":"Intrachain","INV*":"Invacio","IDT":"InvestDigital","IFT":"InvestFeed","INVX":"Investx","IVC":"Investy Coin","INV":"Invictus","IHF":"Invictus Hyperion Fund","IVZ":"InvisibleCoin","INVOX":"Invox Finance","IZA":"Inzura","ITC":"IoT Chain","IOTX":"IoTeX Network","ION":"Ionomy","TLU":"Irene Energy","IRL":"IrishCoin","ISL":"IslaCoin","ITL":"Italian Lira","ITA":"Italocoin","ING":"Iungo","IEC":"IvugeoEvolutionCoin","IVY":"IvyKoin","IWT":"IwToken","J8T":"JET8","JEX":"JEX Token","JIO":"JIO Token","JOYS":"JOYS","JOY*":"JOYSO","JSE":"JSEcoin","JANE":"JaneCoin","JNS":"Janus","JVY":"Javvy","JC":"JesusCoin","JET":"Jetcoin","JWL":"Jewels","JIB":"Jibbit","JNT":"Jibrel Network Token","JIF":"JiffyCoin","JCR":"Jincor","JINN":"Jinn","JOBS":"JobsCoin","J":"JoinCoin","JOINT":"Joint Ventures","JOK":"JokerCoin","XJO":"JouleCoin","JOYT":"JoyToken","JOY":"Joycoin","JUDGE":"JudgeCoin","JBS":"JumBucks Coin","JUMP":"Jumpcoin","JKC":"JunkCoin","JMC":"Junson Ming Chan Coin","JDC":"JustDatingSite","KSYS":"K-Systems","KAAS":"KAASY.AI","KAT":"KATZcoin","KEC":"KEYCO","KIBIS":"KIBIS","TOS":"KRATOS","KRC":"KRCoin","KREDS":"KREDS","KUBO":"KUBO","KWH":"KWHCoin","KZC":"KZCash","KLKS":"Kalkulus","KAPU":"Kapu","KBC":"Karatgold coin","KRB":"Karbo","KRM":"Karma","KARMA":"Karma","K2G":"Kasko2go","KAYI":"Kayı","KCASH":"Kcash","KEK":"KekCoin","KEN":"Kencoin","KEP":"Kepler","KC":"Kernalcoin","KETAN":"Ketan","KEX":"KexCoin","KEY*":"KeyCoin","KMX":"KiMex","KICK":"KickCoin","KLC":"KiloCoin","KIN":"Kin","KIND":"Kind Ads","KVT":"Kinesis Velocity Token","KING":"King93","KNC**":"KingN Coin","MEOW":"Kittehcoin","KLK":"Klickzie","KED":"Klingon Empire Darsek","KDC":"Klondike Coin","KNW":"Knowledge","KOBO":"KoboCoin","KOLION":"Kolion","KMD":"Komodo","KORE":"Kore","KOTO":"Koto","KUSD":"Kowala","KRAK":"Kraken","KRONE":"Kronecoin","KSS":"Krosscoin","KGC":"KrugerCoin","KRL":"Kryll","KTK":"KryptCoin","KRP":"Kryptoin","KR":"Krypton","KBX":"KuBitX","KBR":"Kubera Coin","KUBOS":"KubosCoin","KCS":"Kucoin","KUE":"Kuende","KURT":"Kurrent","KUSH":"KushCoin","KUV":"Kuverit","KVT*":"Kvantor","KNC":"Kyber Network","LAX":"LAPO","LA":"LATOKEN","LBC":"LBRY Credits","LAO":"LC Token","LEO":"LEOcoin","LGBTQ":"LGBTQoin","LHC":"LHCoin","LIFE":"LIFE","LN":"LINK","LNKC":"LINKCHAIN","VEEN":"LIVEEN","LIPC":"LIpcoin","LTBC":"LTBCoin","LTO":"LTO Network","LUMA":"LUMA Token","LUX":"LUXCoin","LVX":"LVX","LYN":"LYNCHPIN Token","LALA":"LaLa World","LBR":"LaborCrypto","LAB":"Labrys","BAC*":"LakeBanker","TAU":"Lamden Tau","PIX":"Lampix","LANA":"LanaCoin","AXIS":"LaneAxis","LTH":"Lathaan","LAT":"Latium","LATX":"LatiumX","LAZ":"Lazarus","LEPEN":"LePenCoin","LEA":"LeaCoin","LDC":"LeadCoin","LEAF":"LeafCoin","LGD":"Legends Cryptocurrency","LGO":"Legolas Exchange","LELE":"Lelecoin","LEMON":"LemonCoin","LCT":"LendConnect","LND":"Lendingblock","LOAN":"Lendoit","LST":"Lendroid Support Token","LENIN":"LeninCoin","LIR":"Let it Ride","LTHN":"Lethean","LVL*":"LevelNet Token","LVG":"Leverage Coin","LEV":"Leverj","XLC":"LeviarCoin","LIB":"Libellum","XLB":"LibertyCoin","LBA":"Libra Credit","LXC":"LibrexCoin","LIGER":"Ligercoin","LSD":"LightSpeedCoin","LPC*":"Lightpaycoin","LIKE":"LikeCoin","LK":"Liker","LIMX":"LimeCoinX","LTD":"Limited Coin","LINDA":"Linda","LET":"LinkEye","LNC*":"Linker Coin","LINX":"Linx","LIPS":"LipChain","LEN":"Liqnet","LQD":"Liquid","LQ8":"Liquid8","LQDN":"Liquidity Network","LSK":"Lisk","LTCC":"Listerclassic Coin","LBTC":"LiteBitcoin","LTG":"LiteCoin Gold","LTCU":"LiteCoin Ultra","LCWP":"LiteCoinW Plus","LTCR":"LiteCreed","LDOGE":"LiteDoge","LTB":"Litebar","LTC":"Litecoin","LTCH":"Litecoin Cash","LCP":"Litecoin Plus","LCASH":"LitecoinCash","LCC":"LitecoinCash","LTCD":"LitecoinDark","LTCP":"LitecoinPro","LTCX":"LitecoinX","LTZ":"Litecoinz","LNT":"Litenett","LTS":"Litestar Coin","LIT":"Lithium","LITION":"Lition","LTA":"Litra","LPC":"Little Phil","LIVE":"Live Stars","LVN":"LivenPay","LPT":"Livepeer","LIV":"LiviaCoin","LIZ":"Lizus Payment","LTE":"Local Token Exchange","LWF":"Local World Forwarders","LCS":"LocalCoinSwap","LOCI":"LociCoin","LOC*":"LockTrip","LOC":"Loco","LGR":"Logarithm","LOKI":"Loki","LLG":"Loligo","LMC":"LomoCoin","LOOK":"LookCoin","LOOM":"Loom Network","LRC":"Loopring","LOT":"LottoCoin","LYK":"Loyakk Vega","LYL":"LoyalCoin","BASH":"LuckChain","LCK":"Luckbox","LK7":"Lucky7Coin","LUCKY":"LuckyBlocks","LKY":"LuckyCoin","LCR":"Lucre","LDM":"Ludum token","LNL":"LunarLink","LUN":"Lunyr","LC":"Lutetium Coin","LUX**":"Luxmi Coin","LYC":"LycanCoin","LDN":"Lydiancoin","LYFE":"Lyfe","LKK":"Lykke","LYM":"Lympo","LYNK":"Lynked.World","LYNX":"Lynx","LYB":"LyraBar","M2O":"M2O Token","MDN":"MADANA","MAKE":"MAKE","MRK":"MARK.SPACE","MCAP":"MCAP","MCV":"MCV Token","MTEL":"MEDoctor","MEETONE":"MEET.ONE","MFX":"MFChain","MIMI":"MIMI Money","MIODIO":"MIODIOCOIN","MIS":"MIScoin","MILC":"MIcro Licensing Coin","MMNXT":"MMNXT","MMO":"MMOCoin","MMXVI":"MMXVI","MOAC":"MOAC","MOBU":"MOBU","MODEX":"MODEX Token","MOS":"MOS Coin","XDMC":"MPCX","MSD":"MSD","MTCMN":"MTC Mesh","MUN":"MUNcoin","MUSD":"MUSDcoin","MUST":"MUST Protocol","MVL":"MVL","YCE":"MYCE","MAC":"MachineCoin","MCRN":"MacronCoin","MRV":"Macroverse","MDC*":"MadCoin","ART":"Maecenas","MAP":"Maester Protocol","MAG**":"Maggie Token","MGN":"MagnaCoin","MAG":"Magnet","MAG*":"Magos","MAID":"MaidSafe Coin","MMXIV":"MaieutiCoin","MNC":"MainCoin","MFT":"Mainframe","MSC*":"MaisCoin","MIV":"MakeItViral","MKR":"Maker","MAT*":"Manet Coin","MANNA":"Manna","MAPC":"MapCoin","MAR":"MarijuanaCoin","MASP":"Market.space","MRS":"MarsCoin","MARS":"MarsCoin","MXT":"MartexCoin","MARV":"Marvelous","MARX":"MarxCoin","MARYJ":"MaryJane Coin","MSR":"Masari","MC":"Mass Coin","MASS":"Mass.Cloud","MGD":"MassGrid","MCAR":"MasterCar","MSC":"MasterCoin","MM":"MasterMint","MTR":"MasterTraderCoin","MAN*":"Matrix AI Network","MTX":"Matryx","MPG":"Max Property Group","MAX":"MaxCoin","MYC":"MayaCoin","MZC":"MazaCoin","MBIT":"Mbitbooks","MLITE":"MeLite","MDT*":"Measurable Data Token","MED*":"MediBloc","MEDI":"MediBond","MCU":"MediChain","MDS":"MediShares","MNT*":"Media Network Coin","MPT":"Media Protocol Token","MEDX":"Mediblock","MDC":"MedicCoin","MEDIC":"MedicCoin","MTN*":"Medicalchain","MHP":"MedicoHealth","MED":"MediterraneanCoin","MPRO":"MediumProject","MEC":"MegaCoin","MEGA":"MegaFlash","XMS":"Megastake","MEL":"Melior AI","MLN":"Melon","MBN":"Membrana","MET":"Memessenger","EMT*":"Memority","MMC":"MemoryCoin","MPAY":"Menapay","ONE":"Menlo One","MENU":"MenuBuzz","MRN":"Mercoin","MVP":"Merculet","MER":"Mercury","GMT":"Mercury Protocol","MHC":"MetaHash","METM":"MetaMorph","META":"Metadium","MTL":"Metal","MTLM3":"Metal Music v3","METAL":"MetalCoin","ETP":"Metaverse","MET*":"Metronome","MIT":"MiMiner","MBTC":"MicroBitcoin","AMM":"MicroMoney","MDT":"Midnight","MON":"MilionCoin","MUU":"MilkCoin","MIL":"Milllionaire Coin","MILO":"MiloCoin","MINC":"MinCoin","MG":"Mind Gene","MND":"MindCoin","MIC":"Mindexcoin","MAI":"Mindsync","MINT*":"Mineable Token","MIO":"Miner One token","MIN":"Minerals Coin","MNE":"Minereum","MRT":"MinersReward","MNM":"Mineum","MINEX":"Minex","MNX":"MinexCoin","MAT":"MiniApps","MNTS":"Mint","MINT":"MintCoin","BIP":"Minter","MITH":"Mithril","XIN*":"Mixin","MIB":"Mobile Integrated Blockchain","CHF*":"MobileBridge Momentum","MGO":"MobileGo","MOLK":"Mobilink Token","MOBI":"Mobius","MTRC":"ModulTrade","MDL*":"Modulum","MOD":"Modum","MDA":"Moeda","MOIN":"MoinCoin","MOJO":"Mojocoin","MOF":"Molecular Future","MOL":"Molecule","TAB":"MollyCoin","MMTM":"Momentum","MONA":"MonaCoin","MNZ":"Monaize","XMR":"Monero","ZMR":"Monero 0","XMC":"Monero Classic","XMRG":"Monero Gold","XMO":"Monero Original","XMV":"MoneroV","MONETA":"Moneta","MNV":"MonetaVerde","MUE":"MonetaryUnit","MTH":"Monetha","MTZ":"Monetizr","MNB":"MoneyBag","MONEY":"MoneyCoin","MRP*":"MoneyRebel","IMT":"MoneyToken","MNY":"Monkey","MONK":"Monkey Project","XMCC":"Monoeci","MNR":"Monoreto","MBI":"Monster Byte Inc","MBLC":"Mont Blanc","MOON":"MoonCoin","LX":"Moonlight","MZG":"Moozicore","MITX":"Morpheus Infrastructure Token","MRPH":"Morpheus Network","MRP":"MorpheusCoin","MZX":"Mosaic Network","MOAT":"Mother Of All Tokens","MSP":"Mothership","XMN":"Motion","MTN**":"Motion","MOTO":"Motocoin","MOV":"MovieCoin","MTK":"Moya Token","MRSA":"MrsaCoin","MUDRA":"MudraCoin","MTT":"MulTra","MLT":"MultiGames","MWC":"MultiWallet Coin","MBT":"Multibot","MTCN":"Multiven","MRY":"MurrayCoin","MUSE":"Muse","MITC":"MusicLife","MUSIC":"Musicoin","MCI":"Musiconomi","MST":"MustangCoin","MUT":"Mutual Coin","MBC":"My Big Coin","MYB":"MyBit","MCB":"MyCryptoBank","MYDFS":"MyDFS","MAZC":"MyMazzu","MT*":"MyToken","WISH":"MyWish","MT":"Mycelium Token","MYO":"Mycro","MPXT":"Myplacex","XMY":"MyriadCoin","MYST":"Mysterium","NANJ":"NANJCOIN","XEM":"NEM","NEO":"NEO","NEOG":"NEO Gold","NEXO":"NEXO","NOX":"NITRO","NIX":"NIX","NKN":"NKN","NOAH":"NOAHCOIN","NBAR":"NOBAR","NOIA":"NOIA Network","NOIZ":"NOIZ","CHFN":"NOKU CHF","EURN":"NOKU EUR","NOKU":"NOKU Master token","NSP":"NOMAD.space","NOW":"NOW Token","NPC":"NPCcoin","NPER":"NPER","NVST":"NVO","NWP":"NWPSolution","NXE":"NXEcoin","NXTI":"NXTI","NXTTY":"NXTTY","NYN":"NYNJA","NYX":"NYXCOIN","NFN":"Nafen","NGC":"NagaCoin","NZE":"Nagezeni","NKT":"NakomotoDark","NAM":"Namacoin","NMH":"Namahe","NMC":"Namecoin","NMK":"Namek","NAMO":"NamoCoin","NANO":"Nano","NHCT":"Nano Healthcare Token","NAN":"NanoToken","NPX":"Napoleon X","NRVE":"Narrative","NAS2":"Nas2Coin","NAUT":"Nautilus Coin","NAV":"NavCoin","NAVI":"NaviAddress","NAVIB":"Navibration","NEBL":"Neblio","NEBU":"Nebuchadnezzar","NBAI":"Nebula AI","NAS":"Nebulas","NDC*":"NeedleCoin","NEF":"NefariousCoin","NRX":"Neironix","NEC":"NeoCoin","NEX":"Neonexchange","NEOS":"NeosCoin","NTCC":"NeptuneClassic","NBIT":"NetBit","NET":"NetCoin","NTM":"NetM","NETKO":"Netko","OUT":"Netscouters","NTWK":"Network Token","NETC":"NetworkCoin","NEU*":"NeuCoin","NEU":"Neumark","NRP":"Neural Protocol","NRO":"Neuro","NRC":"Neurocoin","NRM":"Neuromachine","NTK":"Neurotoken","NTRN":"Neutron","NEVA":"NevaCoin","NDC":"NeverDie","NIC":"NewInvestCoin","NYC":"NewYorkCoin","NZC":"NewZealandCoin","NEWB":"Newbium","NEW":"Newton","NCP":"Newton Coin","NXC":"Nexium","NEXT":"Next.exchange Token","Pakka":"NextPakk","NXS":"Nexus","NEXXO":"Nexxo","NGIN":"Ngin","NICE":"NiceCoin","NIHL":"Nihilo Coin","NMB":"Nimbus Coin","NIMFA":"Nimfamoney","NIM":"Nimiq","NTC":"NineElevenTruthCoin","NDOGE":"NinjaDoge","NBR":"Niobio Cash","NBC":"Niobium","$NOBS":"No BS Crypto","NLC":"NoLimitCoin","NLC2":"NoLimitCoin","NOBL":"NobleCoin","NODE":"Node","NODIS":"Nodis","NVDX":"Nodvix","NRB":"NoirBits","NRS":"NoirShares","NUSD":"Nomin USD","NZO":"NonZero","NOO":"Noocoin","NVC":"NovaCoin","MNVM":"Novam","NWCN":"NowCoin","NBX":"Noxbox","NBT":"NuBits","NSR":"NuShares","NUBIS":"NubisCoin","NCASH":"Nucleus Vision","NUKE":"NukeCoin","NKC":"Nukecoinz","NLX":"Nullex","NULS":"Nuls","N7":"Number7","NUM":"NumbersCoin","NMR":"Numeraire","XNC*":"Numismatic Collections","NMS":"Numus","NXT":"Nxt","NYAN":"NyanCoin","NBL":"Nybble","OATH":"OATH Protocol","ODE":"ODEM","ODMC":"ODMCoin","OK":"OKCash","OKOIN":"OKOIN","ONAM":"ONAM","OPC":"OP Coin","OPP*":"OPP Open WiFi","ORET":"ORET Token","ORM":"ORIUM","ORS":"ORS Group","OASC":"Oasis City","OBITS":"Obits Coin","OBS":"Obscurebay","ODN":"Obsidian","OCL":"Oceanlab","OTX":"Octanox","OCTO*":"OctoBit Coin","OCTO":"OctoCoin","OWC":"Oduwa","OCN":"Odyssey","OFCR":"OfficerCoin","OJX":"Ojooo","OKB":"Okex","OLM":"Olam","ODNT":"Old Dogs New Tricks","OLDSF":"OldSafeCoin","OLV":"OldV","OLE":"Olive","OLYMP":"OlympCoin","MOT":"Olympus Labs","OMA":"OmegaCoin","OMGC":"OmiseGO Classic","OMG":"OmiseGo","OMNI":"Omni","OMC":"OmniCron","ECOM":"Omnitude","ONL":"On.Live","OGT":"One Game","OSF":"One Solution","OLT":"OneLedger","RNT":"OneRoot Network","ONX":"Onix","OIO":"Online","ONT":"Ontology","ONGAS":"Ontology Gas","OPQ":"Opacity","XPO":"Opair","OPAL":"OpalCoin","OPEN":"Open Platform","OTN":"Open Trading Network","OAX":"OpenANX","BRIX":"OpenBrix","CHAT":"OpenChat","OSC":"OpenSourceCoin","ZNT":"OpenZen","OPES":"Opes","OPP":"Opporty","OPEX":"Optherium Token","OSA":"Optimal Shelf Availability Token","OPTION":"OptionCoin","OPU":"Opu Coin","OPT":"Opus","OCT":"OracleChain","OC":"OrangeCoin","ORBS":"Orbis","ORB":"Orbitcoin","RDC":"Ordocoin","ORGT":"Organic Token","ORC":"Organicco","ORI":"Origami","ORS*":"OriginSport","TRAC":"OriginTrail","OCC":"Original Crypto Coin","ORLY":"OrlyCoin","ORME":"Ormeus Coin","ORO":"OroCoin","OROC":"Orocrypt","ORV":"Orvium","OICOIN":"Osmium Investment Coin","OS76":"OsmiumCoin","OWD":"Owlstand","ZXC":"Oxcert","OXY":"Oxycoin","PRL":"Oyster Pearl","OYS":"Oyster Platform","SHL":"Oyster Shell","P2PS":"P2P Solutions Foundation","GENE":"PARKGENE","PAT":"PATRON","PAXEX":"PAXEX","PQT":"PAquarium","PAI":"PCHAIN","PGF7T":"PGF500","PHI":"PHI Token","PITCH":"PITCH","PLNC":"PLNCoin","PCH":"POPCHAIN","PPOVR":"POVR","TOSS":"PROOF OF TOSS","PROUD":"PROUD Money","PROOF":"PROVER","PSI":"PSIcoin","PVP":"PVPChain","PWR":"PWR Coin","PX":"PXcoin","PCS":"Pabyosi Coin","PBC":"PabyosiCoin","PAC":"PacCoin","PAK":"Pakcoin","PLMT":"Pallium","PND":"PandaCoin","PINKX":"PantherCoin","PAN":"Pantos","PRT":"Papusha","PRP":"Papyrus","PRG":"Paragon","DUO":"ParallelCoin","PARA":"ParanoiaCoin","PARETO":"Pareto Network Token","PKB":"ParkByte","PAR":"Parlay","PART":"Particl","PASC":"Pascal Coin","PASL":"Pascal Lite","PAS":"Passive Coin","PTO":"Patentico","PTOY":"Patientory","PAVO":"Pavocoin","PAX":"Paxos Standard","PBLK":"PayBlock","PYC":"PayCoin","XPY":"PayCoin","PFR":"PayFair","PAYP":"PayPeer","PPP":"PayPie","PYP":"PayPro","PYN":"Paycentos","CON_":"Paycon","PGC*":"Paygine","PMNT":"Paymon","PYT":"Payther","PEC":"PeaceCoin","PRLPAY":"PearlPay","XPB":"Pebble Coin","PBL":"Pebbles","PCL":"Peculium","PCO":"Pecunio","PCN":"PeepCoin","PMTN":"Peer Mountain","PPC":"PeerCoin","GUESS":"Peerguess","PPY":"Peerplays","PGC":"Pegascoin","PEN*":"PenCoin","PNT":"Penta","PTA":"PentaCoin","PNY":"Peony Coin","MAN":"People","MEME":"Pepe","PEPECASH":"Pepe Cash","XPR":"Permian","PIE":"Persistent Information Exchange","PERU":"PeruCoin","PTC":"PesetaCoin","PSB":"PesoBit","PETL":"Petlife","PTR":"Petro","PXL":"Phalanx","SOUL*":"Phantasma","PNX":"PhantomX","XPH":"PharmaCoin","PHS":"PhilosophersStone","PXC":"PhoenixCoin","PHM":"Phomeum","PHR*":"Phore","PHTC":"Photochain","PHO":"Photon","PHT":"Photon Token","PHR":"Phreak","PGN":"Pigeoncoin","PIGGY":"Piggy Coin","PKC":"Pikciochain","PLR":"Pillar","PTT":"Pink Taxi Token","PINK":"PinkCoin","PINMO":"Pinmo","PCOIN":"Pioneer Coin","PIO":"Pioneershares","SKULL":"Pirate Blocks","PIRATE":"PirateCash","PIRL":"Pirl","PIZZA":"PizzaCoin","PLAI":"Plair","PLAN":"Plancoin","PLANET":"PlanetCoin","PLNX":"Planumex","PTNX":"Platin","PLC*":"PlatinCoin","PNC":"PlatiniumCoin","XPTX":"PlatinumBAR","LUC":"Play 2 Live","PLA":"PlayChip","PXG":"PlayGame","PKT":"Playkey","DN8":"Pldgr","PLG":"Pledgecamp","PLX":"PlexCoin","PLURA":"PluraCoin","PLC":"PlusCoin","PLUS1":"PlusOneCoin","GPPT":"Pluto Project Coin","PTC**":"Plutocoin","PLU":"Pluton","PLTX":"PlutusX","POE":"Po.et","POS":"PoSToken","POA":"Poa Network","XPS":"PoisonIvyCoin","XPOKE":"PokeChain","POKER":"PokerCoin","XPST":"PokerSports","PAL":"PolicyPal Network","POLIS":"PolisPay","POLY":"PolyBit","NCT":"PolySwarm","PLBT":"Polybius","POLY*":"Polymath Network","PON":"Ponder","PSK":"Pool of Stake","XSP":"PoolStamp","PPS":"PopulStay","POP":"PopularCoin","PPT":"Populous","PEX":"PosEx","PSD":"Poseidon","PCCM":"Poseidon Chain","OCEAN":"Poseidon Foundation","POSQ":"Poseidon Quark","POST":"PostCoin","POT":"PotCoin","POWR":"Power Ledger","PSM":"Prasm","PRE":"Premium","ENTT":"Presale Ventures","PRE*":"Presearch","HILL":"President Clinton","PRES":"President Trump","PBT":"Primalbase","PST":"Primas","PSF":"Prime Shipping Foundation","PXI":"Prime-X1","PRIME":"PrimeChain","XPM":"PrimeCoin","PRX":"Printerium","PRM":"PrismChain","PIVX":"Private Instant Verified Transaction","PRIX":"Privatix","PZM":"Prizm","PRA":"ProChain","XPRO":"ProCoin","PROC":"ProCurrency","PCM":"Procom","PROD*":"Productivist","PHC":"Profit Hunters Coin","PDC":"Project Decorum","JTX":"Project J","PAI*":"Project Pai","OMX":"Project Shivom","PRFT":"Proof Suite Token","PROPS":"Props","PTC*":"Propthereum","PRO":"Propy","VRP":"Prosense.tv","PGL":"Prospectors","PRC":"ProsperCoin","PROTON":"Proton","XES":"Proxeus","XPX":"ProximaX","PSEUD":"PseudoCash","PSY":"Psilocybin","PULSE":"Pulse","PMA":"PumaPay","NPXS":"Pundi X","PUPA":"PupaCoin","PURA":"Pura","PURE":"Pure","VIDZ":"PureVidz","PGT":"Puregold token","PURK":"Purk","PRPL":"Purple Token","PRPS":"Purpose","HLP":"Purpose Coin","PUSHI":"Pushi","PUT":"PutinCoin","PYLNT":"Pylon Network","QLC":"QLC Chain","QTUM":"QTUM","QUSD":"QUSD","QBT*":"Qbao","QOBI":"Qobit","QORA":"QoraCoin","XQR":"Qredit","QBK":"QuBuck Coin","eQUAD":"Quadrant Protocol","QNT":"Quant","QNTU":"Quanta","QUANT":"Quantler","QNTR":"Quantor","QSP":"Quantstamp","QAU":"Quantum","QRL":"Quantum Resistant Ledger","Q1S":"Quantum1Net","QKC":"QuarkChain","QRK":"QuarkCoin","QTZ":"Quartz","QUA":"Quasa","QTL":"Quatloo","QCN":"Quazar Coin","Q2C":"QubitCoin","QBC":"Quebecoin","QCX":"QuickX Protocol","QSLV":"Quicksilver coin","QUIZ":"Quizando","QUN":"QunQun","QASH":"Quoine Liquid","XQN":"Quotient","QVT":"Qvolta","QWARK":"Qwark","QWC":"Qwertycoin","RFL":"RAFL","RAIZER":"RAIZER","KRX":"RAVN Korrax","RAWG":"RAWG","RAC":"RAcoin","RHOC":"RChain","RCN*":"RCoin","REAL":"REAL","REBL":"REBL","MWAT":"RED MegaWatt","RST":"REGA Risk Sharing Token","REME":"REME-Coin","REM":"REMME","RENC":"RENC","RGC":"RG Coin","RIF":"RIF Token","ROI":"ROIcoin","ROS":"ROS Coin","RFT":"RYFTS","RADI":"RadicalCoin","RADS":"Radium","RDN":"RadonPay","RDN*":"Raiden Network","RF":"Raido Financial","RAINC":"RainCheck","RAP":"Rapture","ROC":"Rasputin Online Coin","RTE":"Rate3","XRA":"Ratecoin","RATIO":"Ratio","RAVE":"Ravelous","RVN":"Ravencoin","RAYS":"Rays Network","RZR":"RazorCoin","RWE":"Real-World Evidence","RCT":"RealChain","REA":"Realisto","RCC":"Reality Clash","XRK":"RecordsKeeper","RRT":"Recovery Right Tokens","RRC":"Recycling Regeneration Chain","PHX":"Red Pulse Phoenix","REDC":"RedCab","RCX":"RedCrowCoin","RED":"Redcoin","RDD":"Reddcoin","REDN":"Reden","REE":"ReeCoin","REF":"RefToken","RFR":"Refereum","REC":"Regalcoin","RDS":"Reger Diamond","RLX":"Relex","REL":"Reliance","REMCO":"Remco","RPM":"Render Payment","RNDR":"Render Token","RNS":"RenosCoin","BERRY":"Rentberry","REPO":"Repo Coin","RPB":"Republia","REN":"Republic Token","REPUX":"Repux","REQ":"Request Network","RMS":"Resumeo Shares","RGT":"Retail.Global","RBIT":"ReturnBit","RNC":"ReturnCoin","R":"Revain","REV":"Revenu","RVR":"Revolution VR","XRE":"RevolverCoin","RWD":"Reward Vision","RMOB":"RewardMob","RHEA":"Rhea","XRL":"Rialto.AI","RBR":"Ribbit Rewards","RICE":"RiceCoin","RIDE":"Ride My Car","RIC":"Riecoin","RMESH":"RightMesh","RBT":"Rimbit","RING":"RingCoin","RIPO":"RipOffCoin","RIPAX":"RipaEx","RCN":"Ripio","RIPT":"RiptideCoin","RBX":"RiptoBuX","RISE":"Rise","RVT":"Rivetz","RAC**":"RoBET","ROBET":"RoBet","RBDT":"RoBust Defense Token","PUT*":"Robin8 Profile Utility Token","RAC*":"RoboAdvisorCoin","ROX":"Robotina","RKT":"Rock Token","ROK":"Rockchain","ROCK*":"RocketCoin","RPC":"RonPaulCoin","RSC":"Ronaldinho Soccer Coin","ROOT":"RootCoin","ROOTS":"RootProject","RT2":"RotoCoin","ROUND":"RoundCoin","ROE":"Rover Coin","RKC":"Royal Kingdom Coin","RYC":"RoyalCoin","ROYAL":"RoyalCoin","RYCN":"RoyalCoin 2.0","RBIES":"Rubies","RUBY":"Rubius","RUBIT":"Rublebit","RBY":"RubyCoin","RUFF":"Ruff","RUPX":"Rupaya","RUP":"Rupee","RC":"Russiacoin","RMC":"Russian Mining Coin","RUST":"RustCoin","RUSTBITS":"Rustbits","RYO":"Ryo","S8C":"S88 Coin","SABR":"SABR Coin","SGA":"SAGA","SAR*":"SARCoin","SLY":"SELFLLERY","SGAT":"SGAT","SGP":"SGPay","XSH":"SHIELD","SIDT":"SID Token","SKYFT":"SKYFchain","SMNX":"SMNX","SSX":"SOMESING","SNM":"SONM","SXDT":"SPECTRE Dividend Token","SXUT":"SPECTRE Utility Token","SPICE":"SPiCE Venture Capital","SRCOIN":"SRCoin","SSV":"SSVCoin","STAC":"STAC","STACS":"STACS Token","STRS":"STARS","EURS":"STASIS EURS","STEX":"STEX","STK":"STK Token","STS":"STRESScoin","STRY":"STRYKZ","SUQA":"SUQA","SaTT":"SaTT","HAVEN":"Safe Haven","XSTC":"Safe Trade Coin","SAFE":"SafeCoin","SAFEX":"SafeExchangeCoin","SFR":"SaffronCoin","SAF":"Safinus","SAGA":"SagaCoin","SFU":"Saifu","SKB*":"Sakura Bloom","SKR":"Sakuracoin","SAL":"SalPay","SALT":"Salt Lending","SLS":"SaluS","SMSR":"Samsara Coin","SND":"Sandcoin","SAN":"Santiment","SPN*":"Sapien Network","XAI":"SapienceCoin","XRF":"Sarf","XRN":"Saronite","SAT":"Satisfaction Token","STV":"Sativa Coin","MAD*":"SatoshiMadness","SAT2":"Saturn2Coin","STO":"Save The Ocean","SANDG":"Save and Gain","SWC":"Scanetchain Token","ST":"Scienceroot","SNcoin":"ScientificCoin","SCOOBY":"Scooby coin","SCORE":"Scorecoin","SCOR":"Scorista","SCR*":"Scorum","SCOT":"Scotcoin","SCRIBE":"Scribe Network","SCRL":"Scroll","DDD":"Scry.info","SCRPT":"ScryptCoin","SCT":"ScryptToken","SRT":"Scrypto","SEAL":"Seal Network","SECI":"Seci","SCRT":"SecretCoin","SRC":"SecureCoin","SEC":"SecureCryptoPayments","SRXIO":"Securix","SET":"Securosys","SEEDS":"SeedShares","SEELE":"Seele","B2X":"SegWit2x","SEL":"SelenCoin","STOR":"Self Storage Coin","KEY":"SelfKey","SSC":"SelfSell","SGO":"Selfie GO","SEM":"Semux","SDRN":"Senderon","SNS":"Sense","SENSE":"Sense Token","SEN":"Sentaro","EMOT":"Sentigraph.io","SENT":"Sentinel","SENC":"Sentinel Chain","UPP":"Sentinel Protocol","SNTVT":"Sentivate","SEQ":"Sequence","SERA":"Seraph","SRNT":"Serenity","SRV":"ServAdvisor","SETH":"Sether","SP":"Sex Pistols","SXC":"SexCoin","SHA":"Shacoin","SHADE":"ShadeCoin","SDC":"ShadowCash","SHARD":"ShardCoin","SS":"Sharder","SSS":"ShareChain","eSwitch":"ShareMeAll","SHR":"ShareRing","SAK":"SharkCoin","SHKG":"SharkGate","SHP*":"Sharpe Capital","JEW":"Shekel","SHLD":"ShieldCoin","SHIFT":"Shift","SH":"Shilling","SHE":"Shine Chain","SHIP":"ShipChain","SHPT":"Shipit","SHORTY":"ShortyCoin","SHOW":"ShowCoin","HAND":"ShowHand","SHPING":"Shping Coin","SHREK":"ShrekCoin","SCH":"Sia Cash Coin","SC":"Siacoin","SIB":"SibCoin","SGL":"Sigil","SIG":"Signal","SGN":"Signals Network","SIGT":"Signatum","SNTR":"Silent Notary","SILKT":"SilkChain","SILK":"SilkCoin","OST":"Simple Token","SPLB":"SimpleBank","SIGU":"Singular","SNGLS":"SingularDTV","AGI":"SingularityNET","SRN":"SirinLabs","SKC":"Skeincoin","SKI":"Skillchain","SKIN":"Skincoin","SKRP":"Skraps","SKR*":"Skrilla Token","SKM":"Skrumble Network","SKB":"SkullBuzz","SKYM":"SkyMap","SKY":"Skycoin","SLX":"Slate","SLM":"SlimCoin","SLING":"Sling Coin","RBTC":"Smart Bitcoin","SIFT":"Smart Investment Fund Token","POD":"Smart League","TASH":"Smart Trip Platform","VALOR":"Smart Valor","SMART*":"SmartBillions","SMART":"SmartCash","SMC":"SmartCoin","SLST":"SmartLands","SMT*":"SmartMesh","SMLY":"SmileyCoin","SMILO":"Smilo","SMOKE":"Smoke","SMF":"SmurfCoin","SNPC":"SnapCoin","SNIP":"SnipCoin","SNOV":"Snovio","XSG":"Snowgem","ONG":"SoMee.Social","SOAR":"Soarcoin","SLT":"Social Lending Network","SMAC":"Social Media Coin","SMT":"Social Media Market","SEND":"Social Send","SOCC":"SocialCoin","SG":"SocialGood","SREUR":"SocialRemit","XBOT":"SocialXbotCoin","SCL":"Sociall","SOIL":"SoilCoin","SOJ":"Sojourn Coin","SOL":"Sola","SDAO":"Solar DAO","SLR":"SolarCoin","CELL":"SolarFarm","SRX":"Solarex","SFC":"Solarflarecoin","XLR":"Solaris","SOLE":"SoleCoin","SOLID":"Solidified","SCT*":"Soma","SONG":"Song Coin","SSD":"Sonic Screw Driver Coin","SOON":"SoonCoin","SPHTX":"SophiaTX","SNK":"Sosnovkino","SOUL":"SoulCoin","SPX":"Sp8de","SCASH":"SpaceCash","SPC*":"SpaceChain","SPACE":"SpaceCoin","SPA":"SpainCoin","SPANK":"SpankChain","SPK":"SparksPay","SPEC":"SpecCoin","SPX*":"Specie","XSPEC":"Spectre","SPEND":"Spend","SPHR":"Sphere Coin","XID":"Sphre AIR","SPIKE":"Spiking","SPC":"SpinCoin","SPD*":"Spindle","SPKZ":"Spokkz","SPORT":"SportsCoin","SFT":"SportsFix","SPF":"SportyCo","SPOT":"Spotcoin","SPT":"Spots","SPOTS":"Spots","SPR":"Spreadcoin","SPRTZ":"SpritzCoin","SPRTS":"Sprouts","SQP":"SqPay","SQL":"Squall Coin","SQR":"Squeezer","XSI":"Stability Shares","SBC":"StableCoin","USDS":"StableUSD","DSLA":"Stacktical","STCN":"Stakecoin","XSN":"Stakenet","STA*":"Stakers","STHR":"Stakerush","LABX":"Stakinglab","STALIN":"StalinCoin","STC":"StarChain","STR*":"StarCoin","STAR*":"StarCoin","SRC*":"StarCredits","KST":"StarKST","STT":"Staramba","STAR":"Starbase","START":"StartCoin","STA":"Starta","STP":"StashPay","SQOIN":"StasyQ","SNT":"Status Network Token","STAX":"Staxcoin","XST":"StealthCoin","PNK":"SteamPunk","STEEM":"Steem","SBD*":"Steem Backed Dollars","XLM":"Stellar","XTL":"Stellite","SCIA":"Stem Cell","STEPS":"Steps","SLG":"SterlingCoin","SPD":"Stipend","STIPS":"Stips","STOCKBET":"StockBet","SCC":"StockChain Coin","STQ":"Storiqa Token","STORJ":"Storj","SJCX":"StorjCoin","STORM":"Storm","STX":"Stox","STAK":"Straks","SISA":"Strategic Investments in Significant Areas","STRAT":"Stratis","SSH":"StreamSpace","STM":"Streamity","DATA":"Streamr DATAcoin","SHND":"StrongHands","SUT":"Suapp","SUB*":"Subscriptio","SUB":"Substratum Network","SUCR":"Sucre","SGC":"Sudan Gold Coin","SGR":"Sugar Exchange","SUMO":"Sumokoin","SNC":"SunContract","SSTC":"SunShotCoin","SUP":"Supcoin","SBTC":"Super Bitcoin","SUPER":"SuperCoin","UNITY":"SuperNET","SEED":"Superbloom","M1":"SupplyShock","SPM":"Supreme","RMT":"SureRemit","SUR":"Suretly","SWA":"Swace","SWACH":"Swachhcoin","BUCKS":"SwagBucks","SWT":"Swarm City Token","SWM":"Swarm Fund","SWARM":"SwarmCoin","SWEET":"SweetStake","SWFTC":"SwftCoin","SWING":"SwingCoin","SCN":"Swiscoin","CHSB":"SwissBorg","SRC**":"SwissRealCoin","SIC":"Swisscoin","SWTH":"Switcheo","SDP":"SydPakCoin","SYLO":"Sylo","SYNC":"SyncCoin","MFG":"SyncFab","SYC":"SynchroCoin","SYNCO":"Synco","SYNX":"Syndicate","AMP":"Synereo","SNRG":"Synergy","SNX":"Synthetix","SYS":"SysCoin","TBT":"T-BOT","TCX":"T-Coin","TZO":"TANZŌ","BAR":"TBIS token","TDFB":"TDFB","TFD":"TE-FOOD","TKY":"THEKEY Token","TTN":"TITA Project","TXM":"TMONEY","TOA":"TOA Coin","TPC":"TPCash","TRX":"TRON","XTROPTIONS":"TROPTIONS","TTV":"TV-TWO","TWISTR":"TWIST","TTU":"TaTaTu","TCHN":"Tachain","TAG":"TagCoin","TAJ":"TajCoin","TAK":"TakCoin","TKLN":"Taklimakan","TALAO":"Talao","TLNT":"Talent Token","TCOIN":"Talenthon","TAL":"Talentico","TAM":"TamaGucci","XTO":"Tao","TTT":"Tap Project","TAP":"TappingCoin","TGT":"TargetCoin","TAT":"Tatiana Coin","TSE":"TattooCoin","TEC":"TeCoin","TCHB":"Teachers Blockchain","TEAM":"TeamUP","TECH":"TechCoin","THS":"TechShares","TEK":"TekCoin","TEL":"Telcoin","GRAM":"Telegram Open Network","TELL":"Tellurion","PAY":"TenX","TENNET":"Tennet","TENZ":"Tenzorum","LED":"Terawatt","TERN":"Ternio","TRN":"Ternion","TVA":"Terra Virtua","TRC":"TerraCoin","TECO":"TerraEcoCoin","TGN":"TerraGreen","TER":"TerraNovaCoin","TESLA":"TeslaCoilCoin","TES":"TeslaCoin","USDT":"Tether","TRA":"Tetra","XTZ":"Tezos","THNX":"ThankYou","0xDIARY":"The 0xDiary Token","ABYSS":"The Abyss","EFX":"The EFFECT Network","TFC":"The Freedom Coin","GOVT":"The Government Network","THC":"The Hempcoin","SUNEX":"The Sun Exchange","XVE":"The Vegan Initiative","CHIEF":"TheChiefCoin","GCC*":"TheGCCcoin","VIG":"TheVig","TCR":"Thecreed","MAY":"Theresa May Coin","THETA":"Theta","TAGR":"Think And Get Rich Coin","THRT":"ThriveToken","TSC":"ThunderStake","TIA":"Tianhe","TBRS":"Tiberius","TDX":"Tidex Token","TNT":"Tierion","TIE":"Ties Network","TCH":"TigerCash","TGC":"TigerCoin","TIG":"Tigereum","XTC":"TileCoin","BILL":"TillBilly","TIME":"Time","TNB":"Time New Bank","TME":"Timereum","TMC":"TimesCoin","TIMI":"Timicoin","TIO*":"Tio Tour Guides","TIP":"Tip Blockchain","TTC":"TitCoin","TITAN":"Titan","TBAR":"Titanium BAR","TIT":"TittieCoin","TMT*":"ToTheMoon","TODAY":"TodayCoin","TKD":"Tokedo","TAAS":"Token as a Service","TKN":"TokenCard","TCT":"TokenClub","TDS":"TokenDesk","TPAY*":"TokenPay","ACE":"TokenStars","TEAMT":"TokenStars TEAM Token","AIRE":"Tokenaire","TBX":"Tokenbox","TEN":"Tokenomy","TGTC":"Tokensgate","TKS":"Tokes","TKA":"Tokia","TOK":"TokugawaCoin","TOKC":"Tokyo Coin","TOM":"Tomahawkcoin","TBL":"Tombola","TOMO":"TomoChain","TOPC":"Topchain","TOR":"TorCoin","TOT":"TotCoin","TRET":"Tourist Review","BBC":"TraDove B2BCoin","MTN":"TrackNetToken","TRCT":"Tracto","TXP":"Trade Pharma Network","TIOX":"Trade Token X","TIO":"Trade.io","EXTP":"TradePlace","TDZ":"Tradelize","TRAID":"Traid","TRAK":"TrakInvest","TX":"Transfer","TBCX":"TrashBurn","AVALA":"Travala","TRV":"Travel Coin","TT":"TravelChain","TLT":"Travelertoken","TRF":"Travelflex","TRAVEL":"Travelvee","TMT**":"Traxia Membership Token","TOT*":"Trecento Blockchain Capital","TREX":"TreeBlock","TZC":"TrezarCoin","FORCE":"TriForce Tokens","TRIA":"Triaconta","TRI":"Triangles Coin","TRIBE":"TribeToken","TRICK":"TrickyCoin","TRDT":"Trident","GPS":"Triffic","ID":"TrigID","TRIG":"Trigger","TIIM":"TriipMiles","TNC":"Trinity Network Credit","TRIO":"Tripio","TRIP":"Trippki","TRVC":"Trivecoin","TRVR":"Trivver","TRW":"Triwer","TPG":"Troll Payment","TKN*":"TrollTokens","TROLL":"Trollcoin","TRK":"TruckCoin","TRCK":"Truckcoin","TRUE":"True Chain","TFL":"True Flip Lottery","TUSD":"True USD","TDP":"TrueDeck","TGAME":"TrueGame","TIC":"TrueInvestmentCoin","TRUMP":"TrumpCoin","TRST":"TrustCoin","TRUST":"TrustPlus","TTB":"TrustaBit","FLEX":"TrustedCars FLEX","WHO":"Truwho","TYM":"Tryvium","TLP":"TulipCoin","TUR":"Turron","TRTL":"TurtleCoin","TUT":"Tutellus","TRT":"TuurnT","TWLV":"Twelve Coin","TWC":"Twilight","TWIST":"TwisterCoin","UUU":"U Network","UCASH":"U.CASH","UCN":"UC Coin","UCOINT":"UCOIN","UCT":"UCOT","UFO":"UFO Coin","HVE":"UHIVE","UMK":"UMKA","UNX":"UNEOX","XUP":"UPcoin","UR":"UR","URX":"URANIUMX","USAT":"USAT","USCOIN":"USCoin","USDC":"USD Coin","USDCT":"USDCT","USOAMIC":"USOAMIC","UBC":"Ubcoin","UBEX":"Ubex","UBQ":"Ubiq","UBIQ":"Ubiqoin","U":"Ucoin","USC":"Ultimate Secure Cash","UTC":"UltraCoin","XUN":"UltraNote","ULTC":"Umbrella","UMC":"Umbrella Coin","UNC":"UnCoin","UNAT":"Unattanium","NBOX":"Unboxed","UNB":"UnbreakableCoin","UNF":"Unfed Coin","UBT":"UniBright","CANDY":"UnicornGo Candy","USX":"Unified Society USDEX","UNIFY":"Unify","UKG":"UnikoinGold","UNIQ":"Uniqredit","USDE":"UnitaryStatus Dollar","UAEC":"United Arab Emirates Coin","UEC":"United Emirates Coin","UTT":"United Traders Token","UBTC":"UnitedBitcoin","GOALS":"UnitedFans","UIS":"Unitus","UTNP":"Universa","UNIT":"Universal Currency","UMO":"Universal Molecule","URT":"Universal Recognition Token","URP":"Universal Reward Protocol","UNRC":"UniversalRoyalCoin","UNI":"Universe","UNO":"Unobtanium","UP":"UpToken","UFR":"Upfiring","UQC":"Uquid Coin","URALS":"Urals Coin","URB":"Urbit Data","URO":"UroCoin","USE":"Usechain Token","UETL":"Useless Eth Token Lite","UET":"Useless Ethereum Token","UTH":"Uther","UTL":"Utile Network","UTIL":"Utility Coin","OOT":"Utrum","UTK":"Utrust","UWC":"Uwezocoin","VIDT":"V-ID","VANIG":"VANIG","VANM":"VANM","VAR":"VARcrypt","VEGA":"VEGA","VNTY":"VENOTY","VRX Token":"VIARIUM","VIBE":"VIBEHub","VIP":"VIP Tokens","VITE":"VITE","VIVO":"VIVO Coin","VLUX":"VLUX","VTOS":"VTOS","VTUUR":"VTUUR","VTRD":"VTradeExchange","VVI":"VV Coin","VLD":"Valid","VALID":"Validator Token","VAL":"Valorbit","VLR":"Valorem","VANY":"Vanywhere","VPRC":"VapersCoin","VAPOR":"Vaporcoin","VAD":"Varanida","VLTC":"VaultCoin","XVC":"Vcash","VTHO":"VeChainThor","VC":"Vecap","VET":"Vechain","VEC2":"VectorCoin 2.0","VLX":"Velox","VLT":"Veltor","VENA":"Vena Network","VNS":"Venus","VENUS":"VenusEnergy","VRA":"Verasity","VNT":"Veredictum","XVG":"Verge","VRC":"VeriCoin","VME":"VeriME","VRF":"Verifier","SPY":"Verifier","CRED":"Verify","VERI":"Veritaseum","VRTY":"Verity","VRM":"Verium","VRN":"Vernam","VRS":"Veros","VERSA":"Versa Token","VTC":"Vertcoin","VTX":"Vertex","VTEX":"Vertex","VTL":"Vertical","VEST":"VestChain","VST":"Vestarin","VEX":"Vexanium","VZT":"Vezt","VIA":"ViaCoin","VIAZ":"Viaz","VIB":"Viberate","VIT":"Vice Industry Token","VTM":"Victorieum","VTY":"Victoriouscoin","VIC":"Victorium","VID":"VideoCoin","VDO":"VidioCoin","VIDI":"Vidion","VIDY":"Vidy","VIEW":"Viewly","VEOT":"Viewo","VIN":"VinChain","VIOR":"ViorCoin","IDORU":"Vip2Fan","VIRAL":"Viral Coin","VUC":"Virta Unique Coin","VTA":"VirtaCoin","XVP":"VirtacoinPlus","VRT":"Virtual Reality Technology","VRH":"Virtual Rehab","VMC":"VirtualMining Coin","VISIO":"Visio","VNX":"VisionX","VITAE":"Vitae","VIU":"Viuly","OGO":"VogoV","VOISE":"Voise","VOL":"VolAir","VLTX":"Volentix","VLP":"Volpo","VTN":"Voltroon","VOOT":"VootCoin","VOT":"Votecoin","VOYA":"Voyacoin","VSX":"Vsync","VTR":"Vtorrent","VULC":"Vulcano","W12":"W12 Protocol","W3C":"W3Coin","WAB":"WABnetwork","WIN":"WCoin","WETH":"WETH","WRL":"WHIRL","WMC":"WMCoin","WOM":"WOM","WOWX":"WOWX","WRT":"WRTcoin","WTXH":"WTX HUB","WU":"WULET","WABI":"WaBi","WGR":"Wagerr","WTC":"Waltonchain","WAN":"Wanchain","WAND":"WandX","WRC*":"WarCoin","WARP":"WarpCoin","WASH":"WashingtonCoin","WUG":"WatchUGot","WMB":"WatermelonBlock","WAVES":"Waves","WCT":"Waves Community Token","WGO":"WavesGO","WNET":"Wavesnode.net","WAY":"WayCoin","WSX":"WeAreSatoshi","WBY":"WeBuy","WPR":"WePower","WT":"WeToken","WEALTH":"WealthCoin","WVR":"Weave","WEB*":"Webchain","WEB":"Webcoin","WDX":"WeiDex","WELL":"Well","WLME":"Wellmee","WTL":"Welltrado","WMK":"Wemark","WEX":"Wexcoin","WHL":"WhaleCoin","AWT":"WhatsOnPic","WHEN":"WhenHub","WC":"WhiteCoin","XWC":"WhiteCoin","WIC":"Wi Coin","WIIX":"Wiix","WBB":"Wild Beast Coin","WILD":"Wild Crypto","WINS":"WinStars","WHN":"Windhan Energy","LIF":"Winding Tree","WINE":"WineCoin","WINGS":"Wings DAO","WINK":"Wink","WISC":"WisdomCoin","WSC":"WiserCoin","WSH":"Wish Finance","WISH*":"WishFinance","WIT":"Witcoin","WLK":"Wolk","WOMEN":"WomenCoin","LOG":"Wood Coin","WBBC":"World Bit Bank","WCG":"World Crypto Gold","WGC":"World Gold Coin","XWT":"World Trade Funds","WOBTC":"WorldBTC","WDC":"WorldCoin","WOP":"WorldPay","WRC":"Worldcore","WPT":"Worldopoly","WAX":"Worldwide Asset eXchange","WBTC":"Wrapped Bitcoin","WYR":"Wyrify","WYS":"Wysker","XRED":"X Real Estate Development","XCASH":"X-CASH","XC":"X11 Coin","X2":"X2Coin","X8X":"X8Currency","CHI":"XAYA","XCZ":"XCOYNZ","XCO":"XCoin","XDE2":"XDE II","XDNA":"XDNA","XELS":"XELS Coin","XTN":"XEND token","XG":"XG Sports","XMX":"XMax","XOV":"XOVBank","XRP":"XRP","XBY":"XTRABYTES","XUEZ":"XUEZ","XXX":"XXXCoin","XYO":"XY Oracle","XNX":"XanaxCoin","XAUR":"Xaurum","XCSH":"Xcash","XCEL":"XcelTrip","XCG":"Xchange","XNC":"XenCoin","XEN":"XenixCoin","XNN":"Xenon","XNB":"Xeonbit","MI":"XiaoMiCoin","XDCE":"XinFin Coin","XIOS":"Xios","XT3":"Xt3ch","XRBT":"Xtribe","YAY":"YAYcoin","YAC":"YAcCoin","YACHTCO":"Yachtco","YMC":"YamahaCoin","YMZ":"Yamzu","YBC":"YbCoin","YDY":"Ydentity","YEE":"Yee","YBT":"YellowBetter","YES":"YesCoin","YOC":"YoCoin","YOVI":"YobitVirtualCoin","YON":"YondoCoin","YSH":"Yoshi","U42":"You42","YOYOW":"Yoyow","YUM":"Yumerium","Z2":"Z2 Coin","ZAB":"ZABERcoin","ZAZA":"ZAZA","ZT":"ZB Global","ZCC":"ZCC Coin","ZEC":"ZCash","ZECD":"ZCashDarkCoin","ZCG":"ZCashGOLD","ZCL":"ZClassic","XZC":"ZCoin","ZEN":"ZEN","ZEPH":"ZEPHYR","ZINC":"ZINC","ZIX":"ZIX Token","ZLQ":"ZLiteQubit","ZMN":"ZMINE","ZNAQ":"ZNAQ","ZPR":"ZPER","ZSE":"ZSEcoin","ZEX":"Zaddex","ZAP":"Zap","ZAT":"ZatGo","ZYD":"ZayedCoin","ZXT":"Zcrypt","NZL":"Zealium","ZCO":"Zebi Coin","ZED":"ZedCoins","ZPT":"Zeepin","ZEEW":"Zeew","ZEIT":"ZeitCoin","ZEL":"Zelcash","ZP":"Zen Protocol","ZND":"Zenad","ZENI":"Zennies","ZNA":"Zenome","ZER":"Zero","ZCC1":"ZeroCarbon","ZSC*":"ZeroState","ZEST":"ZestCoin","ZET2":"Zeta2Coin","ZET":"ZetaCoin","ZSC":"Zeusshield","ZUC":"Zeux","ZCN*":"Zichain","ZBC":"Zilbercoin","ZLA":"Zilla","ZIL":"Zilliqa","ZIP":"Zipper","ZIPT":"Zippie","ZOI":"Zoin","ZNE":"ZoneCoin","ZOOM":"ZoomCoin","ZRC":"ZrCoin","ZUP":"Zupply Token","ZUR":"Zurcoin","ZUUM":"Zuum","AQU":"aQuest","AXPR":"aXpire","ELF":"aelf","AXC":"autoXchange","BPN":"beepnow","OX":"betbox","BITCNY":"bitCNY","BITGOLD":"bitGold","BITSILVER":"bitSilver","BITUSD":"bitUSD","CSQ":"cosquare","DCS":"deCLOUDs","DNT":"district0x","ECHT":"e-Chat","EBIT":"eBit","EBTC":"eBitcoin","EBST":"eBoost","ELTC2":"eLTC","LYQD":"eLYQD","DEM":"eMark","EMU":"eMusic","ePRX":"eProxy","EREAL":"eREAL","EMPR":"empowr","BLACK":"eosBLACK","EOSDAC":"eosDAC","XEP":"ephelants360","FDX":"fidentiaX","GCN":"gCn Coin","FFUEL":"getFIFO","HBE":"healthbank","ICHN":"i-chain","IBANK":"iBankCoin","DEAL":"iDealCash","ICE":"iDice","IETH":"iEthereum","RLC":"iEx.ec","ILT":"iOlite","ITU":"iTrue","IW":"iWallet","IXT":"iXledger","IMU":"imusify","ITM":"intimate.io","MCN":"mCoin","MVU":"meVu","MIBO":"miBoodle","MOOLYA":"moolyacoin","NOS":"nOS","redBUX":"redBUX","SUSD":"sUSD","SVD":"savedroid","SBA":"simplyBrand","UFT":"ufoodo","UGC":"ugChain","VSL":"vSlice","VTAG":"veriTAG Token","WBTC*":"wBTC","OPET":"ÕpetFoundation"} \ No newline at end of file diff --git a/other/mergecurr4.json b/other/mergecurr4.json new file mode 100644 index 0000000..7b0a146 --- /dev/null +++ b/other/mergecurr4.json @@ -0,0 +1 @@ +{"42":"42 Coin","300":"300 token","365":"365Coin","404":"404Coin","433":"433 Token","611":"SixEleven","808":"808","888":"Octocoin","1337":"EliteCoin","2015":"2015 coin","USD":"United States dollar","CAD":"Canadian dollar","EUR":"European Euro","AED":"UAE dirham","AFN":"Afghan afghani","ALL":"Albanian lek","AMD":"Armenian dram","ARS":"Argentine peso","AUD":"Australian dollar","AZN":"Azerbaijani manat","BAM":"Bosnia and Herzegovina konvertibilna marka","BDT":"Bangladeshi taka","BGN":"Bulgarian lev","BHD":"Bahraini dinar","BIF":"Burundi franc","BND":"Brunei dollar","BOB":"Bolivian boliviano","BRL":"Brazilian real","BWP":"Botswana pula","BYN":"Belarusian Ruble","BZD":"Belize dollar","CDF":"Congolese franc","CHF":"Swiss franc","CLP":"Chilean peso","CNY":"Chinese/Yuan renminbi","COP":"Colombian peso","CRC":"Costa Rican colon","CVE":"Cape Verdean escudo","CZK":"Czech koruna","DJF":"Djiboutian franc","DKK":"Danish krone","DOP":"Dominican peso","DZD":"Algerian dinar","EEK":"Estonian kroon","EGP":"Egyptian pound","ERN":"Eritrean nakfa","ETB":"Ethiopian birr","GBP":"British pound","GEL":"Georgian lari","GHS":"Ghanaian cedi","GNF":"Guinean franc","GTQ":"Guatemalan quetzal","HKD":"Hong Kong dollar","HNL":"Honduran lempira","HRK":"Croatian kuna","HUF":"Hungarian forint","IDR":"Indonesian rupiah","ILS":"Israeli new sheqel","INR":"Indian rupee","IQD":"Iraqi dinar","IRR":"Iranian rial","ISK":"Icelandic króna","JMD":"Jamaican dollar","JOD":"Jordanian dinar","JPY":"Japanese yen","KES":"Kenyan shilling","KHR":"Cambodian riel","KMF":"Comorian franc","KRW":"South Korean won","KWD":"Kuwaiti dinar","KZT":"Kazakhstani tenge","LBP":"Lebanese lira","LKR":"Sri Lankan rupee","LTL":"Lithuanian litas","LVL":"Latvian lats","LYD":"Libyan dinar","MAD":"Moroccan dirham","MDL":"Moldovan leu","MGA":"Malagasy ariary","MKD":"Macedonian denar","MMK":"Myanma kyat","MOP":"Macanese pataca","MUR":"Mauritian rupee","MXN":"Mexican peso","MYR":"Malaysian ringgit","MZN":"Mozambican Metical","NAD":"Namibian dollar","NGN":"Nigerian naira","NIO":"Nicaraguan córdoba","NOK":"Norwegian krone","NPR":"Nepalese rupee","NZD":"New Zealand dollar","OMR":"Omani rial","PAB":"Panamanian balboa","PEN":"Peruvian nuevo sol","PHP":"Philippine peso","PKR":"Pakistani rupee","PLN":"Polish zloty","PYG":"Paraguayan guarani","QAR":"Qatari riyal","RON":"Romanian leu","RSD":"Serbian dinar","RUB":"Russian ruble","RWF":"Rwandan Franc","SAR":"Saudi riyal","SDG":"Sudanese pound","SEK":"Swedish krona","SGD":"Singapore dollar","SOS":"Somali shilling","SYP":"Syrian pound","THB":"Thai baht","TND":"Tunisian dinar","TOP":"Tongan Pa'anga","TRY":"Turkish new lira","TTD":"Trinidad and Tobago dollar","TWD":"New Taiwan dollar","TZS":"Tanzanian shilling","UAH":"Ukrainian hryvnia","UGX":"Ugandan shilling","UYU":"Uruguayan peso","UZS":"Uzbekistani som","VEF":"Venezuelan Bolívar Fuerte","VND":"Vietnamese dong","XAF":"Central African CFA franc","XOF":"West African CFA franc","YER":"Yemeni rial","ZAR":"South African rand","ZMK":"Zambian kwacha","ZWL":"Zimbabwean Dollar","ANG":"Netherlands Antillean gulden","AOA":"Angolan kwanza","AWG":"Aruban florin","BBD":"Barbadian dollar","BMD":"Bermudian dollar","BSD":"Bahamian dollar","BTC":"Bitcoin","BTN":"Bhutanese ngultrum","CLF":"Chilean Unit of Account (UF)","CNH":"Chinese Yuan (Offshore)","CUC":"Cuban peso","CUP":"Cuban Peso","FJD":"Fijian dollar","FKP":"Falkland Islands pound","GGP":"GGPro","GIP":"Gibraltar pound","GMD":"Gambian dalasi","GYD":"Guyanese dollar","HTG":"Haitian gourde","IMP":"CoinIMP","JEP":"Jersey Pound","KGS":"Kyrgyzstani som","KPW":"North Korean won","KYD":"Cayman Islands dollar","LAK":"Lao kip","LRD":"Liberian dollar","LSL":"Lesotho loti","MNT":"Mongolian tugrik","MRO":"Mauritanian ouguiya","MRU":"Mauritanian Ouguiya","MVR":"Maldivian rufiyaa","MWK":"Malawian kwacha","PGK":"Papua New Guinean kina","SBD":"Solomon Islands dollar","SCR":"Seychellois rupee","SHP":"Saint Helena pound","SLL":"Sierra Leonean leone","SRD":"Surinamese dollar","SSP":"South Sudanese Pound","STD":"São Tomé and Príncipe Dobra (pre-2018)","STN":"Steneum Coin","SVC":"Salvadoran Colón","SZL":"Swazi lilangeni","TJS":"Tajikistani somoni","TMT":"Turkmen manat","VUV":"Vanuatu vatu","WST":"Samoan tala","XAG":"Silver Ounce","XAU":"XauCoin","XCD":"East Caribbean dollar","XDR":"Special Drawing Rights","XPD":"PetroDollar","XPF":"CFP franc","XPT":"Plata","ZMW":"Zambian Kwacha","ARC*":"Arcade City","CLUB":"ClubCoin","007":"007 coin","ZCN":"0chain","ZRX":"0x","0xBTC":"0xBitcoin","BIT16":"16BitCoin","MCT":"1717 Masonic Commemorative Token","1CR":"1Credit","1WO":"1World","CHAO":"23 Skidoo","ARMS":"2Acoin","2BACCO":"2BACCO Coin","2GIVE":"2GiveCoin","2TF":"2TF","32BIT":"32Bitcoin","3XD":"3DChain","3DES":"3DES","8BT":"8 Circuit Studios","8BIT":"8BIT Coin","ATKN":"A-Token","AAA":"AAA Reserve Currency","RTB":"AB-CHAIN","ABC":"AB-Chain","AT":"ABCC Token","AC3":"AC3","ACA":"ACA Token","ACT":"ACT","ACOIN":"ACoin","AENT":"AEN","AEON":"AEON","AERGO":"AERGO","AGT":"AGATE","AIC":"AI Crypto","AIDOC":"AI Doctor","AIT":"AIChain Token","XAI*":"AICoin","AIOT":"AIOT Token","AITT":"AITrading","AXT":"AIX","ALX":"ALAX","ALIS":"ALISmedia","ALT":"ALTcoin","AMBT":"AMBT Token","AMIS":"AMIS","AMLT":"AMLT","AMO":"AMO Coin","ANON":"ANON","ANTS":"ANTS Reloaded","APIS":"APIS","APS":"APRES","QEY":"AQwire","ARB*":"ARBITRAGE","ARE":"ARENON","ARK":"ARK","ARNA":"ARNA Panacea","ARR":"ARROUND","ASGC":"ASG","ASQT":"ASQ Protocol","ATB":"ATB coin","ATCC":"ATC Coin","ATFS":"ATFS Project","ATL":"ATLANT","ATM":"ATMChain","AUC*":"AU-Coin","AWAX":"AWAX","AXR":"AXRON","AXS":"AXS","ABELE":"Abele","ABJ":"Abjcoin","ABS":"Absolute Coin","ACC*":"Accelerator Network","ACCO":"Accolade","AEC":"AcesCoin","ACES":"AcesCoin","ACT*":"Achain","ACH":"AchieveCoin","ACID":"AcidCoin","OAK":"Acorn Collective","ACM":"Actinium","ACTN":"Action Coin","AMT":"Acumen","AAC":"Acute Angle Cloud","ACC":"AdCoin","ADX":"AdEx","ADT":"AdToken","ADAB":"Adab Solutions","ADM":"Adamant","ADB":"Adbank","ADL":"Adelphoi","ADH":"Adhive","ADI":"Aditus","ADST":"Adshares","AIB":"AdvancedInternetBlock","ADZ":"Adzcoin","AGS":"Aegis","AEN":"Aenco","AERM":"Aerium","AERO":"Aero Coin","AM":"AeroMe","ARN":"Aeron","XRM":"Aerum","AER":"Aeryus","AE":"Aeternity","ATT":"Aeternum","AET":"AfterEther","AGVC":"AgaveCoin","ESTATE":"AgentMile","AGRS":"Agoras Token","DLT":"Agrello Delta","AHT":"Ahoolee","AIBB":"AiBB","AID":"AidCoin","ADN":"Aiden","ADK":"Aidos Kuneen","AIX":"Aigang","AIM":"Aimedis","AION":"Aion","APOD":"AirPod","AST":"AirSwap","AIR":"AirToken","AIRT":"Aircraft","AKA":"Akroma","ALCE":"Alcedo","ALEX":"Alexandrite","PLM":"Algo.Land","ALG":"Algory","ABBC":"Alibabacoin","ALN":"AlienCoin","SOC":"All Sports Coin","AFO":"AllForOneBusiness","ASAFE2":"Allsafe","APC":"AlpaCoin","ALPS":"Alpenschillling","ALF":"AlphaCoin","AX":"AlphaX","ACAT":"Alphacat","ALP":"Alphacon","APZ":"Alprockz","ALQO":"Alqo","ALTCOM":"AltCommunity Coin","ALTOCAR":"AltoCar","ALUX":"Alux Bank","AS":"AmaStar","AMBER":"AmberCoin","AMB":"Ambrosus","AMC":"AmericanCoin","AMX":"Amero","AMMO":"Ammo Rewards","AMN":"Amon","AMOS":"Amos","VEO":"Amoveo","AMS":"Amsterdam Coin","AMY":"Amygws","ANCP":"Anacrypt","ANAL":"AnalCoin","ACP":"Anarchists Prime","AND":"AndromedaCoin","ANGL":"Angel Token","AVH":"Animation Vision Cash","ANI":"Animecoin","ANK":"Ankorus Token","ANKR":"Ankr Network","ANC":"Anoncoin","RYZ":"Anryze","ANTI":"Anti Bitcoin","ATHK":"AntiHACK.me","ANTC":"AntiLitecoin","CPX":"Apex Token","APEX":"ApexCoin","APH":"Aphelion","APL":"Apollo Currency","APXT":"ApolloX","XAP":"Apollon","APPC":"AppCoins","APT":"Aptcoin","APX":"Apx","AQUA":"Aquachain","ARCO":"AquariusCoin","AR*":"Ar.cash","ARQ":"ArQmA","ALC":"Arab League Coin","ANT":"Aragon","ARAW":"Araw","ARBI":"Arbi","ARB":"Arbit Coin","ARCT":"ArbitrageCT","ABT":"ArcBlock","ARCX":"ArcadierX","ARCH":"ArchCoin","ARC":"ArcticCoin","ARDR":"Ardor","ARENA":"Arena","ARG":"Argentum","AGM":"Argoneum","ARGUS":"ArgusCoin","ARI":"AriCoin","ARO":"Arionum","BOTS":"ArkDAO","ARM":"Armory Coin","ARPA":"ArpaCoin","ABY":"ArtByte","ATP":"ArtPro","ARTE":"Artemine","ATX":"ArtexCoin","AUA":"ArubaCoin","ASN":"Ascension Coin","XAS":"Asch","AC":"Asia Coin","ADCN":"Asiadigicoin","ATX*":"Aston","AST*":"Astral","ASTRO":"Astronaut","ATH":"Atheios","THO":"Athero","ATMOS":"Atmos","ATOM":"Atomic Coin","AWC":"Atomic Wallet Coin","ATMI":"Atonomi","ATTR":"Attrace","AUC":"Auctus","ADC":"AudioCoin","REP":"Augur","AUK":"Aukcecoin","AURS":"Aureus","AURA":"Aurora","AUR":"Aurora Coin","AURUM":"Aurum","AUN":"Authoreon","ATS":"Authorship","AUPC":"Authpaper","ABX":"AutoBay","ATC":"AutoBlock","NIO*":"Autonio","AUT":"Autoria","ATM*":"Autumncoin","Auxilium":"Auxilium","AVA":"Avalon","AV":"Avatar Coin","AVT":"AventCoin","AOP":"Averopay","AVE":"Avesta","ACN":"AvonCoin","WORK":"Aworker","AXIOM":"Axiom Coin","AXYS":"Axys","AZART":"Azart","AZ":"Azbit","AZU":"Azultec","B21":"B21","B2B":"B2BX","B3":"B3 Coin","KB3":"B3Coin","BAX":"BABB","BANCA":"BANCA","BKX":"BANKEX","BBN":"BBNCOIN","BCV":"BCV Blue Chip","BEAT":"BEAT Token","BEER":"BEER Coin","BERN":"BERNcash","BEX":"BEX token","BFT":"BF Token","BFEX":"BFEX","BHPC":"BHPCash","BITTO":"BITTO","VEE":"BLOCKv","BMT":"BMChain","BSC*":"BOONSCoin","BST*":"BOOSTO","BOS":"BOScoin","BQC":"BQCoin","BQTX":"BQT","BVO":"BRAVO Pay","BRAT":"BROTHER","BTCL":"BTC Lite","BTCM":"BTCMoon","BTU":"BTU Protocol","BAAS":"BaaSid","BAN":"Babes and Nerds","BKC":"Balkancoin","NANAS":"BananaBits","BNT":"Bancor Network Token","XBANK":"Bancryp","B@":"BankCoin","BNK":"Bankera","BCOIN":"BannerCoin","BBN*":"Banyan Network","BBCC":"BaseballCardCoin","BASHC":"BashCoin","BAT":"Basic Attention Token","BASIS":"Basis","BTA":"Bata","BCX":"BattleCoin","BSTK":"BattleStake","SAND":"BeachCoin","BEAM":"Beam","BEAN":"BeanCash","BRDD":"BeardDollars","XBTS":"Beats","BTZC":"BeatzCoin","BEC":"Beauty Chain","BVC":"BeaverCoin","BXY":"Beaxy","BEE":"Bee Token","BFDT":"Befund","BELA":"Bela","BBI":"BelugaPay","BMK":"Benchmark","BNC":"Benjacoin","BENJI":"BenjiRolls","BEST":"BestChain","KNG":"BetKings","CHART":"BetOnChart","BET":"BetaCoin","BFC":"Betform","BETHER":"Bethereum","KRO":"Betoken","BTRM":"Betrium Token","BETR":"BetterBetting","BTXC":"Bettex coin","BETT":"Bettium","BC":"Beverage.cash","BZNT":"Bezant","BEZ":"Bezop","BGG":"Bgogo Token","BNR":"BiNeuro","BBP":"BiblePay","BIX":"BiboxCoin","BID":"BidCoin","BDP":"Bidipass","DOOH":"Bidooh","BDB":"Big Data Block","BBG":"BigBang","HUGE":"BigCoin","LFC":"BigLifeCoin","BIGUP":"BigUp","BBO":"Bigbom","BHC":"BighanCoin","BIC":"Bikercoins","BLRY":"BillaryCoin","XBL":"Billionaire Token","BNB":"Binance Coin","BRC*":"BinaryCoin","BIOB":"BioBar","BIOC":"BioCrypt","BIO":"Biocoin","BIOS":"BiosCrypto","BTRN":"Biotron","BIPC":"BipCoin","BIS":"Bismuth","BZ":"Bit-Z","BAS":"BitAsean","BTB":"BitBar","BAY":"BitBay","BBK":"BitBlocks","BBT":"BitBoost","BOSS":"BitBoss","BRONZ":"BitBronze","BCD*":"BitCAD","BEN":"BitCOEN","BCNA":"BitCanna","BITCAR":"BitCar","CAT*":"BitClave","COAL":"BitCoal","BCCOIN":"BitConnect Coin","BCR":"BitCredit","BTCRY":"BitCrystal","BCY":"BitCrystals","BTCR":"BitCurrency","BDG":"BitDegree","CSNO":"BitDice","HNY":"BitFence","BFX":"BitFinex Tokens","FLIP":"BitFlip","FLX*":"BitFlux","BF":"BitForex Token","HIRE*":"BitHIRE","BIH":"BitHostCoin","STU":"BitJob","BTLC":"BitLuckCoin","LUX*":"BitLux","BTM":"BitMark","BMX":"BitMart Coin","BTMX":"BitMax Token","BTMI":"BitMiles","BITM":"BitMoney","BM":"BitMoon","BITOK":"BitOKX","BTQ":"BitQuark","RNTB":"BitRent","BIT":"BitRewards","BSCH":"BitSchool","BITX":"BitScreener","XSEED":"BitSeeds","BTE*":"BitSerial","BSR":"BitSoar Coin","BTSG":"BitSong","STASH":"BitStash","BSTN":"BitStation","BST":"BitStone","SWIFT":"BitSwift","BXT":"BitTokens","BTT":"BitTorrent","TUBE":"BitTube","VEG":"BitVegan","VOLT":"BitVolt","BTW":"BitWhite","ZNY":"BitZeny","XBOND":"Bitacium","BTCA":"Bitair","BAC":"BitalphaCoin","BB1":"Bitbond","BOSE":"Bitbose","BTMG":"Bitcademy Football","BTD":"Bitcloud","BTDX":"Bitcloud 2.0","BTCN":"BitcoiNote","B2G":"Bitcoiin2Gen","BCA":"Bitcoin Atom","CDY":"Bitcoin Candy","BCH":"Bitcoin Cash","BTCC":"Bitcoin Core","BCD":"Bitcoin Diamond","BTG":"Bitcoin Gold","BITG":"Bitcoin Green","BTCH":"Bitcoin Hush","XBI":"Bitcoin Incognito","BCI":"Bitcoin Interest","BTPL":"Bitcoin Planet","BTCP":"Bitcoin Private","BTCRED":"Bitcoin Red","BCR*":"Bitcoin Royal","BSV":"Bitcoin SV","BTCS":"Bitcoin Scrypt","BT2":"Bitcoin SegWit2X","BTCS*":"Bitcoin Supreme","BTCD":"BitcoinDark","BTCE*":"BitcoinEX","BCF":"BitcoinFast","BIFI":"BitcoinFile","BTF*":"BitcoinFor","BTCGO":"BitcoinGo","XBC":"BitcoinPlus","BWS":"BitcoinWSpectrum","BCX*":"BitcoinX","BTCZ":"BitcoinZ","BTCUS":"Bitcoinus","BM*":"Bitcomo","BTX":"Bitcore","DARX":"Bitdaric","BDL":"Bitdeal","XBX":"BiteX","BT1":"Bitfinex Bitcoin Future","BTR":"Bither","BTH":"Bithereum","KAN":"Bitkan","BTCL*":"BitluckCoin","BIM":"BitminerCoin","BMXT":"Bitmxittz","XPAT":"Bitnation Pangea","BQ":"Bitqy","BRO":"Bitradio","BTL":"Bitrolium","BITSD":"Bits Digit","BINS":"Bitsense","BTS":"Bitshares","BSX":"Bitspace","XBS":"Bitstake","BITS":"BitstarCoin","BITS*":"Bitswift","BWT":"Bittwatt","BTV":"Bitvote","BWT2":"Bitwin 2.0","BITZ":"Bitz Coin","BTZ":"BitzCoin","BTZN":"Bitzon","BXM":"Bixtrim","BZKY":"Bizkey","XBP":"Black Pearl Coin","BLK":"BlackCoin","BS":"BlackShadowCoin","BBOS":"Blackbox Foundation","BHC*":"BlackholeCoin","BMC":"Blackmoon Crypto","BSTAR":"Blackstar","BBTC":"BlakeBitcoin","BLC":"BlakeCoin","BLAS":"BlakeStar","BLAZR":"BlazerCoin","BLKD":"Blinked","BLITZ":"BlitzCoin","XBP*":"BlitzPredict","ARY":"Block Array","BLTG":"Block-Logic","BCAT":"BlockCAT","BCDN":"BlockCDN","LNC":"BlockLancer","BCPT":"BlockMason Credit Protocol","BMH":"BlockMesh","BLOCK":"BlockNet","BLOCKPAY":"BlockPay","BPL":"BlockPool","BCAP":"Blockchain Capital","BCDT":"Blockchain Certified Data Token","BLX":"Blockchain Index","BCT":"Blockchain Terminal","BTF":"Blockchain Traded Fund","BCIO":"Blockchain.io","PASS":"Blockpass","BPT":"Blockport","CCC*":"Blockshipping","TIX":"Blocktix","BKT":"Blocktrade token","BLV":"Blockvest","BNTN":"Blocnation","CYS":"BlooCYS","BLT":"Bloom Token","CDT":"Blox","BLU":"BlueCoin","BDR":"BlueDragon","BLZ":"Bluzelle","BNX":"BnrtxCoin","BOT":"Bodhi","BOE":"Bodhi","BOG":"Bogcoin","BOLD":"Bold","BLN*":"Bolenum","BOLI":"BolivarCoin","BOLTT":"BolttCoin","BOMB":"BombCoin","BONA":"Bonafi","BON*":"BonesCoin","BON":"Bonpay","BBR":"Boolberry","BOST":"BoostCoin","BMG":"Borneo","BOSON":"BosonCoin","BOS*":"Bostoken","BOTC":"BotChain","CAP":"BottleCaps","BTO":"Bottos","BOU":"Boulle","BNTE":"Bountie","XBTY":"Bounty","BNTY":"Bounty0x","BOUTS":"BoutsPro","AHT*":"Bowhead Health","BSC":"BowsCoin","BOXY":"BoxyCoin","IMPCN":"Brain Space","BRAIN":"BrainCoin","BRAZ":"Brazio","BRD":"Bread token","BRX":"Breakout Stake","BRK":"BreakoutCoin","BRIA":"Briacoin","XBB":"BrickBlock","BCO":"BridgeCoin","BRC":"BrightCoin","BRIK":"BrikBit","BRIT":"BritCoin","BRNX":"Bronix","BXC":"BtcEX","BUBO":"Budbo","BUD":"Buddy","BGL":"Buglab","BT":"BuildTeam","BULLS":"BullshitCoin","BWK":"Bulwark","BUN":"BunnyCoin","BURST":"BurstCoin","BUZZ":"BuzzCoin","BYC":"ByteCent","BTE":"ByteCoin","BCN":"ByteCoin","GBYTE":"Byteball","BYTHER":"Bytether","BTM*":"Bytom","XCT":"C-Bits","C25":"C25 Coin","CAIx":"CAIx","CBD":"CBD Crystals","CCC":"CCCoin","CDRX":"CDRX","CDX":"CDX Network","CEDEX":"CEDEX Coin","CEEK":"CEEK Smart VR Token","CETI":"CETUS Coin","CHIPS":"CHIPS","CIC":"CIChain","CINX":"CINDX","CINNI":"CINNICOIN","CLAM":"CLAMS","CO2":"CO2 Token","CMS":"COMSA","CNCT":"CONNECT","CPY":"COPYTRACK","COSS":"COSS","COTI":"COTI","CPC*":"CPChain","MLS":"CPROP","CPROP":"CPROP","CRWD":"CRWD Network","CMZ":"CRYPTOMAGZ","CRS*":"CRYSTALS","CYBR":"CYBR","CAB":"CabbageUnit","CHE":"Cache","CACH":"Cachecoin","CF":"Californium","CALC":"CaliphCoin","CLO":"Callisto Network","CAM":"Camcoin","CMPCO":"CampusCoin","CAN":"CanYaCoin","CND*":"Canada eCoin","CDN":"Canada eCoin","CAND":"Canlead","CCN":"CannaCoin","XCI":"Cannabis Industry Coin","CANN":"CannabisCoin","CNAB":"Cannabium","CAPP":"Cappasity","CPC":"CapriCoin","CAR":"CarBlock","CTX":"CarTaxi","CV":"CarVertical","CARAT":"Carats Token","CUSD":"Carbon","CARBON":"Carboncoin","ADA":"Cardano","CARD":"Cardstack","CARE*":"Care Token","CARE":"Carebit","CRGO":"CargoCoin","TICS":"CargoConX","CXO":"CargoX","DIEM":"CarpeDiemCoin","CTC":"CarterCoin","CNBC":"Cash & Back Coin","CASH*":"Cash Poker Pro","CBC*":"CashBagCoin","CBC":"CashBet Coin","CASH":"CashCoin","CSH":"CashOut","CAS":"Cashaa","CSC":"CasinoCoin","CST":"Casper API","CSP":"Caspian","CSTL":"Castle","CAT":"Catcoin","CATT":"Catex","CVTC":"CavatCoin","CAV":"Caviar","CCO":"Ccore","CEL":"Celsius Network","CTR":"Centra","CENNZ":"Centrality Token","CNT":"Centurion","CBS":"Cerberus","XCE":"Cerium","CHC":"ChainCoin","LINK":"ChainLink","ZILLA":"ChainZilla","CHX":"Chainium","CHAN":"ChanCoin","CAG":"Change","CHA":"Charity Coin","CHARM":"Charm Coin","CXC":"CheckCoin","CHK":"Chek","CHESS":"ChessCoin","CHILD":"ChildCoin","CNC":"ChinaCoin","CHIP":"Chip","CHOOF":"ChoofCoin","DAY":"Chronologic","CRX":"ChronosCoin","CHW":"Chrysalis Coin","CLPX":"Chynge.net","CIN":"CinderCoin","CND":"Cindicator","CIR":"CircuitCoin","COVAL":"Circuits of Value","CTL":"Citadel","CTW":"Citowise","CVC":"Civic","CLRTY":"Clarity","CAID":"ClearAid","XCLR":"ClearCoin","POLL":"ClearPoll","CLV":"CleverCoin","CHASH":"CleverHash","CLICK":"Clickcoin","CLIN":"Clinicoin","CLINT":"Clinton","CCCX":"Clipper Coin Capital","CLOAK":"CloakCoin","CKC":"Clockcoin","CLD":"Cloud","CLOUT":"Clout","CLDX":"Cloverdex","CLUD":"CludCoin","COE":"CoEval","COT":"CoTrader","COVEX":"CoVEX","COB":"Cobinhood","COX":"CobraCoin","CTT":"CodeTract","CFC":"CoffeeCoin","CFI":"Cofound.it","COGEN":"Cogenero","COGS":"Cogmento","COG":"Cognitio","COIN*":"Coin","COY":"Coin Analyst","XMG":"Coin Magi","BTTF":"Coin to the Future","C2":"Coin.2","CONI":"CoinBene","CET":"CoinEx token","COFI":"CoinFi","XCJ":"CoinJob","CL":"CoinLancer","LION":"CoinLion","MEE":"CoinMeet","MEET":"CoinMeet","XCM":"CoinMetro","CPL":"CoinPlace Token","CHP":"CoinPoker Token","CPEX":"CoinPulseToken","CCH":"Coinchase","DAILY":"Coindaily","CGT":"Coingrid","CTIC":"Coinmatic","COI":"Coinnec","CNO":"Coino","CNMT":"Coinomat","CXT":"Coinonat","XCXT":"CoinonatX","TCJ":"Coinshare","CEN":"Coinsuper Ecosystem Network","COIN":"Coinvest","CWT":"Coinware","CXG":"Coinxes","COLX":"ColossusCoinXT","CLN":"Colu Local Network","CBP":"ComBox","CMTC":"CometCoin","CBT":"CommerceBlock Token","CMM":"Commercium","COMM":"Community Coin","COC":"Community Coin","CMP":"Compcoin","COMP":"Compound Coin","CPN":"CompuCoin","CYC":"ConSpiracy Coin","CNL":"ConcealCoin","RAIN":"Condensate","CFD":"Confido","CJR":"Conjure","CJT":"ConnectJob Token","CTY":"Connecty","CQST":"ConquestCoin","SEN*":"Consensus","DAG":"Constellation","CNN":"Content Neutrality Network","CAN*":"Content and AD Network","BOX":"ContentBox","COS":"Contentos","CUZ":"Cool Cousin","COOL":"CoolCoin","CCX":"CoolDarkCoin","XCPO":"Copico","CLR":"CopperLark","CORAL":"CoralPay","CORE":"Core Group Asset","COR":"Corion","CTXC":"Cortex","COSX":"Cosmecoin","CSMIC":"Cosmic","CMOS":"Cosmo","COSM":"CosmoChain","ATOM*":"Cosmos","CMC":"CosmosCoin","COU":"Couchain","XCP":"CounterParty","CHT":"Countinghouse Fund","COV*":"CovenCoin","COV":"Covesting","CPLO":"Cpollo","CRAB":"CrabCoin","CRACK":"CrackCoin","CRAFT":"Craftcoin","CFTY":"Crafty","CRAIG":"CraigsCoin","CRNK":"CrankCoin","CRAVE*":"Crave-NG","CRAVE":"CraveCoin","CRV":"Cravy","CZC":"Crazy Coin","CRM":"Cream","XCRE":"Creatio","CREA":"CreativeChain","CRDNC":"Credence Coin","PESA":"Credible","CREDIT":"Credit","CRB":"Creditbit","CRE*":"Creditcoin","CCOIN":"Creditcoin","CDPT":"Creditor Data Platform","CRE":"Credits","CRDS":"Credits","CS*":"Credits","CFT*":"Credo","CREDO":"Credo","CREVA":"Creva Coin","CROAT":"Croat","CMCT":"Crowd Machine","CRC***":"CrowdCoin","CCOS":"CrowdCoinage","CRF":"CrowdForce","CDP":"CrowdPrecision","YUP":"Crowdholding","WIZ":"Crowdwiz","CRW":"Crown Coin","CRC**":"CryCash","IPT":"Crypt-ON","CRYPT":"CryptCoin","CPT":"Cryptaur","CRL":"Cryptelo Coin","CRPT":"Crypterium","XCR":"Crypti","CRYP":"CrypticCoin","QRP":"Cryptics","CTO":"Crypto","ANGEL":"Crypto Angel","CESC":"Crypto Escudo","CIF":"Crypto Improvement Fund","CSPN":"Crypto Sports","TKT":"Crypto Tickets","CWEX":"Crypto Wine Exchange","CWIS":"Crypto Wisdom Coin","CWX":"Crypto-X","MCO":"Crypto.com","CRO":"Crypto.com Chain Token","C20":"Crypto20","CABS":"CryptoABS","BUK":"CryptoBuk","CBX":"CryptoBullion","CCRB":"CryptoCarbon","CIRC":"CryptoCircuits","FCS":"CryptoFocus","CFT":"CryptoForecast","CHBR":"CryptoHub","TKR":"CryptoInsight","CJ":"CryptoJacks","CJC":"CryptoJournal","LEU":"CryptoLEU","CPAY":"CryptoPay","CRPS":"CryptoPennies","PING":"CryptoPing","CP":"CryptoProfile","CREV":"CryptoRevolution","CR":"CryptoRiyal","CS":"CryptoSpots","CWV":"CryptoWave","CWXT":"CryptoWorldXToken","CRON":"Cryptocean","CCIN":"Cryptocoin Insurance","CDX*":"Cryptodex","CGA":"Cryptographic Anomaly","CIX100":"Cryptoindex","CYT":"Cryptokenz","CIX":"Cryptonetix","CNX":"Cryptonex","XCN":"Cryptonite","CEFS":"CryptopiaFeeShares","CRS":"Cryptoreal","CXA":"CryptovationX","OXY2":"Cryptoxygen","MN":"Cryptsy Mining Contract","POINTS":"Cryptsy Points","CRTM":"Cryptum","CVCOIN":"Crypviser","CCT":"Crystal Clear Token","AUTO":"Cube","QBT":"Cubits","CUR":"Cura Network","CTKN":"Curaizon","CURE":"Curecoin","CRU":"Curium","CBUK":"CurveBlock","CHFT":"CustomCoin","CCL":"CyClean","XCS":"CybCSec Coin","CCI":"Cyber Capital Invest","CC":"CyberCoin","CMT":"CyberMiles","CABS*":"CyberTrust","CVT":"CyberVein","CRE**":"Cybereits Token","CYDER":"Cyder Coin","CYG":"Cygnus","CYP":"CypherPunkCoin","FUNK":"Cypherfunks Coin","CYRS":"Cyrus Token","DACH":"DACH Coin","DAC":"DACash","DADI":"DADI","DAX":"DAEX","BET*":"DAO.casino","GEN*":"DAOstack","DAPS":"DAPS Token","DAS":"DAS","DATX":"DATx","DAV*":"DAV","DRP":"DCORP","DEEX":"DEEX","CET*":"DICE Money","DIM":"DIMCOIN","DIW":"DIWtoken","DMT":"DMarket","DNTX":"DNAtix","DNN":"DNN Token","MTC":"DOCADEMIC","DOV":"DOVU","DREAM*":"DREAM","DRPU":"DRP Utility","DRACO":"DT Token","DYNO":"DYNO","DAI":"Dai","DAN":"Daneel","DXC*":"Daox","DAR":"Darcrus","PROD":"Darenta","DEC":"Darico","DARK":"Dark","DISK":"Dark Lisk","MOOND":"Dark Moon","DB":"DarkBit","DRKC":"DarkCash","DCC":"DarkCrave","DETH":"DarkEther","DGDC":"DarkGold","DKC":"DarkKnightCoin","DANK":"DarkKush","DSB":"DarkShibe","DT":"DarkToken","DRKT":"DarkTron","DNET":"Darknet","DASC":"DasCoin","DASH":"Dash","DSH":"Dashcoin","DTA":"Data","DTT*":"Data Trading","DTX":"DataBroker DAO","DXT":"DataWallet","DTB":"Databits","DBCCOIN":"Datablockchain","DTC*":"Datacoin","XDT":"Dataeum","DTN":"Datareum","DTRC":"Datarius","DAT":"Datum","DAV":"DavorCoin","DAXX":"DaxxCoin","DTC":"DayTrader Coin","DAYTA":"Dayta","DHT":"DeHedge Token","DNET*":"DeNet","XNA":"DeOxyRibose","DBC*":"Debit Coin","DBTC":"DebitCoin","DEB":"Debitum Token","DCT":"Decent","DBET":"Decent.bet","MANA":"Decentraland","DACC":"Decentralized Accessible Content Chain","DML":"Decentralized Machine Learning","DUBI":"Decentralized Universal Basic Income","HST":"Decision Token","DCR":"Decred","DEEP":"Deep Gold","DBC":"DeepBrain Chain","ONION":"DeepOnion","DEA":"Degas Coin","DEI":"Deimos","DKD":"Dekado","DEL":"DelChain","DPAY":"DelightPay","DPT":"Deliverers Power Token","DPY":"Delphy","DLXV":"Delta-X","DCRE":"DeltaCredits","DNR":"Denarius","DNO":"Denaro","DENT":"Dent","DCN":"Dentacoin","DFBT":"DentalFix","DEPO":"Depository Network","DERO":"Dero","DESI":"Desico","DSR":"Desire","DES":"Destiny","DTCT":"DetectorToken","DTH":"Dether","DVC":"DevCoin","EVE":"Devery","DEV":"Deviant Coin","DXG":"DexAge","DMD":"Diamond","DCK":"DickCoin","DIGS":"Diggits","DGB":"DigiByte","DGC":"DigiCoin","CUBE":"DigiCube","DEUR":"DigiEuro","DIGIF":"DigiFel","DFXT":"DigiFinexToken","DGM":"DigiMoney","DGPT":"DigiPulse","DGMS":"Digigems","DAGT":"Digital Asset Guarantee Token","DPP":"Digital Assets Power Play","DBG":"Digital Bullion Gold","DDF":"Digital Developers Fund","DFS":"Digital Fantasy Sports","TMTG":"Digital Gold Exchange","DRS":"Digital Rupees","XDN":"DigitalNote","DP":"DigitalPrice","DGTX":"Digitex Futures","WAGE":"Digiwage","DGD":"Digix DAO","DGX":"Digix Gold token","DIG":"Dignity","DIME":"DimeCoin","DCY":"Dinastycoin","DIN":"Dinero","XDQ":"Dirac Coin","DIS":"DiscoveryIoT","DCC*":"Distributed Credit Chain","DIT":"Ditcoin","DIVX":"Divi Exchange Token","DIVI":"Divi Project","DTC**":"DivotyCoin","DXC":"DixiCoin","DLISK":"Dlisk","NOTE":"Dnotes","DOC":"Doc Coin","NRN":"Doc.ai Neuron","DOCK":"Dock.io","DOGED":"DogeCoinDark","DGORE":"DogeGoreCoin","XDP":"DogeParty","DOGE":"Dogecoin","DLA":"Dolla","DT1":"Dollar Token 1","DLC":"DollarCoin","DLR":"DollarOnline","DRT":"DomRaider","DON":"DonationCoin","DDL":"Donocle","DOPE":"DopeCoin","DOR":"Dorado","DOT":"Dotcoin","BOAT":"Doubloon","Dow":"DowCoin","DRA":"DraculaCoin","DFT":"Draftcoin","DRG":"Dragon Coin","XDB":"DragonSphere","DRGN":"Dragonchain","DRM8":"Dream8Coin","DREAM":"DreamTeam Token","DRF":"Drife","DRZ":"Droidz","DRC":"Dropcoin","DROP":"Dropil","DRXNE":"Droxne","DUB":"DubCoin","DBIC":"DubaiCoin","DBIX":"DubaiCoin","DUCK":"DuckDuckCoin","DUSK":"Dusk Network","DUTCH":"Dutch Coin","DUX":"DuxCoin","DYC":"Dycoin","DYN":"Dynamic","DTR":"Dynamic Trading Rights","DYNCOIN":"Dyncoin","DTEM":"Dystem","DBR":"Düber","ECC*":"E-CurrencyCoin","EDR":"E-Dinar Coin","EFL":"E-Gulden","EB3":"EB3coin","EBC":"EBCoin","ECC":"ECC","OMI":"ECOMI","ECO":"ECOcoin","EDRC":"EDRCoin","EGO":"EGOcoin","EJAC":"EJA Coin","ELTCOIN":"ELTCOIN","EMANATE":"EMANATE","EMX":"EMX","ET":"ENDO","ENTRC":"ENTER COIN","ENTRY":"ENTRY","EOT*":"EON","EOS":"EOS","EPIK":"EPIK Token","EQL":"EQUAL","EQ":"EQUI","EQUI":"EQUI Token","ERB":"ERBCoin","EST":"ESports Chain","XBASE":"ETERBASE","ETS":"ETH Share","ERA":"ETHA","ETHO":"ETHER-1","EGAS":"ETHGAS","EUNO":"EUNO","EVOS":"EVOS","EXMR":"EXMR","EXRN":"EXRNchain","ETE":"EXTRADECOIN","EYE":"EYE Token","EZX":"EZ Exchange","EZC":"EZCoin","EZM":"EZMarket","EZT":"EZToken","EA":"EagleCoin","EAGS":"EagsCoin","EARTH":"Earth Token","EAC":"EarthCoin","EGDC":"EasyGuide","EMT":"EasyMine","ETKN":"EasyToken","EBZ":"Ebitz","EBS":"EbolaShare","EKO":"EchoLink","EC":"Eclipse","ECOB":"EcoBit","ECR":"EcoVerse","EDDIE":"Eddie coin","EDN":"EdenChain","EDGE":"EdgeCoin","EDG":"Edgeless","EDU":"EduCoin","LEDU":"Education Ecosystem","EDC":"EducoinV","EGG":"EggCoin","EGT":"Egretia","EDO":"Eidoo","EMC2":"Einsteinium","ELC":"Elacoin","XEL":"Elastic","ELA":"Elastos","ECA":"Electra","ELEC":"Electrify.Asia","ELT":"Electron","ETN":"Electroneum","EKN":"Elektron","ELE":"Elementrem","ELM":"Elements","ELES":"Elements Estates","ELI*":"Elicoin","ELI":"Eligma","ELIX":"Elixir","ELLA":"Ellaism","ELP":"Ellerium","ELLI":"ElliotCoin","ELY":"Elysian","ELS":"Elysium","AEC*":"EmaratCoin","EMB":"EmberCoin","MBRS":"Embers","EMD":"Emerald","EMC":"Emercoin","EMN":"Eminent Token","EMIGR":"EmiratesGoldCoin","EPY*":"Emphy","PLEO":"Empleos","EMPC":"EmporiumCoin","EPY":"Empyrean","ENCX":"Encrybit","DNA":"EncrypGen","ETT":"EncryptoTel","ENCN":"EndChain","EDR*":"Endor Protocol Token","ENE":"EneCoin","ENQ":"Enecuum","NRG":"Energi","ETK":"Energi Token","TSL":"Energo","ENRG":"EnergyCoin","ENGT":"Engagement Token","EGCC":"Engine","XNG":"Enigma","ENG":"Enigma","ENJ":"Enjin Coin","ENK":"Enkidu","ENTER":"EnterCoin (ENTER)","ENTRP":"Entropy Token","ENU":"Enumivo","ENV":"Envienta","EVN":"Envion","NVOY":"Envoy","ZYM":"Enzym","EQUAL":"EqualCoin","EQT":"EquiTrader","EQB":"Equibit","EQM":"Equilibrium Coin","EQY":"Eqwity","ERE":"Erecoin","EFYT":"Ergo","ERT*":"Eristica","ERO":"Eroscoin","ERR":"ErrorCoin","ERY":"Eryllium","ESP":"Espers","ERT":"Esports.com","ESS":"Essentia","ETALON":"Etalon","XEC":"Eternal Coin","XET":"Eternal Token","ETT*":"Eternal Trusts","ENT":"Eternity","EBET":"EthBet","ETBS":"EthBits","LEND":"EthLend","HEAL":"Etheal","ETHB":"EtherBTC","EDT":"EtherDelta","DOGETH":"EtherDoge","ETI":"EtherInc","ETL":"EtherLite","ESZ":"EtherSportz","ETZ":"EtherZero","ECH":"EthereCash","ETH":"Ethereum","ETBT":"Ethereum Black","BLUE":"Ethereum Blue","ECASH":"Ethereum Cash","ETC":"Ethereum Classic","ETHD":"Ethereum Dark","ETG":"Ethereum Gold","ETHM":"Ethereum Meta","EMV":"Ethereum Movie Venture","ETHPR":"Ethereum Premium","EQC":"Ethereum Qchain Token","LNK":"Ethereum.Link","BTCE":"EthereumBitcoin","ETF":"EthereumFog","ELITE":"EthereumLite","ETHS":"EthereumScrypt","DIP":"Etherisc","RIYA":"Etheriya","DICE":"Etheroll","FUEL":"Etherparty","ESN":"Ethersocial","ESC":"Ethersportcoin","NEC*":"Ethfinex Nectar Token","ETHIX":"EthicHub","HORSE":"Ethorse","ETHOS":"Ethos","ET4":"Eticket4","EUC":"Eurocoin","ECTE":"EurocoinToken","ERC":"EuropeCoin","EVN*":"EvenCoin","EVENT":"Event Token","EVC":"Eventchain","EGC":"EverGreenCoin","EVER":"EverLife.AI","EVX":"Everex","IQ":"Everipedia","EVR":"Everus","EOC":"EveryonesCoin","EVIL":"EvilCoin","EXB":"ExaByte (EXB)","XUC":"Exchange Union","EXCC":"ExchangeCoin","EXN":"ExchangeN","EXCL":"Exclusive Coin","EXE":"ExeCoin","XNT":"Exenium","EXC":"Eximchain","EXIT":"ExitCoin","EXO":"Exosis","EXP":"Expanse","EXPR":"Expercoin","XP":"Experience Points","EXT*":"Experience Token","EXY":"Experty","EON":"Exscudo","TAURI":"Extauri","EXTN":"Extensive Coin","XTRA":"ExtraCredit","ELT*":"ExtraLovers","XSB":"Extreme Sportsbook","XT":"ExtremeCoin","F16":"F16Coin","FARM":"FARM Coin","FX":"FCoin","FIBRE":"FIBRE","eFIC":"FIC Network","FLASH":"FLASH coin","FLIK":"FLiK","FLM":"FOLM coin","FOREX":"FOREXCOIN","FRED":"FREDEnergy","FREE":"FREE coin","FXP":"FXPay","FABA":"Faba Invest","FT":"Fabric Token","FC":"Facecoin","FACE":"Faceter","FTR":"FactR","FCT":"Factoids","FAIR":"FairCoin","FAIR*":"FairGame","FAIRC":"Faireum Token","FAME":"FameCoin","FAN":"Fan360","FANZ":"FanChain","XFT":"Fantasy Cash","FTM":"Fantom","FCN":"FantomCoin","FRD":"Farad","F2K":"Farm2Kitchen","FTT":"FarmaTrust","FST":"FastCoin","FTUM":"Fatum","DROP*":"FaucetCoin","FAZZ":"FazzCoin","FTC":"FeatherCoin","TIPS":"FedoraCoin","FET":"Fetch.AI","FIH":"Fidelity House","FLC":"Fieldcoin","FIII":"Fiii","FIL":"FileCoin","FFM":"Files.fm Library","FILL":"Fillit","FNTB":"FinTab","FNX":"FinanceX","FIND":"FindCoin","FNL":"Finlocale","FIN":"Finom FIN Token","NOM":"Finom NOM Token","FTX":"FintruX","FIRE":"FireCoin","FLOT":"FireLotto","FRC":"FireRoosterCoin","FFC":"FireflyCoin","1ST":"FirstBlood","FIRST":"FirstCoin","FRST":"FirstCoin","FIST":"FistBump","FIT":"Fitcoin","FRV":"Fitrova","FLAP":"Flappy Coin","FLX":"Flash","FLVR":"FlavorCoin","FNP":"FlipNpik","FLIXX":"Flixxo","FLO":"Flo","FLT":"FlutterCoin","FLUZ":"FluzFluz","FLY":"FlyCoin","FYP":"FlypMe","FOAM":"Foam","FLDC":"Folding Coin","FLLW":"Follow Coin","FNO":"Fonero","FONZ":"FonzieCoin","FOOD":"FoodCoin","FOPA":"Fopacoin","FOR":"Force Coin","XFC":"Forever Coin","FML":"FormulA","FFCT":"FortFC","FOTA":"Fortuna","FSBT":"Forty Seven Bank","FOXT":"Fox Trading","FRAC":"FractalCoin","FRN":"Francs","FRK":"Franko","FRWC":"Frankywillcoin","FRAZ":"FrazCoin","FGZ":"Free Game Zone","FRE":"FreeCoin","FRECN":"Freldo","FREC":"Freyrchain","FSC":"FriendshipCoin","FDZ":"Friendz","FUCK":"Fuck Token","FC2":"Fuel2Coin","FJC":"FujiCoin","NTO":"Fujinto","FLS":"Fuloos Coin","FUNC":"FunCoin","FUN":"FunFair","FUND":"Fund Platform","FUNDZ":"FundFantasy","FND":"FundRequest","FYN":"FundYourselfNow","ATON":"Further Network","FSN*":"Fusion","FSN":"Fusion","FUTC":"FutCoin","FTRC":"FutureCoin","FTP":"FuturePoints","FTW":"FutureWorks","FPC":"Futurepia","FTO":"FuturoCoin","FXT":"FuzeX","FUZZ":"Fuzzballs","GAIA":"GAIA Platform","GAKH":"GAKHcoin","GTX":"GALLACTIC","GMB":"GAMB","GAT":"GATCOIN","GBRC":"GBR Coin","GGR":"GGRocket","GTO":"GIFTO","GIN":"GINcoin","GIZ":"GIZMOcoin","GMC*":"GMC Coin","GPU":"GPU Coin","GSM":"GSM Coin","GXS":"GXChain","GBO":"Gabro.io","GEP":"Gaia","GNR":"Gainer","ORE":"Galactrum","GES":"Galaxy eSolutions","GLX":"GalaxyCoin","GALI":"Galilel","GLN":"Galion Token","GAM":"Gambit coin","GMCN":"GambleCoin","GTC":"Game","GXT":"Game Protocol","GBT":"GameBetCoin","GML":"GameLeagueCoin","GST":"GameStars","UNITS":"GameUnits","GX":"GameX","GAME":"Gamecredits","GDX":"Gamedex","FLP":"Gameflip","GNJ":"GanjaCoin V2","GAP":"Gapcoin","GRLC":"Garlicoin","GAS":"Gas","FORK":"Gastro Advisor Token","GBA":"Geeba","GEMA":"Gemera","GUSD":"Gemini Dollar","GEM":"Gems","GMS":"Gemstra","GEMZ":"Gemz Social","GXC*":"GenXCoin","GNX":"Genaro Network","GENX":"Genesis Network","GVT":"Genesis Vision","XGS":"GenesisX","GSY":"GenesysCoin","GEN":"Genstake","GEO":"GeoCoin","GUNS":"GeoFunders","GEON":"Geon","GER":"GermanCoin","SPKTR":"Ghost Coin","GHC":"GhostCoin","GHOUL":"Ghoul Coin","GIC":"Giant","GIFT":"GiftNet","GFT":"Giftcoin","GIG":"GigCoin","GBTC":"GigTricks","WTT":"Giga Watt","GZB":"Gigzi","GGS":"Gilgam","GIM":"Gimli","GMR":"Gimmer","GGC":"Gingr","GOT":"Giotto Coin","GIVE":"GiveCoin","GLA":"Gladius","GLOBE":"Global","GCR":"Global Currency Reserve","GJC":"Global Jobcoin","GSC":"Global Social Chain","GTC*":"Global Tour Coin","GTIB":"Global Trust Coin","BSTY":"GlobalBoost","GLC":"GlobalCoin","GLT":"GlobalToken","GVE":"Globalvillage Ecosystem","GSI":"Globex SCI","GBXT":"Globitex Token","GSX":"GlowShares","GLYPH":"GlyphCoin","GNO":"Gnosis","xGOx":"Go!","GBX":"GoByte","GO":"GoChain","GOT*":"GoToken","GOA":"GoaCoin","GOAL":"Goal Bonanza","GOAT":"Goat","GBE":"Godbex","GDL":"GodlyCoin","XR":"Gofind XR","GPL":"Gold Pressed Latinum","GRX":"Gold Reward Token","GB":"GoldBlocks","GLD":"GoldCoin","MNTP":"GoldMint","GP":"GoldPieces","XGR":"GoldReserve","GMA":"Goldchip Mining Asset","GEA":"Goldea","XGH":"Golden Hash","XGB":"GoldenBird","GLDR":"Golder Coin","GMX":"Goldmaxcoin","GNT":"Golem Network Token","GOLF":"GolfCoin","GOLOS":"Golos","GBG":"Golos Gold","GOOD":"GoodCoin","GOOD*":"Goodomy","GOON":"Goonies","BUCKS*":"GorillaBucks","GOTX":"GothicCoin","GRFT":"Graft Blockchain","GDC":"GrandCoin","GAI":"GraphGrail AI","77G":"GraphenTech","GRAV":"Graviton","GBIT":"GravityBit","WPP":"Green Energy Token","GRE":"GreenCoin","GRMD":"GreenMed","GEX":"GreenX","GNC":"Greencoin","GTN":"Greentoken","GREXIT":"GrexitCoin","GC":"Gric Coin","GRID":"Grid+","GRC":"GridCoin","GRM":"GridMaster","GMC":"Gridmaster","GRIN":"Grin","GRS":"Groestlcoin","GRO":"Gron Digital","GRWI":"Growers International","GROW":"GrownCoin","GRW":"GrowthCoin","GTR":"Gturbo","GET":"Guaranteed Entrance Token","GETX":"Guaranteed Ethurance Token Extra","GUAR":"Guarium","GCC":"GuccioneCoin","GUE":"GuerillaCoin","NLG":"Gulden","GUN":"GunCoin","GUP":"Guppy","GXC":"Gx Coin","HIDU":"H-Education World","HART":"HARA","HBZ":"HBZ Coin","HIX":"HELIX Orange","HELL":"HELL COIN","HRO":"HEROIC.com","PLAY":"HEROcoin","HOLD":"HOLD","HLDY":"HOLIDAY","HQX":"HOQU","HODL":"HOdlcoin","HTML":"HTML Coin","HTML5":"HTML5 Coin","HUS":"HUSSY","HYC":"HYCON","HYGH":"HYGH","HKN":"Hacken","HKG":"Hacker Gold","HAC":"Hackspace Capital","HPAY":"HadePay","HLC":"Halal-Chain","HAL":"Halcyon","HALLO":"Halloween Coin","HALO":"Halo Platform","HMT":"Hamster Marketplace Token","HAMS":"HamsterCoin","HANA":"Hanacoin","HPC":"HappyCoin","HCC":"HappyCreatorCoin","HRBE":"Harambee Token","HRB":"Harbour DAO","HMN":"Harvest Masternode Coin","HSC":"HashCoin","HGS":"HashGains","HASH":"Hashbon","GARD":"Hashgard","XHV":"Haven Protocol","HAT":"Hawala.Exchange","HZT":"HazMatCoin","HAZE":"HazeCoin","HDAC":"Hdac","HHEM":"Healthureum","WORM":"HealthyWorm","HB":"HeartBout","HEAT":"Heat Ledger","HVC":"HeavyCoin","HDG":"Hedge Token","HEDG":"HedgeTrade","HEDGE":"Hedgecoin","HEEL":"HeelCoin","HYS":"Heiss Shares","HLM":"Helium","HLX":"Helix3","HNC":"Hellenic Coin","HGT":"Hello Gold","HMP":"HempCoin","HERB":"HerbCoin","HERO":"Hero","HER":"Hero Node","HETA":"HetaChain","HEX":"HexCoin","HXC":"HexanCoin","HXT":"HextraCoin","HXX":"HexxCoin","HMC":"Hi Mutual Society","XHI":"HiCoin","HIH":"HiHealth","HPB":"High Performance Blockchain","HVCO":"High Voltage Coin","AIMS":"HighCastle Token","HV":"HighVibe.Network","HGO":"HireGo","HIRE":"HireMatch","HFT":"Hirefreehands","HIT":"HitChain","HTC":"Hitcoin","HIVE":"Hive","HVN":"Hiveterminal Token","HBN":"HoboNickels","HWC":"HollyWoodCoin","HOT*":"Holo","HBC":"HomeBlockCoin","HMD":"Homelend","HONEY":"Honey","HZ":"Horizon","HSP":"Horse Power","HORUS":"HorusPay","HYT":"HoryouToken","HSR":"Hshare","HBT":"Hubii Network","HMQ":"Humaniq","HNC*":"Huncoin","HUC":"HunterCoin","HT":"Huobi Token","HUR":"Hurify","HUSH":"Hush","HOT":"Hydro Protocol","HYDRO":"Hydrogen","H2O":"Hydrominer","H3O":"Hydrominer","HC":"HyperCash","HYPER":"HyperCoin","HLD":"HyperLending","HQT":"HyperQuant","HBX":"Hyperbridge","TREE":"HyperionX","HPSP":"Hyperspace","HYP":"Hyperstake","IHT":"I-House Token","I0C":"I0coin","IAG":"IAGON","IAM":"IAME Identity","ICASH":"ICASH","ICOO":"ICO OpenLedger","ICOS":"ICOBox","ICX":"ICON Project","ICST":"ICST","IDAC":"IDAC","IDAP":"IDAP","IDXM":"IDEX Membership","IDM":"IDM","IG":"IG Token","IGTT":"IGT","ILC":"ILCoin","ILCT":"ILCoin Token","IML":"IMMLA","ITR":"INTRO","IOC":"IOCoin","IOST":"IOS token","IOT":"IOTA","IOTW":"IOTW","IOUX":"IOU","IOU":"IOU1","IOV":"IOV","IPSX":"IP Exchange","IPC*":"IPChain","IQN":"IQeon","IRC":"IRONCOIN","IVN":"IVN Security","IXC":"IXcoin","IZX":"IZX","ROCK2":"Ice Rock Mining","ICB":"IceBergCoin","ICHX":"IceChain","ICOB":"Icobid","ICON":"Iconic","ICN":"Iconomi","IDC":"IdealCoin","IGNIS":"Ignis","IC":"Ignition","REX":"Imbrex","IMGZ":"Imigize","IMVR":"ImmVRse","IMX":"Impact","IMPCH":"Impeach","IPC":"ImperialCoin","XIM":"Impresso","IMPS":"Impulse Coin","IN":"InCoin","INX":"InMax","NKA":"IncaKoin","INCNT":"Incent","INCP":"InceptionCoin","INC":"Incrementum","IDH":"IndaHash","IMS":"Independent Money System","ERC20":"Index ERC20","INDI":"IndiCoin","IND":"Indorse","IFX":"Infinex","IFC":"Infinite Coin","XIN":"Infinity Economics","INF8":"Infinium-8","IFLT":"InflationCoin","IFUM":"Infleum","INFLR":"Inflr","INTO":"Influ Token","INFX":"Influxcoin","INK":"Ink","XNK":"Ink Protocol","ILK":"Inlock","SOUND":"Inmusik","INN":"Innova","MINX":"InnovaMinex","INSN":"Insane Coin","INSANE":"InsaneCoin","WOLF":"Insanity Coin","INSTAR":"Insights Network","INS":"Insolar","ICC":"Insta Cash Coin","MINE":"Instamine Nuggets","SPON":"Instant Sponsor Token","INSUR":"InsurChain Coin","IPL":"InsurePal","ISR":"Insureum","IQB":"Intelligence Quotient Benefit","ITT":"Intelligent Trading","XID*":"International Diamond Coin","INT":"Internet Node Token","IOP":"Internet of People","INXT":"Internxt","ISH":"Interstellar Holdings","ITZ":"Interzone","ICT":"Intrachain","INV*":"Invacio","IDT":"InvestDigital","IFT":"InvestFeed","INVX":"Investx","IVC":"Investy Coin","INV":"Invictus","IHF":"Invictus Hyperion Fund","IVZ":"InvisibleCoin","INVOX":"Invox Finance","IZA":"Inzura","ITC":"IoT Chain","IOTX":"IoTeX Network","ION":"Ionomy","TLU":"Irene Energy","IRL":"IrishCoin","ISL":"IslaCoin","ITL":"Italian Lira","ITA":"Italocoin","ING":"Iungo","IEC":"IvugeoEvolutionCoin","IVY":"IvyKoin","IWT":"IwToken","J8T":"JET8","JEX":"JEX Token","JIO":"JIO Token","JOYS":"JOYS","JOY*":"JOYSO","JSE":"JSEcoin","JANE":"JaneCoin","JNS":"Janus","JVY":"Javvy","JC":"JesusCoin","JET":"Jetcoin","JWL":"Jewels","JIB":"Jibbit","JNT":"Jibrel Network Token","JIF":"JiffyCoin","JCR":"Jincor","JINN":"Jinn","JOBS":"JobsCoin","J":"JoinCoin","JOINT":"Joint Ventures","JOK":"JokerCoin","XJO":"JouleCoin","JOYT":"JoyToken","JOY":"Joycoin","JUDGE":"JudgeCoin","JBS":"JumBucks Coin","JUMP":"Jumpcoin","JKC":"JunkCoin","JMC":"Junson Ming Chan Coin","JDC":"JustDatingSite","KSYS":"K-Systems","KAAS":"KAASY.AI","KAT":"KATZcoin","KEC":"KEYCO","KIBIS":"KIBIS","TOS":"KRATOS","KRC":"KRCoin","KREDS":"KREDS","KUBO":"KUBO","KWH":"KWHCoin","KZC":"KZCash","KLKS":"Kalkulus","KAPU":"Kapu","KBC":"Karatgold coin","KRB":"Karbo","KRM":"Karma","KARMA":"Karma","K2G":"Kasko2go","KAYI":"Kayı","KCASH":"Kcash","KEK":"KekCoin","KEN":"Kencoin","KEP":"Kepler","KC":"Kernalcoin","KETAN":"Ketan","KEX":"KexCoin","KEY*":"KeyCoin","KMX":"KiMex","KICK":"KickCoin","KLC":"KiloCoin","KIN":"Kin","KIND":"Kind Ads","KVT":"Kinesis Velocity Token","KING":"King93","KNC**":"KingN Coin","MEOW":"Kittehcoin","KLK":"Klickzie","KED":"Klingon Empire Darsek","KDC":"Klondike Coin","KNW":"Knowledge","KOBO":"KoboCoin","KOLION":"Kolion","KMD":"Komodo","KORE":"Kore","KOTO":"Koto","KUSD":"Kowala","KRAK":"Kraken","KRONE":"Kronecoin","KSS":"Krosscoin","KGC":"KrugerCoin","KRL":"Kryll","KTK":"KryptCoin","KRP":"Kryptoin","KR":"Krypton","KBX":"KuBitX","KBR":"Kubera Coin","KUBOS":"KubosCoin","KCS":"Kucoin","KUE":"Kuende","KURT":"Kurrent","KUSH":"KushCoin","KUV":"Kuverit","KVT*":"Kvantor","KNC":"Kyber Network","LAX":"LAPO","LA":"LATOKEN","LBC":"LBRY Credits","LAO":"LC Token","LEO":"LEOcoin","LGBTQ":"LGBTQoin","LHC":"LHCoin","LIFE":"LIFE","LN":"LINK","LNKC":"LINKCHAIN","VEEN":"LIVEEN","LIPC":"LIpcoin","LTBC":"LTBCoin","LTO":"LTO Network","LUMA":"LUMA Token","LUX":"LUXCoin","LVX":"LVX","LYN":"LYNCHPIN Token","LALA":"LaLa World","LBR":"LaborCrypto","LAB":"Labrys","BAC*":"LakeBanker","TAU":"Lamden Tau","PIX":"Lampix","LANA":"LanaCoin","AXIS":"LaneAxis","LTH":"Lathaan","LAT":"Latium","LATX":"LatiumX","LAZ":"Lazarus","LEPEN":"LePenCoin","LEA":"LeaCoin","LDC":"LeadCoin","LEAF":"LeafCoin","LGD":"Legends Cryptocurrency","LGO":"Legolas Exchange","LELE":"Lelecoin","LEMON":"LemonCoin","LCT":"LendConnect","LND":"Lendingblock","LOAN":"Lendoit","LST":"Lendroid Support Token","LENIN":"LeninCoin","LIR":"Let it Ride","LTHN":"Lethean","LVL*":"LevelNet Token","LVG":"Leverage Coin","LEV":"Leverj","XLC":"LeviarCoin","LIB":"Libellum","XLB":"LibertyCoin","LBA":"Libra Credit","LXC":"LibrexCoin","LIGER":"Ligercoin","LSD":"LightSpeedCoin","LPC*":"Lightpaycoin","LIKE":"LikeCoin","LK":"Liker","LIMX":"LimeCoinX","LTD":"Limited Coin","LINDA":"Linda","LET":"LinkEye","LNC*":"Linker Coin","LINX":"Linx","LIPS":"LipChain","LEN":"Liqnet","LQD":"Liquid","LQ8":"Liquid8","LQDN":"Liquidity Network","LSK":"Lisk","LTCC":"Listerclassic Coin","LBTC":"LiteBitcoin","LTG":"LiteCoin Gold","LTCU":"LiteCoin Ultra","LCWP":"LiteCoinW Plus","LTCR":"LiteCreed","LDOGE":"LiteDoge","LTB":"Litebar","LTC":"Litecoin","LTCH":"Litecoin Cash","LCP":"Litecoin Plus","LCASH":"LitecoinCash","LCC":"LitecoinCash","LTCD":"LitecoinDark","LTCP":"LitecoinPro","LTCX":"LitecoinX","LTZ":"Litecoinz","LNT":"Litenett","LTS":"Litestar Coin","LIT":"Lithium","LITION":"Lition","LTA":"Litra","LPC":"Little Phil","LIVE":"Live Stars","LVN":"LivenPay","LPT":"Livepeer","LIV":"LiviaCoin","LIZ":"Lizus Payment","LTE":"Local Token Exchange","LWF":"Local World Forwarders","LCS":"LocalCoinSwap","LOCI":"LociCoin","LOC*":"LockTrip","LOC":"Loco","LGR":"Logarithm","LOKI":"Loki","LLG":"Loligo","LMC":"LomoCoin","LOOK":"LookCoin","LOOM":"Loom Network","LRC":"Loopring","LOT":"LottoCoin","LYK":"Loyakk Vega","LYL":"LoyalCoin","BASH":"LuckChain","LCK":"Luckbox","LK7":"Lucky7Coin","LUCKY":"LuckyBlocks","LKY":"LuckyCoin","LCR":"Lucre","LDM":"Ludum token","LNL":"LunarLink","LUN":"Lunyr","LC":"Lutetium Coin","LUX**":"Luxmi Coin","LYC":"LycanCoin","LDN":"Lydiancoin","LYFE":"Lyfe","LKK":"Lykke","LYM":"Lympo","LYNK":"Lynked.World","LYNX":"Lynx","LYB":"LyraBar","M2O":"M2O Token","MDN":"MADANA","MAKE":"MAKE","MRK":"MARK.SPACE","MCAP":"MCAP","MCV":"MCV Token","MTEL":"MEDoctor","MEETONE":"MEET.ONE","MFX":"MFChain","MIMI":"MIMI Money","MIODIO":"MIODIOCOIN","MIS":"MIScoin","MILC":"MIcro Licensing Coin","MMNXT":"MMNXT","MMO":"MMOCoin","MMXVI":"MMXVI","MOAC":"MOAC","MOBU":"MOBU","MODEX":"MODEX Token","MOS":"MOS Coin","XDMC":"MPCX","MSD":"MSD","MTCMN":"MTC Mesh","MUN":"MUNcoin","MUSD":"MUSDcoin","MUST":"MUST Protocol","MVL":"MVL","YCE":"MYCE","MAC":"MachineCoin","MCRN":"MacronCoin","MRV":"Macroverse","MDC*":"MadCoin","ART":"Maecenas","MAP":"Maester Protocol","MAG**":"Maggie Token","MGN":"MagnaCoin","MAG":"Magnet","MAG*":"Magos","MAID":"MaidSafe Coin","MMXIV":"MaieutiCoin","MNC":"MainCoin","MFT":"Mainframe","MSC*":"MaisCoin","MIV":"MakeItViral","MKR":"Maker","MAT*":"Manet Coin","MANNA":"Manna","MAPC":"MapCoin","MAR":"MarijuanaCoin","MASP":"Market.space","MRS":"MarsCoin","MARS":"MarsCoin","MXT":"MartexCoin","MARV":"Marvelous","MARX":"MarxCoin","MARYJ":"MaryJane Coin","MSR":"Masari","MC":"Mass Coin","MASS":"Mass.Cloud","MGD":"MassGrid","MCAR":"MasterCar","MSC":"MasterCoin","MM":"MasterMint","MTR":"MasterTraderCoin","MAN*":"Matrix AI Network","MTX":"Matryx","MPG":"Max Property Group","MAX":"MaxCoin","MYC":"MayaCoin","MZC":"MazaCoin","MBIT":"Mbitbooks","MLITE":"MeLite","MDT*":"Measurable Data Token","MED*":"MediBloc","MEDI":"MediBond","MCU":"MediChain","MDS":"MediShares","MNT*":"Media Network Coin","MPT":"Media Protocol Token","MEDX":"Mediblock","MDC":"MedicCoin","MEDIC":"MedicCoin","MTN*":"Medicalchain","MHP":"MedicoHealth","MED":"MediterraneanCoin","MPRO":"MediumProject","MEC":"MegaCoin","MEGA":"MegaFlash","XMS":"Megastake","MEL":"Melior AI","MLN":"Melon","MBN":"Membrana","MET":"Memessenger","EMT*":"Memority","MMC":"MemoryCoin","MPAY":"Menapay","ONE":"Menlo One","MENU":"MenuBuzz","MRN":"Mercoin","MVP":"Merculet","MER":"Mercury","GMT":"Mercury Protocol","MHC":"MetaHash","METM":"MetaMorph","META":"Metadium","MTL":"Metal","MTLM3":"Metal Music v3","METAL":"MetalCoin","ETP":"Metaverse","MET*":"Metronome","MIT":"MiMiner","MBTC":"MicroBitcoin","AMM":"MicroMoney","MDT":"Midnight","MON":"MilionCoin","MUU":"MilkCoin","MIL":"Milllionaire Coin","MILO":"MiloCoin","MINC":"MinCoin","MG":"Mind Gene","MND":"MindCoin","MIC":"Mindexcoin","MAI":"Mindsync","MINT*":"Mineable Token","MIO":"Miner One token","MIN":"Minerals Coin","MNE":"Minereum","MRT":"MinersReward","MNM":"Mineum","MINEX":"Minex","MNX":"MinexCoin","MAT":"MiniApps","MNTS":"Mint","MINT":"MintCoin","BIP":"Minter","MITH":"Mithril","XIN*":"Mixin","MIB":"Mobile Integrated Blockchain","CHF*":"MobileBridge Momentum","MGO":"MobileGo","MOLK":"Mobilink Token","MOBI":"Mobius","MTRC":"ModulTrade","MDL*":"Modulum","MOD":"Modum","MDA":"Moeda","MOIN":"MoinCoin","MOJO":"Mojocoin","MOF":"Molecular Future","MOL":"Molecule","TAB":"MollyCoin","MMTM":"Momentum","MONA":"MonaCoin","MNZ":"Monaize","XMR":"Monero","ZMR":"Monero 0","XMC":"Monero Classic","XMRG":"Monero Gold","XMO":"Monero Original","XMV":"MoneroV","MONETA":"Moneta","MNV":"MonetaVerde","MUE":"MonetaryUnit","MTH":"Monetha","MTZ":"Monetizr","MNB":"MoneyBag","MONEY":"MoneyCoin","MRP*":"MoneyRebel","IMT":"MoneyToken","MNY":"Monkey","MONK":"Monkey Project","XMCC":"Monoeci","MNR":"Monoreto","MBI":"Monster Byte Inc","MBLC":"Mont Blanc","MOON":"MoonCoin","LX":"Moonlight","MZG":"Moozicore","MITX":"Morpheus Infrastructure Token","MRPH":"Morpheus Network","MRP":"MorpheusCoin","MZX":"Mosaic Network","MOAT":"Mother Of All Tokens","MSP":"Mothership","XMN":"Motion","MTN**":"Motion","MOTO":"Motocoin","MOV":"MovieCoin","MTK":"Moya Token","MRSA":"MrsaCoin","MUDRA":"MudraCoin","MTT":"MulTra","MLT":"MultiGames","MWC":"MultiWallet Coin","MBT":"Multibot","MTCN":"Multiven","MRY":"MurrayCoin","MUSE":"Muse","MITC":"MusicLife","MUSIC":"Musicoin","MCI":"Musiconomi","MST":"MustangCoin","MUT":"Mutual Coin","MBC":"My Big Coin","MYB":"MyBit","MCB":"MyCryptoBank","MYDFS":"MyDFS","MAZC":"MyMazzu","MT*":"MyToken","WISH":"MyWish","MT":"Mycelium Token","MYO":"Mycro","MPXT":"Myplacex","XMY":"MyriadCoin","MYST":"Mysterium","NANJ":"NANJCOIN","XEM":"NEM","NEO":"NEO","NEOG":"NEO Gold","NEXO":"NEXO","NOX":"NITRO","NIX":"NIX","NKN":"NKN","NOAH":"NOAHCOIN","NBAR":"NOBAR","NOIA":"NOIA Network","NOIZ":"NOIZ","CHFN":"NOKU CHF","EURN":"NOKU EUR","NOKU":"NOKU Master token","NSP":"NOMAD.space","NOW":"NOW Token","NPC":"NPCcoin","NPER":"NPER","NVST":"NVO","NWP":"NWPSolution","NXE":"NXEcoin","NXTI":"NXTI","NXTTY":"NXTTY","NYN":"NYNJA","NYX":"NYXCOIN","NFN":"Nafen","NGC":"NagaCoin","NZE":"Nagezeni","NKT":"NakomotoDark","NAM":"Namacoin","NMH":"Namahe","NMC":"Namecoin","NMK":"Namek","NAMO":"NamoCoin","NANO":"Nano","NHCT":"Nano Healthcare Token","NAN":"NanoToken","NPX":"Napoleon X","NRVE":"Narrative","NAS2":"Nas2Coin","NAUT":"Nautilus Coin","NAV":"NavCoin","NAVI":"NaviAddress","NAVIB":"Navibration","NEBL":"Neblio","NEBU":"Nebuchadnezzar","NBAI":"Nebula AI","NAS":"Nebulas","NDC*":"NeedleCoin","NEF":"NefariousCoin","NRX":"Neironix","NEC":"NeoCoin","NEX":"Neonexchange","NEOS":"NeosCoin","NTCC":"NeptuneClassic","NBIT":"NetBit","NET":"NetCoin","NTM":"NetM","NETKO":"Netko","OUT":"Netscouters","NTWK":"Network Token","NETC":"NetworkCoin","NEU*":"NeuCoin","NEU":"Neumark","NRP":"Neural Protocol","NRO":"Neuro","NRC":"Neurocoin","NRM":"Neuromachine","NTK":"Neurotoken","NTRN":"Neutron","NEVA":"NevaCoin","NDC":"NeverDie","NIC":"NewInvestCoin","NYC":"NewYorkCoin","NZC":"NewZealandCoin","NEWB":"Newbium","NEW":"Newton","NCP":"Newton Coin","NXC":"Nexium","NEXT":"Next.exchange Token","Pakka":"NextPakk","NXS":"Nexus","NEXXO":"Nexxo","NGIN":"Ngin","NICE":"NiceCoin","NIHL":"Nihilo Coin","NMB":"Nimbus Coin","NIMFA":"Nimfamoney","NIM":"Nimiq","NTC":"NineElevenTruthCoin","NDOGE":"NinjaDoge","NBR":"Niobio Cash","NBC":"Niobium","$NOBS":"No BS Crypto","NLC":"NoLimitCoin","NLC2":"NoLimitCoin","NOBL":"NobleCoin","NODE":"Node","NODIS":"Nodis","NVDX":"Nodvix","NRB":"NoirBits","NRS":"NoirShares","NUSD":"Nomin USD","NZO":"NonZero","NOO":"Noocoin","NVC":"NovaCoin","MNVM":"Novam","NWCN":"NowCoin","NBX":"Noxbox","NBT":"NuBits","NSR":"NuShares","NUBIS":"NubisCoin","NCASH":"Nucleus Vision","NUKE":"NukeCoin","NKC":"Nukecoinz","NLX":"Nullex","NULS":"Nuls","N7":"Number7","NUM":"NumbersCoin","NMR":"Numeraire","XNC*":"Numismatic Collections","NMS":"Numus","NXT":"Nxt","NYAN":"NyanCoin","NBL":"Nybble","OATH":"OATH Protocol","ODE":"ODEM","ODMC":"ODMCoin","OK":"OKCash","OKOIN":"OKOIN","ONAM":"ONAM","OPC":"OP Coin","OPP*":"OPP Open WiFi","ORET":"ORET Token","ORM":"ORIUM","ORS":"ORS Group","OASC":"Oasis City","OBITS":"Obits Coin","OBS":"Obscurebay","ODN":"Obsidian","OCL":"Oceanlab","OTX":"Octanox","OCTO*":"OctoBit Coin","OCTO":"OctoCoin","OWC":"Oduwa","OCN":"Odyssey","OFCR":"OfficerCoin","OJX":"Ojooo","OKB":"Okex","OLM":"Olam","ODNT":"Old Dogs New Tricks","OLDSF":"OldSafeCoin","OLV":"OldV","OLE":"Olive","OLYMP":"OlympCoin","MOT":"Olympus Labs","OMA":"OmegaCoin","OMGC":"OmiseGO Classic","OMG":"OmiseGo","OMNI":"Omni","OMC":"OmniCron","ECOM":"Omnitude","ONL":"On.Live","OGT":"One Game","OSF":"One Solution","OLT":"OneLedger","RNT":"OneRoot Network","ONX":"Onix","OIO":"Online","ONT":"Ontology","ONGAS":"Ontology Gas","OPQ":"Opacity","XPO":"Opair","OPAL":"OpalCoin","OPEN":"Open Platform","OTN":"Open Trading Network","OAX":"OpenANX","BRIX":"OpenBrix","CHAT":"OpenChat","OSC":"OpenSourceCoin","ZNT":"OpenZen","OPES":"Opes","OPP":"Opporty","OPEX":"Optherium Token","OSA":"Optimal Shelf Availability Token","OPTION":"OptionCoin","OPU":"Opu Coin","OPT":"Opus","OCT":"OracleChain","OC":"OrangeCoin","ORBS":"Orbis","ORB":"Orbitcoin","RDC":"Ordocoin","ORGT":"Organic Token","ORC":"Organicco","ORI":"Origami","ORS*":"OriginSport","TRAC":"OriginTrail","OCC":"Original Crypto Coin","ORLY":"OrlyCoin","ORME":"Ormeus Coin","ORO":"OroCoin","OROC":"Orocrypt","ORV":"Orvium","OICOIN":"Osmium Investment Coin","OS76":"OsmiumCoin","OWD":"Owlstand","ZXC":"Oxcert","OXY":"Oxycoin","PRL":"Oyster Pearl","OYS":"Oyster Platform","SHL":"Oyster Shell","P2PS":"P2P Solutions Foundation","GENE":"PARKGENE","PAT":"PATRON","PAXEX":"PAXEX","PQT":"PAquarium","PAI":"PCHAIN","PGF7T":"PGF500","PHI":"PHI Token","PITCH":"PITCH","PLNC":"PLNCoin","PCH":"POPCHAIN","PPOVR":"POVR","TOSS":"PROOF OF TOSS","PROUD":"PROUD Money","PROOF":"PROVER","PSI":"PSIcoin","PVP":"PVPChain","PWR":"PWR Coin","PX":"PXcoin","PCS":"Pabyosi Coin","PBC":"PabyosiCoin","PAC":"PacCoin","PAK":"Pakcoin","PLMT":"Pallium","PND":"PandaCoin","PINKX":"PantherCoin","PAN":"Pantos","PRT":"Papusha","PRP":"Papyrus","PRG":"Paragon","DUO":"ParallelCoin","PARA":"ParanoiaCoin","PARETO":"Pareto Network Token","PKB":"ParkByte","PAR":"Parlay","PART":"Particl","PASC":"Pascal Coin","PASL":"Pascal Lite","PAS":"Passive Coin","PTO":"Patentico","PTOY":"Patientory","PAVO":"Pavocoin","PAX":"Paxos Standard","PBLK":"PayBlock","PYC":"PayCoin","XPY":"PayCoin","PFR":"PayFair","PAYP":"PayPeer","PPP":"PayPie","PYP":"PayPro","PYN":"Paycentos","CON_":"Paycon","PGC*":"Paygine","PMNT":"Paymon","PYT":"Payther","PEC":"PeaceCoin","PRLPAY":"PearlPay","XPB":"Pebble Coin","PBL":"Pebbles","PCL":"Peculium","PCO":"Pecunio","PCN":"PeepCoin","PMTN":"Peer Mountain","PPC":"PeerCoin","GUESS":"Peerguess","PPY":"Peerplays","PGC":"Pegascoin","PEN*":"PenCoin","PNT":"Penta","PTA":"PentaCoin","PNY":"Peony Coin","MAN":"People","MEME":"Pepe","PEPECASH":"Pepe Cash","XPR":"Permian","PIE":"Persistent Information Exchange","PERU":"PeruCoin","PTC":"PesetaCoin","PSB":"PesoBit","PETL":"Petlife","PTR":"Petro","PXL":"Phalanx","SOUL*":"Phantasma","PNX":"PhantomX","XPH":"PharmaCoin","PHS":"PhilosophersStone","PXC":"PhoenixCoin","PHM":"Phomeum","PHR*":"Phore","PHTC":"Photochain","PHO":"Photon","PHT":"Photon Token","PHR":"Phreak","PGN":"Pigeoncoin","PIGGY":"Piggy Coin","PKC":"Pikciochain","PLR":"Pillar","PTT":"Pink Taxi Token","PINK":"PinkCoin","PINMO":"Pinmo","PCOIN":"Pioneer Coin","PIO":"Pioneershares","SKULL":"Pirate Blocks","PIRATE":"PirateCash","PIRL":"Pirl","PIZZA":"PizzaCoin","PLAI":"Plair","PLAN":"Plancoin","PLANET":"PlanetCoin","PLNX":"Planumex","PTNX":"Platin","PLC*":"PlatinCoin","PNC":"PlatiniumCoin","XPTX":"PlatinumBAR","LUC":"Play 2 Live","PLA":"PlayChip","PXG":"PlayGame","PKT":"Playkey","DN8":"Pldgr","PLG":"Pledgecamp","PLX":"PlexCoin","PLURA":"PluraCoin","PLC":"PlusCoin","PLUS1":"PlusOneCoin","GPPT":"Pluto Project Coin","PTC**":"Plutocoin","PLU":"Pluton","PLTX":"PlutusX","POE":"Po.et","POS":"PoSToken","POA":"Poa Network","XPS":"PoisonIvyCoin","XPOKE":"PokeChain","POKER":"PokerCoin","XPST":"PokerSports","PAL":"PolicyPal Network","POLIS":"PolisPay","POLY":"PolyBit","NCT":"PolySwarm","PLBT":"Polybius","POLY*":"Polymath Network","PON":"Ponder","PSK":"Pool of Stake","XSP":"PoolStamp","PPS":"PopulStay","POP":"PopularCoin","PPT":"Populous","PEX":"PosEx","PSD":"Poseidon","PCCM":"Poseidon Chain","OCEAN":"Poseidon Foundation","POSQ":"Poseidon Quark","POST":"PostCoin","POT":"PotCoin","POWR":"Power Ledger","PSM":"Prasm","PRE":"Premium","ENTT":"Presale Ventures","PRE*":"Presearch","HILL":"President Clinton","PRES":"President Trump","PBT":"Primalbase","PST":"Primas","PSF":"Prime Shipping Foundation","PXI":"Prime-X1","PRIME":"PrimeChain","XPM":"PrimeCoin","PRX":"Printerium","PRM":"PrismChain","PIVX":"Private Instant Verified Transaction","PRIX":"Privatix","PZM":"Prizm","PRA":"ProChain","XPRO":"ProCoin","PROC":"ProCurrency","PCM":"Procom","PROD*":"Productivist","PHC":"Profit Hunters Coin","PDC":"Project Decorum","JTX":"Project J","PAI*":"Project Pai","OMX":"Project Shivom","PRFT":"Proof Suite Token","PROPS":"Props","PTC*":"Propthereum","PRO":"Propy","VRP":"Prosense.tv","PGL":"Prospectors","PRC":"ProsperCoin","PROTON":"Proton","XES":"Proxeus","XPX":"ProximaX","PSEUD":"PseudoCash","PSY":"Psilocybin","PULSE":"Pulse","PMA":"PumaPay","NPXS":"Pundi X","PUPA":"PupaCoin","PURA":"Pura","PURE":"Pure","VIDZ":"PureVidz","PGT":"Puregold token","PURK":"Purk","PRPL":"Purple Token","PRPS":"Purpose","HLP":"Purpose Coin","PUSHI":"Pushi","PUT":"PutinCoin","PYLNT":"Pylon Network","QLC":"QLC Chain","QTUM":"QTUM","QUSD":"QUSD","QBT*":"Qbao","QOBI":"Qobit","QORA":"QoraCoin","XQR":"Qredit","QBK":"QuBuck Coin","eQUAD":"Quadrant Protocol","QNT":"Quant","QNTU":"Quanta","QUANT":"Quantler","QNTR":"Quantor","QSP":"Quantstamp","QAU":"Quantum","QRL":"Quantum Resistant Ledger","Q1S":"Quantum1Net","QKC":"QuarkChain","QRK":"QuarkCoin","QTZ":"Quartz","QUA":"Quasa","QTL":"Quatloo","QCN":"Quazar Coin","Q2C":"QubitCoin","QBC":"Quebecoin","QCX":"QuickX Protocol","QSLV":"Quicksilver coin","QUIZ":"Quizando","QUN":"QunQun","QASH":"Quoine Liquid","XQN":"Quotient","QVT":"Qvolta","QWARK":"Qwark","QWC":"Qwertycoin","RFL":"RAFL","RAIZER":"RAIZER","KRX":"RAVN Korrax","RAWG":"RAWG","RAC":"RAcoin","RHOC":"RChain","RCN*":"RCoin","REAL":"REAL","REBL":"REBL","MWAT":"RED MegaWatt","RST":"REGA Risk Sharing Token","REME":"REME-Coin","REM":"REMME","RENC":"RENC","RGC":"RG Coin","RIF":"RIF Token","ROI":"ROIcoin","ROS":"ROS Coin","RFT":"RYFTS","RADI":"RadicalCoin","RADS":"Radium","RDN":"RadonPay","RDN*":"Raiden Network","RF":"Raido Financial","RAINC":"RainCheck","RAP":"Rapture","ROC":"Rasputin Online Coin","RTE":"Rate3","XRA":"Ratecoin","RATIO":"Ratio","RAVE":"Ravelous","RVN":"Ravencoin","RAYS":"Rays Network","RZR":"RazorCoin","RWE":"Real-World Evidence","RCT":"RealChain","REA":"Realisto","RCC":"Reality Clash","XRK":"RecordsKeeper","RRT":"Recovery Right Tokens","RRC":"Recycling Regeneration Chain","PHX":"Red Pulse Phoenix","REDC":"RedCab","RCX":"RedCrowCoin","RED":"Redcoin","RDD":"Reddcoin","REDN":"Reden","REE":"ReeCoin","REF":"RefToken","RFR":"Refereum","REC":"Regalcoin","RDS":"Reger Diamond","RLX":"Relex","REL":"Reliance","REMCO":"Remco","RPM":"Render Payment","RNDR":"Render Token","RNS":"RenosCoin","BERRY":"Rentberry","REPO":"Repo Coin","RPB":"Republia","REN":"Republic Token","REPUX":"Repux","REQ":"Request Network","RMS":"Resumeo Shares","RGT":"Retail.Global","RBIT":"ReturnBit","RNC":"ReturnCoin","R":"Revain","REV":"Revenu","RVR":"Revolution VR","XRE":"RevolverCoin","RWD":"Reward Vision","RMOB":"RewardMob","RHEA":"Rhea","XRL":"Rialto.AI","RBR":"Ribbit Rewards","RICE":"RiceCoin","RIDE":"Ride My Car","RIC":"Riecoin","RMESH":"RightMesh","RBT":"Rimbit","RING":"RingCoin","RIPO":"RipOffCoin","RIPAX":"RipaEx","RCN":"Ripio","RIPT":"RiptideCoin","RBX":"RiptoBuX","RISE":"Rise","RVT":"Rivetz","RAC**":"RoBET","ROBET":"RoBet","RBDT":"RoBust Defense Token","PUT*":"Robin8 Profile Utility Token","RAC*":"RoboAdvisorCoin","ROX":"Robotina","RKT":"Rock Token","ROK":"Rockchain","ROCK*":"RocketCoin","RPC":"RonPaulCoin","RSC":"Ronaldinho Soccer Coin","ROOT":"RootCoin","ROOTS":"RootProject","RT2":"RotoCoin","ROUND":"RoundCoin","ROE":"Rover Coin","RKC":"Royal Kingdom Coin","RYC":"RoyalCoin","ROYAL":"RoyalCoin","RYCN":"RoyalCoin 2.0","RBIES":"Rubies","RUBY":"Rubius","RUBIT":"Rublebit","RBY":"RubyCoin","RUFF":"Ruff","RUPX":"Rupaya","RUP":"Rupee","RC":"Russiacoin","RMC":"Russian Mining Coin","RUST":"RustCoin","RUSTBITS":"Rustbits","RYO":"Ryo","S8C":"S88 Coin","SABR":"SABR Coin","SGA":"SAGA","SAR*":"SARCoin","SLY":"SELFLLERY","SGAT":"SGAT","SGP":"SGPay","XSH":"SHIELD","SIDT":"SID Token","SKYFT":"SKYFchain","SMNX":"SMNX","SSX":"SOMESING","SNM":"SONM","SXDT":"SPECTRE Dividend Token","SXUT":"SPECTRE Utility Token","SPICE":"SPiCE Venture Capital","SRCOIN":"SRCoin","SSV":"SSVCoin","STAC":"STAC","STACS":"STACS Token","STRS":"STARS","EURS":"STASIS EURS","STEX":"STEX","STK":"STK Token","STS":"STRESScoin","STRY":"STRYKZ","SUQA":"SUQA","SaTT":"SaTT","HAVEN":"Safe Haven","XSTC":"Safe Trade Coin","SAFE":"SafeCoin","SAFEX":"SafeExchangeCoin","SFR":"SaffronCoin","SAF":"Safinus","SAGA":"SagaCoin","SFU":"Saifu","SKB*":"Sakura Bloom","SKR":"Sakuracoin","SAL":"SalPay","SALT":"Salt Lending","SLS":"SaluS","SMSR":"Samsara Coin","SND":"Sandcoin","SAN":"Santiment","SPN*":"Sapien Network","XAI":"SapienceCoin","XRF":"Sarf","XRN":"Saronite","SAT":"Satisfaction Token","STV":"Sativa Coin","MAD*":"SatoshiMadness","SAT2":"Saturn2Coin","STO":"Save The Ocean","SANDG":"Save and Gain","SWC":"Scanetchain Token","ST":"Scienceroot","SNcoin":"ScientificCoin","SCOOBY":"Scooby coin","SCORE":"Scorecoin","SCOR":"Scorista","SCR*":"Scorum","SCOT":"Scotcoin","SCRIBE":"Scribe Network","SCRL":"Scroll","DDD":"Scry.info","SCRPT":"ScryptCoin","SCT":"ScryptToken","SRT":"Scrypto","SEAL":"Seal Network","SECI":"Seci","SCRT":"SecretCoin","SRC":"SecureCoin","SEC":"SecureCryptoPayments","SRXIO":"Securix","SET":"Securosys","SEEDS":"SeedShares","SEELE":"Seele","B2X":"SegWit2x","SEL":"SelenCoin","STOR":"Self Storage Coin","KEY":"SelfKey","SSC":"SelfSell","SGO":"Selfie GO","SEM":"Semux","SDRN":"Senderon","SNS":"Sense","SENSE":"Sense Token","SEN":"Sentaro","EMOT":"Sentigraph.io","SENT":"Sentinel","SENC":"Sentinel Chain","UPP":"Sentinel Protocol","SNTVT":"Sentivate","SEQ":"Sequence","SERA":"Seraph","SRNT":"Serenity","SRV":"ServAdvisor","SETH":"Sether","SP":"Sex Pistols","SXC":"SexCoin","SHA":"Shacoin","SHADE":"ShadeCoin","SDC":"ShadowCash","SHARD":"ShardCoin","SS":"Sharder","SSS":"ShareChain","eSwitch":"ShareMeAll","SHR":"ShareRing","SAK":"SharkCoin","SHKG":"SharkGate","SHP*":"Sharpe Capital","JEW":"Shekel","SHLD":"ShieldCoin","SHIFT":"Shift","SH":"Shilling","SHE":"Shine Chain","SHIP":"ShipChain","SHPT":"Shipit","SHORTY":"ShortyCoin","SHOW":"ShowCoin","HAND":"ShowHand","SHPING":"Shping Coin","SHREK":"ShrekCoin","SCH":"Sia Cash Coin","SC":"Siacoin","SIB":"SibCoin","SGL":"Sigil","SIG":"Signal","SGN":"Signals Network","SIGT":"Signatum","SNTR":"Silent Notary","SILKT":"SilkChain","SILK":"SilkCoin","OST":"Simple Token","SPLB":"SimpleBank","SIGU":"Singular","SNGLS":"SingularDTV","AGI":"SingularityNET","SRN":"SirinLabs","SKC":"Skeincoin","SKI":"Skillchain","SKIN":"Skincoin","SKRP":"Skraps","SKR*":"Skrilla Token","SKM":"Skrumble Network","SKB":"SkullBuzz","SKYM":"SkyMap","SKY":"Skycoin","SLX":"Slate","SLM":"SlimCoin","SLING":"Sling Coin","RBTC":"Smart Bitcoin","SIFT":"Smart Investment Fund Token","POD":"Smart League","TASH":"Smart Trip Platform","VALOR":"Smart Valor","SMART*":"SmartBillions","SMART":"SmartCash","SMC":"SmartCoin","SLST":"SmartLands","SMT*":"SmartMesh","SMLY":"SmileyCoin","SMILO":"Smilo","SMOKE":"Smoke","SMF":"SmurfCoin","SNPC":"SnapCoin","SNIP":"SnipCoin","SNOV":"Snovio","XSG":"Snowgem","ONG":"SoMee.Social","SOAR":"Soarcoin","SLT":"Social Lending Network","SMAC":"Social Media Coin","SMT":"Social Media Market","SEND":"Social Send","SOCC":"SocialCoin","SG":"SocialGood","SREUR":"SocialRemit","XBOT":"SocialXbotCoin","SCL":"Sociall","SOIL":"SoilCoin","SOJ":"Sojourn Coin","SOL":"Sola","SDAO":"Solar DAO","SLR":"SolarCoin","CELL":"SolarFarm","SRX":"Solarex","SFC":"Solarflarecoin","XLR":"Solaris","SOLE":"SoleCoin","SOLID":"Solidified","SCT*":"Soma","SONG":"Song Coin","SSD":"Sonic Screw Driver Coin","SOON":"SoonCoin","SPHTX":"SophiaTX","SNK":"Sosnovkino","SOUL":"SoulCoin","SPX":"Sp8de","SCASH":"SpaceCash","SPC*":"SpaceChain","SPACE":"SpaceCoin","SPA":"SpainCoin","SPANK":"SpankChain","SPK":"SparksPay","SPEC":"SpecCoin","SPX*":"Specie","XSPEC":"Spectre","SPEND":"Spend","SPHR":"Sphere Coin","XID":"Sphre AIR","SPIKE":"Spiking","SPC":"SpinCoin","SPD*":"Spindle","SPKZ":"Spokkz","SPORT":"SportsCoin","SFT":"SportsFix","SPF":"SportyCo","SPOT":"Spotcoin","SPT":"Spots","SPOTS":"Spots","SPR":"Spreadcoin","SPRTZ":"SpritzCoin","SPRTS":"Sprouts","SQP":"SqPay","SQL":"Squall Coin","SQR":"Squeezer","XSI":"Stability Shares","SBC":"StableCoin","USDS":"StableUSD","DSLA":"Stacktical","STCN":"Stakecoin","XSN":"Stakenet","STA*":"Stakers","STHR":"Stakerush","LABX":"Stakinglab","STALIN":"StalinCoin","STC":"StarChain","STR*":"StarCoin","STAR*":"StarCoin","SRC*":"StarCredits","KST":"StarKST","STT":"Staramba","STAR":"Starbase","START":"StartCoin","STA":"Starta","STP":"StashPay","SQOIN":"StasyQ","SNT":"Status Network Token","STAX":"Staxcoin","XST":"StealthCoin","PNK":"SteamPunk","STEEM":"Steem","SBD*":"Steem Backed Dollars","XLM":"Stellar","XTL":"Stellite","SCIA":"Stem Cell","STEPS":"Steps","SLG":"SterlingCoin","SPD":"Stipend","STIPS":"Stips","STOCKBET":"StockBet","SCC":"StockChain Coin","STQ":"Storiqa Token","STORJ":"Storj","SJCX":"StorjCoin","STORM":"Storm","STX":"Stox","STAK":"Straks","SISA":"Strategic Investments in Significant Areas","STRAT":"Stratis","SSH":"StreamSpace","STM":"Streamity","DATA":"Streamr DATAcoin","SHND":"StrongHands","SUT":"Suapp","SUB*":"Subscriptio","SUB":"Substratum Network","SUCR":"Sucre","SGC":"Sudan Gold Coin","SGR":"Sugar Exchange","SUMO":"Sumokoin","SNC":"SunContract","SSTC":"SunShotCoin","SUP":"Supcoin","SBTC":"Super Bitcoin","SUPER":"SuperCoin","UNITY":"SuperNET","SEED":"Superbloom","M1":"SupplyShock","SPM":"Supreme","RMT":"SureRemit","SUR":"Suretly","SWA":"Swace","SWACH":"Swachhcoin","BUCKS":"SwagBucks","SWT":"Swarm City Token","SWM":"Swarm Fund","SWARM":"SwarmCoin","SWEET":"SweetStake","SWFTC":"SwftCoin","SWING":"SwingCoin","SCN":"Swiscoin","CHSB":"SwissBorg","SRC**":"SwissRealCoin","SIC":"Swisscoin","SWTH":"Switcheo","SDP":"SydPakCoin","SYLO":"Sylo","SYNC":"SyncCoin","MFG":"SyncFab","SYC":"SynchroCoin","SYNCO":"Synco","SYNX":"Syndicate","AMP":"Synereo","SNRG":"Synergy","SNX":"Synthetix","SYS":"SysCoin","TBT":"T-BOT","TCX":"T-Coin","TZO":"TANZŌ","BAR":"TBIS token","TDFB":"TDFB","TFD":"TE-FOOD","TKY":"THEKEY Token","TTN":"TITA Project","TXM":"TMONEY","TOA":"TOA Coin","TPC":"TPCash","TRX":"TRON","XTROPTIONS":"TROPTIONS","TTV":"TV-TWO","TWISTR":"TWIST","TTU":"TaTaTu","TCHN":"Tachain","TAG":"TagCoin","TAJ":"TajCoin","TAK":"TakCoin","TKLN":"Taklimakan","TALAO":"Talao","TLNT":"Talent Token","TCOIN":"Talenthon","TAL":"Talentico","TAM":"TamaGucci","XTO":"Tao","TTT":"Tap Project","TAP":"TappingCoin","TGT":"TargetCoin","TAT":"Tatiana Coin","TSE":"TattooCoin","TEC":"TeCoin","TCHB":"Teachers Blockchain","TEAM":"TeamUP","TECH":"TechCoin","THS":"TechShares","TEK":"TekCoin","TEL":"Telcoin","GRAM":"Telegram Open Network","TELL":"Tellurion","PAY":"TenX","TENNET":"Tennet","TENZ":"Tenzorum","LED":"Terawatt","TERN":"Ternio","TRN":"Ternion","TVA":"Terra Virtua","TRC":"TerraCoin","TECO":"TerraEcoCoin","TGN":"TerraGreen","TER":"TerraNovaCoin","TESLA":"TeslaCoilCoin","TES":"TeslaCoin","USDT":"Tether","TRA":"Tetra","XTZ":"Tezos","THNX":"ThankYou","0xDIARY":"The 0xDiary Token","ABYSS":"The Abyss","EFX":"The EFFECT Network","TFC":"The Freedom Coin","GOVT":"The Government Network","THC":"The Hempcoin","SUNEX":"The Sun Exchange","XVE":"The Vegan Initiative","CHIEF":"TheChiefCoin","GCC*":"TheGCCcoin","VIG":"TheVig","TCR":"Thecreed","MAY":"Theresa May Coin","THETA":"Theta","TAGR":"Think And Get Rich Coin","THRT":"ThriveToken","TSC":"ThunderStake","TIA":"Tianhe","TBRS":"Tiberius","TDX":"Tidex Token","TNT":"Tierion","TIE":"Ties Network","TCH":"TigerCash","TGC":"TigerCoin","TIG":"Tigereum","XTC":"TileCoin","BILL":"TillBilly","TIME":"Time","TNB":"Time New Bank","TME":"Timereum","TMC":"TimesCoin","TIMI":"Timicoin","TIO*":"Tio Tour Guides","TIP":"Tip Blockchain","TTC":"TitCoin","TITAN":"Titan","TBAR":"Titanium BAR","TIT":"TittieCoin","TMT*":"ToTheMoon","TODAY":"TodayCoin","TKD":"Tokedo","TAAS":"Token as a Service","TKN":"TokenCard","TCT":"TokenClub","TDS":"TokenDesk","TPAY*":"TokenPay","ACE":"TokenStars","TEAMT":"TokenStars TEAM Token","AIRE":"Tokenaire","TBX":"Tokenbox","TEN":"Tokenomy","TGTC":"Tokensgate","TKS":"Tokes","TKA":"Tokia","TOK":"TokugawaCoin","TOKC":"Tokyo Coin","TOM":"Tomahawkcoin","TBL":"Tombola","TOMO":"TomoChain","TOPC":"Topchain","TOR":"TorCoin","TOT":"TotCoin","TRET":"Tourist Review","BBC":"TraDove B2BCoin","MTN":"TrackNetToken","TRCT":"Tracto","TXP":"Trade Pharma Network","TIOX":"Trade Token X","TIO":"Trade.io","EXTP":"TradePlace","TDZ":"Tradelize","TRAID":"Traid","TRAK":"TrakInvest","TX":"Transfer","TBCX":"TrashBurn","AVALA":"Travala","TRV":"Travel Coin","TT":"TravelChain","TLT":"Travelertoken","TRF":"Travelflex","TRAVEL":"Travelvee","TMT**":"Traxia Membership Token","TOT*":"Trecento Blockchain Capital","TREX":"TreeBlock","TZC":"TrezarCoin","FORCE":"TriForce Tokens","TRIA":"Triaconta","TRI":"Triangles Coin","TRIBE":"TribeToken","TRICK":"TrickyCoin","TRDT":"Trident","GPS":"Triffic","ID":"TrigID","TRIG":"Trigger","TIIM":"TriipMiles","TNC":"Trinity Network Credit","TRIO":"Tripio","TRIP":"Trippki","TRVC":"Trivecoin","TRVR":"Trivver","TRW":"Triwer","TPG":"Troll Payment","TKN*":"TrollTokens","TROLL":"Trollcoin","TRK":"TruckCoin","TRCK":"Truckcoin","TRUE":"True Chain","TFL":"True Flip Lottery","TUSD":"True USD","TDP":"TrueDeck","TGAME":"TrueGame","TIC":"TrueInvestmentCoin","TRUMP":"TrumpCoin","TRST":"TrustCoin","TRUST":"TrustPlus","TTB":"TrustaBit","FLEX":"TrustedCars FLEX","WHO":"Truwho","TYM":"Tryvium","TLP":"TulipCoin","TUR":"Turron","TRTL":"TurtleCoin","TUT":"Tutellus","TRT":"TuurnT","TWLV":"Twelve Coin","TWC":"Twilight","TWIST":"TwisterCoin","UUU":"U Network","UCASH":"U.CASH","UCN":"UC Coin","UCOINT":"UCOIN","UCT":"UCOT","UFO":"UFO Coin","HVE":"UHIVE","UMK":"UMKA","UNX":"UNEOX","XUP":"UPcoin","UR":"UR","URX":"URANIUMX","USAT":"USAT","USCOIN":"USCoin","USDC":"USD Coin","USDCT":"USDCT","USOAMIC":"USOAMIC","UBC":"Ubcoin","UBEX":"Ubex","UBQ":"Ubiq","UBIQ":"Ubiqoin","U":"Ucoin","USC":"Ultimate Secure Cash","UTC":"UltraCoin","XUN":"UltraNote","ULTC":"Umbrella","UMC":"Umbrella Coin","UNC":"UnCoin","UNAT":"Unattanium","NBOX":"Unboxed","UNB":"UnbreakableCoin","UNF":"Unfed Coin","UBT":"UniBright","CANDY":"UnicornGo Candy","USX":"Unified Society USDEX","UNIFY":"Unify","UKG":"UnikoinGold","UNIQ":"Uniqredit","USDE":"UnitaryStatus Dollar","UAEC":"United Arab Emirates Coin","UEC":"United Emirates Coin","UTT":"United Traders Token","UBTC":"UnitedBitcoin","GOALS":"UnitedFans","UIS":"Unitus","UTNP":"Universa","UNIT":"Universal Currency","UMO":"Universal Molecule","URT":"Universal Recognition Token","URP":"Universal Reward Protocol","UNRC":"UniversalRoyalCoin","UNI":"Universe","UNO":"Unobtanium","UP":"UpToken","UFR":"Upfiring","UQC":"Uquid Coin","URALS":"Urals Coin","URB":"Urbit Data","URO":"UroCoin","USE":"Usechain Token","UETL":"Useless Eth Token Lite","UET":"Useless Ethereum Token","UTH":"Uther","UTL":"Utile Network","UTIL":"Utility Coin","OOT":"Utrum","UTK":"Utrust","UWC":"Uwezocoin","VIDT":"V-ID","VANIG":"VANIG","VANM":"VANM","VAR":"VARcrypt","VEGA":"VEGA","VNTY":"VENOTY","VRX Token":"VIARIUM","VIBE":"VIBEHub","VIP":"VIP Tokens","VITE":"VITE","VIVO":"VIVO Coin","VLUX":"VLUX","VTOS":"VTOS","VTUUR":"VTUUR","VTRD":"VTradeExchange","VVI":"VV Coin","VLD":"Valid","VALID":"Validator Token","VAL":"Valorbit","VLR":"Valorem","VANY":"Vanywhere","VPRC":"VapersCoin","VAPOR":"Vaporcoin","VAD":"Varanida","VLTC":"VaultCoin","XVC":"Vcash","VTHO":"VeChainThor","VC":"Vecap","VET":"Vechain","VEC2":"VectorCoin 2.0","VLX":"Velox","VLT":"Veltor","VENA":"Vena Network","VNS":"Venus","VENUS":"VenusEnergy","VRA":"Verasity","VNT":"Veredictum","XVG":"Verge","VRC":"VeriCoin","VME":"VeriME","VRF":"Verifier","SPY":"Verifier","CRED":"Verify","VERI":"Veritaseum","VRTY":"Verity","VRM":"Verium","VRN":"Vernam","VRS":"Veros","VERSA":"Versa Token","VTC":"Vertcoin","VTX":"Vertex","VTEX":"Vertex","VTL":"Vertical","VEST":"VestChain","VST":"Vestarin","VEX":"Vexanium","VZT":"Vezt","VIA":"ViaCoin","VIAZ":"Viaz","VIB":"Viberate","VIT":"Vice Industry Token","VTM":"Victorieum","VTY":"Victoriouscoin","VIC":"Victorium","VID":"VideoCoin","VDO":"VidioCoin","VIDI":"Vidion","VIDY":"Vidy","VIEW":"Viewly","VEOT":"Viewo","VIN":"VinChain","VIOR":"ViorCoin","IDORU":"Vip2Fan","VIRAL":"Viral Coin","VUC":"Virta Unique Coin","VTA":"VirtaCoin","XVP":"VirtacoinPlus","VRT":"Virtual Reality Technology","VRH":"Virtual Rehab","VMC":"VirtualMining Coin","VISIO":"Visio","VNX":"VisionX","VITAE":"Vitae","VIU":"Viuly","OGO":"VogoV","VOISE":"Voise","VOL":"VolAir","VLTX":"Volentix","VLP":"Volpo","VTN":"Voltroon","VOOT":"VootCoin","VOT":"Votecoin","VOYA":"Voyacoin","VSX":"Vsync","VTR":"Vtorrent","VULC":"Vulcano","W12":"W12 Protocol","W3C":"W3Coin","WAB":"WABnetwork","WIN":"WCoin","WETH":"WETH","WRL":"WHIRL","WMC":"WMCoin","WOM":"WOM","WOWX":"WOWX","WRT":"WRTcoin","WTXH":"WTX HUB","WU":"WULET","WABI":"WaBi","WGR":"Wagerr","WTC":"Waltonchain","WAN":"Wanchain","WAND":"WandX","WRC*":"WarCoin","WARP":"WarpCoin","WASH":"WashingtonCoin","WUG":"WatchUGot","WMB":"WatermelonBlock","WAVES":"Waves","WCT":"Waves Community Token","WGO":"WavesGO","WNET":"Wavesnode.net","WAY":"WayCoin","WSX":"WeAreSatoshi","WBY":"WeBuy","WPR":"WePower","WT":"WeToken","WEALTH":"WealthCoin","WVR":"Weave","WEB*":"Webchain","WEB":"Webcoin","WDX":"WeiDex","WELL":"Well","WLME":"Wellmee","WTL":"Welltrado","WMK":"Wemark","WEX":"Wexcoin","WHL":"WhaleCoin","AWT":"WhatsOnPic","WHEN":"WhenHub","WC":"WhiteCoin","XWC":"WhiteCoin","WIC":"Wi Coin","WIIX":"Wiix","WBB":"Wild Beast Coin","WILD":"Wild Crypto","WINS":"WinStars","WHN":"Windhan Energy","LIF":"Winding Tree","WINE":"WineCoin","WINGS":"Wings DAO","WINK":"Wink","WISC":"WisdomCoin","WSC":"WiserCoin","WSH":"Wish Finance","WISH*":"WishFinance","WIT":"Witcoin","WLK":"Wolk","WOMEN":"WomenCoin","LOG":"Wood Coin","WBBC":"World Bit Bank","WCG":"World Crypto Gold","WGC":"World Gold Coin","XWT":"World Trade Funds","WOBTC":"WorldBTC","WDC":"WorldCoin","WOP":"WorldPay","WRC":"Worldcore","WPT":"Worldopoly","WAX":"Worldwide Asset eXchange","WBTC":"Wrapped Bitcoin","WYR":"Wyrify","WYS":"Wysker","XRED":"X Real Estate Development","XCASH":"X-CASH","XC":"X11 Coin","X2":"X2Coin","X8X":"X8Currency","CHI":"XAYA","XCZ":"XCOYNZ","XCO":"XCoin","XDE2":"XDE II","XDNA":"XDNA","XELS":"XELS Coin","XTN":"XEND token","XG":"XG Sports","XMX":"XMax","XOV":"XOVBank","XRP":"XRP","XBY":"XTRABYTES","XUEZ":"XUEZ","XXX":"XXXCoin","XYO":"XY Oracle","XNX":"XanaxCoin","XAUR":"Xaurum","XCSH":"Xcash","XCEL":"XcelTrip","XCG":"Xchange","XNC":"XenCoin","XEN":"XenixCoin","XNN":"Xenon","XNB":"Xeonbit","MI":"XiaoMiCoin","XDCE":"XinFin Coin","XIOS":"Xios","XT3":"Xt3ch","XRBT":"Xtribe","YAY":"YAYcoin","YAC":"YAcCoin","YACHTCO":"Yachtco","YMC":"YamahaCoin","YMZ":"Yamzu","YBC":"YbCoin","YDY":"Ydentity","YEE":"Yee","YBT":"YellowBetter","YES":"YesCoin","YOC":"YoCoin","YOVI":"YobitVirtualCoin","YON":"YondoCoin","YSH":"Yoshi","U42":"You42","YOYOW":"Yoyow","YUM":"Yumerium","Z2":"Z2 Coin","ZAB":"ZABERcoin","ZAZA":"ZAZA","ZT":"ZB Global","ZCC":"ZCC Coin","ZEC":"ZCash","ZECD":"ZCashDarkCoin","ZCG":"ZCashGOLD","ZCL":"ZClassic","XZC":"ZCoin","ZEN":"ZEN","ZEPH":"ZEPHYR","ZINC":"ZINC","ZIX":"ZIX Token","ZLQ":"ZLiteQubit","ZMN":"ZMINE","ZNAQ":"ZNAQ","ZPR":"ZPER","ZSE":"ZSEcoin","ZEX":"Zaddex","ZAP":"Zap","ZAT":"ZatGo","ZYD":"ZayedCoin","ZXT":"Zcrypt","NZL":"Zealium","ZCO":"Zebi Coin","ZED":"ZedCoins","ZPT":"Zeepin","ZEEW":"Zeew","ZEIT":"ZeitCoin","ZEL":"Zelcash","ZP":"Zen Protocol","ZND":"Zenad","ZENI":"Zennies","ZNA":"Zenome","ZER":"Zero","ZCC1":"ZeroCarbon","ZSC*":"ZeroState","ZEST":"ZestCoin","ZET2":"Zeta2Coin","ZET":"ZetaCoin","ZSC":"Zeusshield","ZUC":"Zeux","ZCN*":"Zichain","ZBC":"Zilbercoin","ZLA":"Zilla","ZIL":"Zilliqa","ZIP":"Zipper","ZIPT":"Zippie","ZOI":"Zoin","ZNE":"ZoneCoin","ZOOM":"ZoomCoin","ZRC":"ZrCoin","ZUP":"Zupply Token","ZUR":"Zurcoin","ZUUM":"Zuum","AQU":"aQuest","AXPR":"aXpire","ELF":"aelf","AXC":"autoXchange","BPN":"beepnow","OX":"betbox","BITCNY":"bitCNY","BITGOLD":"bitGold","BITSILVER":"bitSilver","BITUSD":"bitUSD","CSQ":"cosquare","DCS":"deCLOUDs","DNT":"district0x","ECHT":"e-Chat","EBIT":"eBit","EBTC":"eBitcoin","EBST":"eBoost","ELTC2":"eLTC","LYQD":"eLYQD","DEM":"eMark","EMU":"eMusic","ePRX":"eProxy","EREAL":"eREAL","EMPR":"empowr","BLACK":"eosBLACK","EOSDAC":"eosDAC","XEP":"ephelants360","FDX":"fidentiaX","GCN":"gCn Coin","FFUEL":"getFIFO","HBE":"healthbank","ICHN":"i-chain","IBANK":"iBankCoin","DEAL":"iDealCash","ICE":"iDice","IETH":"iEthereum","RLC":"iEx.ec","ILT":"iOlite","ITU":"iTrue","IW":"iWallet","IXT":"iXledger","IMU":"imusify","ITM":"intimate.io","MCN":"mCoin","MVU":"meVu","MIBO":"miBoodle","MOOLYA":"moolyacoin","NOS":"nOS","redBUX":"redBUX","SUSD":"sUSD","SVD":"savedroid","SBA":"simplyBrand","UFT":"ufoodo","UGC":"ugChain","VSL":"vSlice","VTAG":"veriTAG Token","WBTC*":"wBTC","OPET":"ÕpetFoundation","BYR":"Belarusian ruble","GQE":"Central African CFA franc","MZM":"Mozambican metical","VEB":"Venezuelan bolivar","ZWR":"Zimbabwean dollar"} \ No newline at end of file diff --git a/other/mergecurr5lower.json b/other/mergecurr5lower.json new file mode 100644 index 0000000..00ac750 --- /dev/null +++ b/other/mergecurr5lower.json @@ -0,0 +1 @@ +{"42":"42 coin","300":"300 token","365":"365coin","404":"404coin","433":"433 token","611":"sixeleven","808":"808","888":"octocoin","1337":"elitecoin","2015":"2015 coin","usd":"united states dollar","cad":"canadian dollar","eur":"european euro","aed":"uae dirham","afn":"afghan afghani","all":"albanian lek","amd":"armenian dram","ars":"argentine peso","aud":"australian dollar","azn":"azerbaijani manat","bam":"bosnia and herzegovina konvertibilna marka","bdt":"bangladeshi taka","bgn":"bulgarian lev","bhd":"bahraini dinar","bif":"burundi franc","bnd":"brunei dollar","bob":"bolivian boliviano","brl":"brazilian real","bwp":"botswana pula","byn":"belarusian ruble","bzd":"belize dollar","cdf":"congolese franc","chf":"swiss franc","clp":"chilean peso","cny":"chinese/yuan renminbi","cop":"colombian peso","crc":"costa rican colon","cve":"cape verdean escudo","czk":"czech koruna","djf":"djiboutian franc","dkk":"danish krone","dop":"dominican peso","dzd":"algerian dinar","eek":"estonian kroon","egp":"egyptian pound","ern":"eritrean nakfa","etb":"ethiopian birr","gbp":"british pound","gel":"georgian lari","ghs":"ghanaian cedi","gnf":"guinean franc","gtq":"guatemalan quetzal","hkd":"hong kong dollar","hnl":"honduran lempira","hrk":"croatian kuna","huf":"hungarian forint","idr":"indonesian rupiah","ils":"israeli new sheqel","inr":"indian rupee","iqd":"iraqi dinar","irr":"iranian rial","isk":"icelandic króna","jmd":"jamaican dollar","jod":"jordanian dinar","jpy":"japanese yen","kes":"kenyan shilling","khr":"cambodian riel","kmf":"comorian franc","krw":"south korean won","kwd":"kuwaiti dinar","kzt":"kazakhstani tenge","lbp":"lebanese lira","lkr":"sri lankan rupee","ltl":"lithuanian litas","lvl":"latvian lats","lyd":"libyan dinar","mad":"moroccan dirham","mdl":"moldovan leu","mga":"malagasy ariary","mkd":"macedonian denar","mmk":"myanma kyat","mop":"macanese pataca","mur":"mauritian rupee","mxn":"mexican peso","myr":"malaysian ringgit","mzn":"mozambican metical","nad":"namibian dollar","ngn":"nigerian naira","nio":"nicaraguan córdoba","nok":"norwegian krone","npr":"nepalese rupee","nzd":"new zealand dollar","omr":"omani rial","pab":"panamanian balboa","pen":"peruvian nuevo sol","php":"philippine peso","pkr":"pakistani rupee","pln":"polish zloty","pyg":"paraguayan guarani","qar":"qatari riyal","ron":"romanian leu","rsd":"serbian dinar","rub":"russian ruble","rwf":"rwandan franc","sar":"saudi riyal","sdg":"sudanese pound","sek":"swedish krona","sgd":"singapore dollar","sos":"somali shilling","syp":"syrian pound","thb":"thai baht","tnd":"tunisian dinar","top":"tongan pa'anga","try":"turkish new lira","ttd":"trinidad and tobago dollar","twd":"new taiwan dollar","tzs":"tanzanian shilling","uah":"ukrainian hryvnia","ugx":"ugandan shilling","uyu":"uruguayan peso","uzs":"uzbekistani som","vef":"venezuelan bolívar fuerte","vnd":"vietnamese dong","xaf":"central african cfa franc","xof":"west african cfa franc","yer":"yemeni rial","zar":"south african rand","zmk":"zambian kwacha","zwl":"zimbabwean dollar","ang":"netherlands antillean gulden","aoa":"angolan kwanza","awg":"aruban florin","bbd":"barbadian dollar","bmd":"bermudian dollar","bsd":"bahamian dollar","btc":"bitcoin","btn":"bhutanese ngultrum","clf":"chilean unit of account (uf)","cnh":"chinese yuan (offshore)","cuc":"cuban peso","cup":"cuban peso","fjd":"fijian dollar","fkp":"falkland islands pound","ggp":"ggpro","gip":"gibraltar pound","gmd":"gambian dalasi","gyd":"guyanese dollar","htg":"haitian gourde","imp":"coinimp","jep":"jersey pound","kgs":"kyrgyzstani som","kpw":"north korean won","kyd":"cayman islands dollar","lak":"lao kip","lrd":"liberian dollar","lsl":"lesotho loti","mnt":"mongolian tugrik","mro":"mauritanian ouguiya","mru":"mauritanian ouguiya","mvr":"maldivian rufiyaa","mwk":"malawian kwacha","pgk":"papua new guinean kina","sbd":"solomon islands dollar","scr":"seychellois rupee","shp":"saint helena pound","sll":"sierra leonean leone","srd":"surinamese dollar","ssp":"south sudanese pound","std":"são tomé and príncipe dobra (pre-2018)","stn":"steneum coin","svc":"salvadoran colón","szl":"swazi lilangeni","tjs":"tajikistani somoni","tmt":"turkmen manat","vuv":"vanuatu vatu","wst":"samoan tala","xag":"silver ounce","xau":"xaucoin","xcd":"east caribbean dollar","xdr":"special drawing rights","xpd":"petrodollar","xpf":"cfp franc","xpt":"plata","zmw":"zambian kwacha","arc*":"arcade city","club":"clubcoin","007":"007 coin","zcn":"0chain","zrx":"0x","0xbtc":"0xbitcoin","bit16":"16bitcoin","mct":"1717 masonic commemorative token","1cr":"1credit","1wo":"1world","chao":"23 skidoo","arms":"2acoin","2bacco":"2bacco coin","2give":"2givecoin","2tf":"2tf","32bit":"32bitcoin","3xd":"3dchain","3des":"3des","8bt":"8 circuit studios","8bit":"8bit coin","atkn":"a-token","aaa":"aaa reserve currency","rtb":"ab-chain","abc":"ab-chain","at":"abcc token","ac3":"ac3","aca":"aca token","act":"act","acoin":"acoin","aent":"aen","aeon":"aeon","aergo":"aergo","agt":"agate","aic":"ai crypto","aidoc":"ai doctor","ait":"aichain token","xai*":"aicoin","aiot":"aiot token","aitt":"aitrading","axt":"aix","alx":"alax","alis":"alismedia","alt":"altcoin","ambt":"ambt token","amis":"amis","amlt":"amlt","amo":"amo coin","anon":"anon","ants":"ants reloaded","apis":"apis","aps":"apres","qey":"aqwire","arb*":"arbitrage","are":"arenon","ark":"ark","arna":"arna panacea","arr":"arround","asgc":"asg","asqt":"asq protocol","atb":"atb coin","atcc":"atc coin","atfs":"atfs project","atl":"atlant","atm":"atmchain","auc*":"au-coin","awax":"awax","axr":"axron","axs":"axs","abele":"abele","abj":"abjcoin","abs":"absolute coin","acc*":"accelerator network","acco":"accolade","aec":"acescoin","aces":"acescoin","act*":"achain","ach":"achievecoin","acid":"acidcoin","oak":"acorn collective","acm":"actinium","actn":"action coin","amt":"acumen","aac":"acute angle cloud","acc":"adcoin","adx":"adex","adt":"adtoken","adab":"adab solutions","adm":"adamant","adb":"adbank","adl":"adelphoi","adh":"adhive","adi":"aditus","adst":"adshares","aib":"advancedinternetblock","adz":"adzcoin","ags":"aegis","aen":"aenco","aerm":"aerium","aero":"aero coin","am":"aerome","arn":"aeron","xrm":"aerum","aer":"aeryus","ae":"aeternity","att":"aeternum","aet":"afterether","agvc":"agavecoin","estate":"agentmile","agrs":"agoras token","dlt":"agrello delta","aht":"ahoolee","aibb":"aibb","aid":"aidcoin","adn":"aiden","adk":"aidos kuneen","aix":"aigang","aim":"aimedis","aion":"aion","apod":"airpod","ast":"airswap","air":"airtoken","airt":"aircraft","aka":"akroma","alce":"alcedo","alex":"alexandrite","plm":"algo.land","alg":"algory","abbc":"alibabacoin","aln":"aliencoin","soc":"all sports coin","afo":"allforonebusiness","asafe2":"allsafe","apc":"alpacoin","alps":"alpenschillling","alf":"alphacoin","ax":"alphax","acat":"alphacat","alp":"alphacon","apz":"alprockz","alqo":"alqo","altcom":"altcommunity coin","altocar":"altocar","alux":"alux bank","as":"amastar","amber":"ambercoin","amb":"ambrosus","amc":"americancoin","amx":"amero","ammo":"ammo rewards","amn":"amon","amos":"amos","veo":"amoveo","ams":"amsterdam coin","amy":"amygws","ancp":"anacrypt","anal":"analcoin","acp":"anarchists prime","and":"andromedacoin","angl":"angel token","avh":"animation vision cash","ani":"animecoin","ank":"ankorus token","ankr":"ankr network","anc":"anoncoin","ryz":"anryze","anti":"anti bitcoin","athk":"antihack.me","antc":"antilitecoin","cpx":"apex token","apex":"apexcoin","aph":"aphelion","apl":"apollo currency","apxt":"apollox","xap":"apollon","appc":"appcoins","apt":"aptcoin","apx":"apx","aqua":"aquachain","arco":"aquariuscoin","ar*":"ar.cash","arq":"arqma","alc":"arab league coin","ant":"aragon","araw":"araw","arbi":"arbi","arb":"arbit coin","arct":"arbitragect","abt":"arcblock","arcx":"arcadierx","arch":"archcoin","arc":"arcticcoin","ardr":"ardor","arena":"arena","arg":"argentum","agm":"argoneum","argus":"arguscoin","ari":"aricoin","aro":"arionum","bots":"arkdao","arm":"armory coin","arpa":"arpacoin","aby":"artbyte","atp":"artpro","arte":"artemine","atx":"artexcoin","aua":"arubacoin","asn":"ascension coin","xas":"asch","ac":"asia coin","adcn":"asiadigicoin","atx*":"aston","ast*":"astral","astro":"astronaut","ath":"atheios","tho":"athero","atmos":"atmos","atom":"atomic coin","awc":"atomic wallet coin","atmi":"atonomi","attr":"attrace","auc":"auctus","adc":"audiocoin","rep":"augur","auk":"aukcecoin","aurs":"aureus","aura":"aurora","aur":"aurora coin","aurum":"aurum","aun":"authoreon","ats":"authorship","aupc":"authpaper","abx":"autobay","atc":"autoblock","nio*":"autonio","aut":"autoria","atm*":"autumncoin","auxilium":"auxilium","ava":"avalon","av":"avatar coin","avt":"aventcoin","aop":"averopay","ave":"avesta","acn":"avoncoin","work":"aworker","axiom":"axiom coin","axys":"axys","azart":"azart","az":"azbit","azu":"azultec","b21":"b21","b2b":"b2bx","b3":"b3 coin","kb3":"b3coin","bax":"babb","banca":"banca","bkx":"bankex","bbn":"bbncoin","bcv":"bcv blue chip","beat":"beat token","beer":"beer coin","bern":"berncash","bex":"bex token","bft":"bf token","bfex":"bfex","bhpc":"bhpcash","bitto":"bitto","vee":"blockv","bmt":"bmchain","bsc*":"boonscoin","bst*":"boosto","bos":"boscoin","bqc":"bqcoin","bqtx":"bqt","bvo":"bravo pay","brat":"brother","btcl":"btc lite","btcm":"btcmoon","btu":"btu protocol","baas":"baasid","ban":"babes and nerds","bkc":"balkancoin","nanas":"bananabits","bnt":"bancor network token","xbank":"bancryp","b@":"bankcoin","bnk":"bankera","bcoin":"bannercoin","bbn*":"banyan network","bbcc":"baseballcardcoin","bashc":"bashcoin","bat":"basic attention token","basis":"basis","bta":"bata","bcx":"battlecoin","bstk":"battlestake","sand":"beachcoin","beam":"beam","bean":"beancash","brdd":"bearddollars","xbts":"beats","btzc":"beatzcoin","bec":"beauty chain","bvc":"beavercoin","bxy":"beaxy","bee":"bee token","bfdt":"befund","bela":"bela","bbi":"belugapay","bmk":"benchmark","bnc":"benjacoin","benji":"benjirolls","best":"bestchain","kng":"betkings","chart":"betonchart","bet":"betacoin","bfc":"betform","bether":"bethereum","kro":"betoken","btrm":"betrium token","betr":"betterbetting","btxc":"bettex coin","bett":"bettium","bc":"beverage.cash","bznt":"bezant","bez":"bezop","bgg":"bgogo token","bnr":"bineuro","bbp":"biblepay","bix":"biboxcoin","bid":"bidcoin","bdp":"bidipass","dooh":"bidooh","bdb":"big data block","bbg":"bigbang","huge":"bigcoin","lfc":"biglifecoin","bigup":"bigup","bbo":"bigbom","bhc":"bighancoin","bic":"bikercoins","blry":"billarycoin","xbl":"billionaire token","bnb":"binance coin","brc*":"binarycoin","biob":"biobar","bioc":"biocrypt","bio":"biocoin","bios":"bioscrypto","btrn":"biotron","bipc":"bipcoin","bis":"bismuth","bz":"bit-z","bas":"bitasean","btb":"bitbar","bay":"bitbay","bbk":"bitblocks","bbt":"bitboost","boss":"bitboss","bronz":"bitbronze","bcd*":"bitcad","ben":"bitcoen","bcna":"bitcanna","bitcar":"bitcar","cat*":"bitclave","coal":"bitcoal","bccoin":"bitconnect coin","bcr":"bitcredit","btcry":"bitcrystal","bcy":"bitcrystals","btcr":"bitcurrency","bdg":"bitdegree","csno":"bitdice","hny":"bitfence","bfx":"bitfinex tokens","flip":"bitflip","flx*":"bitflux","bf":"bitforex token","hire*":"bithire","bih":"bithostcoin","stu":"bitjob","btlc":"bitluckcoin","lux*":"bitlux","btm":"bitmark","bmx":"bitmart coin","btmx":"bitmax token","btmi":"bitmiles","bitm":"bitmoney","bm":"bitmoon","bitok":"bitokx","btq":"bitquark","rntb":"bitrent","bit":"bitrewards","bsch":"bitschool","bitx":"bitscreener","xseed":"bitseeds","bte*":"bitserial","bsr":"bitsoar coin","btsg":"bitsong","stash":"bitstash","bstn":"bitstation","bst":"bitstone","swift":"bitswift","bxt":"bittokens","btt":"bittorrent","tube":"bittube","veg":"bitvegan","volt":"bitvolt","btw":"bitwhite","zny":"bitzeny","xbond":"bitacium","btca":"bitair","bac":"bitalphacoin","bb1":"bitbond","bose":"bitbose","btmg":"bitcademy football","btd":"bitcloud","btdx":"bitcloud 2.0","btcn":"bitcoinote","b2g":"bitcoiin2gen","bca":"bitcoin atom","cdy":"bitcoin candy","bch":"bitcoin cash","btcc":"bitcoin core","bcd":"bitcoin diamond","btg":"bitcoin gold","bitg":"bitcoin green","btch":"bitcoin hush","xbi":"bitcoin incognito","bci":"bitcoin interest","btpl":"bitcoin planet","btcp":"bitcoin private","btcred":"bitcoin red","bcr*":"bitcoin royal","bsv":"bitcoin sv","btcs":"bitcoin scrypt","bt2":"bitcoin segwit2x","btcs*":"bitcoin supreme","btcd":"bitcoindark","btce*":"bitcoinex","bcf":"bitcoinfast","bifi":"bitcoinfile","btf*":"bitcoinfor","btcgo":"bitcoingo","xbc":"bitcoinplus","bws":"bitcoinwspectrum","bcx*":"bitcoinx","btcz":"bitcoinz","btcus":"bitcoinus","bm*":"bitcomo","btx":"bitcore","darx":"bitdaric","bdl":"bitdeal","xbx":"bitex","bt1":"bitfinex bitcoin future","btr":"bither","bth":"bithereum","kan":"bitkan","btcl*":"bitluckcoin","bim":"bitminercoin","bmxt":"bitmxittz","xpat":"bitnation pangea","bq":"bitqy","bro":"bitradio","btl":"bitrolium","bitsd":"bits digit","bins":"bitsense","bts":"bitshares","bsx":"bitspace","xbs":"bitstake","bits":"bitstarcoin","bits*":"bitswift","bwt":"bittwatt","btv":"bitvote","bwt2":"bitwin 2.0","bitz":"bitz coin","btz":"bitzcoin","btzn":"bitzon","bxm":"bixtrim","bzky":"bizkey","xbp":"black pearl coin","blk":"blackcoin","bs":"blackshadowcoin","bbos":"blackbox foundation","bhc*":"blackholecoin","bmc":"blackmoon crypto","bstar":"blackstar","bbtc":"blakebitcoin","blc":"blakecoin","blas":"blakestar","blazr":"blazercoin","blkd":"blinked","blitz":"blitzcoin","xbp*":"blitzpredict","ary":"block array","bltg":"block-logic","bcat":"blockcat","bcdn":"blockcdn","lnc":"blocklancer","bcpt":"blockmason credit protocol","bmh":"blockmesh","block":"blocknet","blockpay":"blockpay","bpl":"blockpool","bcap":"blockchain capital","bcdt":"blockchain certified data token","blx":"blockchain index","bct":"blockchain terminal","btf":"blockchain traded fund","bcio":"blockchain.io","pass":"blockpass","bpt":"blockport","ccc*":"blockshipping","tix":"blocktix","bkt":"blocktrade token","blv":"blockvest","bntn":"blocnation","cys":"bloocys","blt":"bloom token","cdt":"blox","blu":"bluecoin","bdr":"bluedragon","blz":"bluzelle","bnx":"bnrtxcoin","bot":"bodhi","boe":"bodhi","bog":"bogcoin","bold":"bold","bln*":"bolenum","boli":"bolivarcoin","boltt":"bolttcoin","bomb":"bombcoin","bona":"bonafi","bon*":"bonescoin","bon":"bonpay","bbr":"boolberry","bost":"boostcoin","bmg":"borneo","boson":"bosoncoin","bos*":"bostoken","botc":"botchain","cap":"bottlecaps","bto":"bottos","bou":"boulle","bnte":"bountie","xbty":"bounty","bnty":"bounty0x","bouts":"boutspro","aht*":"bowhead health","bsc":"bowscoin","boxy":"boxycoin","impcn":"brain space","brain":"braincoin","braz":"brazio","brd":"bread token","brx":"breakout stake","brk":"breakoutcoin","bria":"briacoin","xbb":"brickblock","bco":"bridgecoin","brc":"brightcoin","brik":"brikbit","brit":"britcoin","brnx":"bronix","bxc":"btcex","bubo":"budbo","bud":"buddy","bgl":"buglab","bt":"buildteam","bulls":"bullshitcoin","bwk":"bulwark","bun":"bunnycoin","burst":"burstcoin","buzz":"buzzcoin","byc":"bytecent","bte":"bytecoin","bcn":"bytecoin","gbyte":"byteball","byther":"bytether","btm*":"bytom","xct":"c-bits","c25":"c25 coin","caix":"caix","cbd":"cbd crystals","ccc":"cccoin","cdrx":"cdrx","cdx":"cdx network","cedex":"cedex coin","ceek":"ceek smart vr token","ceti":"cetus coin","chips":"chips","cic":"cichain","cinx":"cindx","cinni":"cinnicoin","clam":"clams","co2":"co2 token","cms":"comsa","cnct":"connect","cpy":"copytrack","coss":"coss","coti":"coti","cpc*":"cpchain","mls":"cprop","cprop":"cprop","crwd":"crwd network","cmz":"cryptomagz","crs*":"crystals","cybr":"cybr","cab":"cabbageunit","che":"cache","cach":"cachecoin","cf":"californium","calc":"caliphcoin","clo":"callisto network","cam":"camcoin","cmpco":"campuscoin","can":"canyacoin","cnd*":"canada ecoin","cdn":"canada ecoin","cand":"canlead","ccn":"cannacoin","xci":"cannabis industry coin","cann":"cannabiscoin","cnab":"cannabium","capp":"cappasity","cpc":"capricoin","car":"carblock","ctx":"cartaxi","cv":"carvertical","carat":"carats token","cusd":"carbon","carbon":"carboncoin","ada":"cardano","card":"cardstack","care*":"care token","care":"carebit","crgo":"cargocoin","tics":"cargoconx","cxo":"cargox","diem":"carpediemcoin","ctc":"cartercoin","cnbc":"cash & back coin","cash*":"cash poker pro","cbc*":"cashbagcoin","cbc":"cashbet coin","cash":"cashcoin","csh":"cashout","cas":"cashaa","csc":"casinocoin","cst":"casper api","csp":"caspian","cstl":"castle","cat":"catcoin","catt":"catex","cvtc":"cavatcoin","cav":"caviar","cco":"ccore","cel":"celsius network","ctr":"centra","cennz":"centrality token","cnt":"centurion","cbs":"cerberus","xce":"cerium","chc":"chaincoin","link":"chainlink","zilla":"chainzilla","chx":"chainium","chan":"chancoin","cag":"change","cha":"charity coin","charm":"charm coin","cxc":"checkcoin","chk":"chek","chess":"chesscoin","child":"childcoin","cnc":"chinacoin","chip":"chip","choof":"choofcoin","day":"chronologic","crx":"chronoscoin","chw":"chrysalis coin","clpx":"chynge.net","cin":"cindercoin","cnd":"cindicator","cir":"circuitcoin","coval":"circuits of value","ctl":"citadel","ctw":"citowise","cvc":"civic","clrty":"clarity","caid":"clearaid","xclr":"clearcoin","poll":"clearpoll","clv":"clevercoin","chash":"cleverhash","click":"clickcoin","clin":"clinicoin","clint":"clinton","cccx":"clipper coin capital","cloak":"cloakcoin","ckc":"clockcoin","cld":"cloud","clout":"clout","cldx":"cloverdex","clud":"cludcoin","coe":"coeval","cot":"cotrader","covex":"covex","cob":"cobinhood","cox":"cobracoin","ctt":"codetract","cfc":"coffeecoin","cfi":"cofound.it","cogen":"cogenero","cogs":"cogmento","cog":"cognitio","coin*":"coin","coy":"coin analyst","xmg":"coin magi","bttf":"coin to the future","c2":"coin.2","coni":"coinbene","cet":"coinex token","cofi":"coinfi","xcj":"coinjob","cl":"coinlancer","lion":"coinlion","mee":"coinmeet","meet":"coinmeet","xcm":"coinmetro","cpl":"coinplace token","chp":"coinpoker token","cpex":"coinpulsetoken","cch":"coinchase","daily":"coindaily","cgt":"coingrid","ctic":"coinmatic","coi":"coinnec","cno":"coino","cnmt":"coinomat","cxt":"coinonat","xcxt":"coinonatx","tcj":"coinshare","cen":"coinsuper ecosystem network","coin":"coinvest","cwt":"coinware","cxg":"coinxes","colx":"colossuscoinxt","cln":"colu local network","cbp":"combox","cmtc":"cometcoin","cbt":"commerceblock token","cmm":"commercium","comm":"community coin","coc":"community coin","cmp":"compcoin","comp":"compound coin","cpn":"compucoin","cyc":"conspiracy coin","cnl":"concealcoin","rain":"condensate","cfd":"confido","cjr":"conjure","cjt":"connectjob token","cty":"connecty","cqst":"conquestcoin","sen*":"consensus","dag":"constellation","cnn":"content neutrality network","can*":"content and ad network","box":"contentbox","cos":"contentos","cuz":"cool cousin","cool":"coolcoin","ccx":"cooldarkcoin","xcpo":"copico","clr":"copperlark","coral":"coralpay","core":"core group asset","cor":"corion","ctxc":"cortex","cosx":"cosmecoin","csmic":"cosmic","cmos":"cosmo","cosm":"cosmochain","atom*":"cosmos","cmc":"cosmoscoin","cou":"couchain","xcp":"counterparty","cht":"countinghouse fund","cov*":"covencoin","cov":"covesting","cplo":"cpollo","crab":"crabcoin","crack":"crackcoin","craft":"craftcoin","cfty":"crafty","craig":"craigscoin","crnk":"crankcoin","crave*":"crave-ng","crave":"cravecoin","crv":"cravy","czc":"crazy coin","crm":"cream","xcre":"creatio","crea":"creativechain","crdnc":"credence coin","pesa":"credible","credit":"credit","crb":"creditbit","cre*":"creditcoin","ccoin":"creditcoin","cdpt":"creditor data platform","cre":"credits","crds":"credits","cs*":"credits","cft*":"credo","credo":"credo","creva":"creva coin","croat":"croat","cmct":"crowd machine","crc***":"crowdcoin","ccos":"crowdcoinage","crf":"crowdforce","cdp":"crowdprecision","yup":"crowdholding","wiz":"crowdwiz","crw":"crown coin","crc**":"crycash","ipt":"crypt-on","crypt":"cryptcoin","cpt":"cryptaur","crl":"cryptelo coin","crpt":"crypterium","xcr":"crypti","cryp":"crypticcoin","qrp":"cryptics","cto":"crypto","angel":"crypto angel","cesc":"crypto escudo","cif":"crypto improvement fund","cspn":"crypto sports","tkt":"crypto tickets","cwex":"crypto wine exchange","cwis":"crypto wisdom coin","cwx":"crypto-x","mco":"crypto.com","cro":"crypto.com chain token","c20":"crypto20","cabs":"cryptoabs","buk":"cryptobuk","cbx":"cryptobullion","ccrb":"cryptocarbon","circ":"cryptocircuits","fcs":"cryptofocus","cft":"cryptoforecast","chbr":"cryptohub","tkr":"cryptoinsight","cj":"cryptojacks","cjc":"cryptojournal","leu":"cryptoleu","cpay":"cryptopay","crps":"cryptopennies","ping":"cryptoping","cp":"cryptoprofile","crev":"cryptorevolution","cr":"cryptoriyal","cs":"cryptospots","cwv":"cryptowave","cwxt":"cryptoworldxtoken","cron":"cryptocean","ccin":"cryptocoin insurance","cdx*":"cryptodex","cga":"cryptographic anomaly","cix100":"cryptoindex","cyt":"cryptokenz","cix":"cryptonetix","cnx":"cryptonex","xcn":"cryptonite","cefs":"cryptopiafeeshares","crs":"cryptoreal","cxa":"cryptovationx","oxy2":"cryptoxygen","mn":"cryptsy mining contract","points":"cryptsy points","crtm":"cryptum","cvcoin":"crypviser","cct":"crystal clear token","auto":"cube","qbt":"cubits","cur":"cura network","ctkn":"curaizon","cure":"curecoin","cru":"curium","cbuk":"curveblock","chft":"customcoin","ccl":"cyclean","xcs":"cybcsec coin","cci":"cyber capital invest","cc":"cybercoin","cmt":"cybermiles","cabs*":"cybertrust","cvt":"cybervein","cre**":"cybereits token","cyder":"cyder coin","cyg":"cygnus","cyp":"cypherpunkcoin","funk":"cypherfunks coin","cyrs":"cyrus token","dach":"dach coin","dac":"dacash","dadi":"dadi","dax":"daex","bet*":"dao.casino","gen*":"daostack","daps":"daps token","das":"das","datx":"datx","dav*":"dav","drp":"dcorp","deex":"deex","cet*":"dice money","dim":"dimcoin","diw":"diwtoken","dmt":"dmarket","dntx":"dnatix","dnn":"dnn token","mtc":"docademic","dov":"dovu","dream*":"dream","drpu":"drp utility","draco":"dt token","dyno":"dyno","dai":"dai","dan":"daneel","dxc*":"daox","dar":"darcrus","prod":"darenta","dec":"darico","dark":"dark","disk":"dark lisk","moond":"dark moon","db":"darkbit","drkc":"darkcash","dcc":"darkcrave","deth":"darkether","dgdc":"darkgold","dkc":"darkknightcoin","dank":"darkkush","dsb":"darkshibe","dt":"darktoken","drkt":"darktron","dnet":"darknet","dasc":"dascoin","dash":"dash","dsh":"dashcoin","dta":"data","dtt*":"data trading","dtx":"databroker dao","dxt":"datawallet","dtb":"databits","dbccoin":"datablockchain","dtc*":"datacoin","xdt":"dataeum","dtn":"datareum","dtrc":"datarius","dat":"datum","dav":"davorcoin","daxx":"daxxcoin","dtc":"daytrader coin","dayta":"dayta","dht":"dehedge token","dnet*":"denet","xna":"deoxyribose","dbc*":"debit coin","dbtc":"debitcoin","deb":"debitum token","dct":"decent","dbet":"decent.bet","mana":"decentraland","dacc":"decentralized accessible content chain","dml":"decentralized machine learning","dubi":"decentralized universal basic income","hst":"decision token","dcr":"decred","deep":"deep gold","dbc":"deepbrain chain","onion":"deeponion","dea":"degas coin","dei":"deimos","dkd":"dekado","del":"delchain","dpay":"delightpay","dpt":"deliverers power token","dpy":"delphy","dlxv":"delta-x","dcre":"deltacredits","dnr":"denarius","dno":"denaro","dent":"dent","dcn":"dentacoin","dfbt":"dentalfix","depo":"depository network","dero":"dero","desi":"desico","dsr":"desire","des":"destiny","dtct":"detectortoken","dth":"dether","dvc":"devcoin","eve":"devery","dev":"deviant coin","dxg":"dexage","dmd":"diamond","dck":"dickcoin","digs":"diggits","dgb":"digibyte","dgc":"digicoin","cube":"digicube","deur":"digieuro","digif":"digifel","dfxt":"digifinextoken","dgm":"digimoney","dgpt":"digipulse","dgms":"digigems","dagt":"digital asset guarantee token","dpp":"digital assets power play","dbg":"digital bullion gold","ddf":"digital developers fund","dfs":"digital fantasy sports","tmtg":"digital gold exchange","drs":"digital rupees","xdn":"digitalnote","dp":"digitalprice","dgtx":"digitex futures","wage":"digiwage","dgd":"digix dao","dgx":"digix gold token","dig":"dignity","dime":"dimecoin","dcy":"dinastycoin","din":"dinero","xdq":"dirac coin","dis":"discoveryiot","dcc*":"distributed credit chain","dit":"ditcoin","divx":"divi exchange token","divi":"divi project","dtc**":"divotycoin","dxc":"dixicoin","dlisk":"dlisk","note":"dnotes","doc":"doc coin","nrn":"doc.ai neuron","dock":"dock.io","doged":"dogecoindark","dgore":"dogegorecoin","xdp":"dogeparty","doge":"dogecoin","dla":"dolla","dt1":"dollar token 1","dlc":"dollarcoin","dlr":"dollaronline","drt":"domraider","don":"donationcoin","ddl":"donocle","dope":"dopecoin","dor":"dorado","dot":"dotcoin","boat":"doubloon","dow":"dowcoin","dra":"draculacoin","dft":"draftcoin","drg":"dragon coin","xdb":"dragonsphere","drgn":"dragonchain","drm8":"dream8coin","dream":"dreamteam token","drf":"drife","drz":"droidz","drc":"dropcoin","drop":"dropil","drxne":"droxne","dub":"dubcoin","dbic":"dubaicoin","dbix":"dubaicoin","duck":"duckduckcoin","dusk":"dusk network","dutch":"dutch coin","dux":"duxcoin","dyc":"dycoin","dyn":"dynamic","dtr":"dynamic trading rights","dyncoin":"dyncoin","dtem":"dystem","dbr":"düber","ecc*":"e-currencycoin","edr":"e-dinar coin","efl":"e-gulden","eb3":"eb3coin","ebc":"ebcoin","ecc":"ecc","omi":"ecomi","eco":"ecocoin","edrc":"edrcoin","ego":"egocoin","ejac":"eja coin","eltcoin":"eltcoin","emanate":"emanate","emx":"emx","et":"endo","entrc":"enter coin","entry":"entry","eot*":"eon","eos":"eos","epik":"epik token","eql":"equal","eq":"equi","equi":"equi token","erb":"erbcoin","est":"esports chain","xbase":"eterbase","ets":"eth share","era":"etha","etho":"ether-1","egas":"ethgas","euno":"euno","evos":"evos","exmr":"exmr","exrn":"exrnchain","ete":"extradecoin","eye":"eye token","ezx":"ez exchange","ezc":"ezcoin","ezm":"ezmarket","ezt":"eztoken","ea":"eaglecoin","eags":"eagscoin","earth":"earth token","eac":"earthcoin","egdc":"easyguide","emt":"easymine","etkn":"easytoken","ebz":"ebitz","ebs":"ebolashare","eko":"echolink","ec":"eclipse","ecob":"ecobit","ecr":"ecoverse","eddie":"eddie coin","edn":"edenchain","edge":"edgecoin","edg":"edgeless","edu":"educoin","ledu":"education ecosystem","edc":"educoinv","egg":"eggcoin","egt":"egretia","edo":"eidoo","emc2":"einsteinium","elc":"elacoin","xel":"elastic","ela":"elastos","eca":"electra","elec":"electrify.asia","elt":"electron","etn":"electroneum","ekn":"elektron","ele":"elementrem","elm":"elements","eles":"elements estates","eli*":"elicoin","eli":"eligma","elix":"elixir","ella":"ellaism","elp":"ellerium","elli":"elliotcoin","ely":"elysian","els":"elysium","aec*":"emaratcoin","emb":"embercoin","mbrs":"embers","emd":"emerald","emc":"emercoin","emn":"eminent token","emigr":"emiratesgoldcoin","epy*":"emphy","pleo":"empleos","empc":"emporiumcoin","epy":"empyrean","encx":"encrybit","dna":"encrypgen","ett":"encryptotel","encn":"endchain","edr*":"endor protocol token","ene":"enecoin","enq":"enecuum","nrg":"energi","etk":"energi token","tsl":"energo","enrg":"energycoin","engt":"engagement token","egcc":"engine","xng":"enigma","eng":"enigma","enj":"enjin coin","enk":"enkidu","enter":"entercoin (enter)","entrp":"entropy token","enu":"enumivo","env":"envienta","evn":"envion","nvoy":"envoy","zym":"enzym","equal":"equalcoin","eqt":"equitrader","eqb":"equibit","eqm":"equilibrium coin","eqy":"eqwity","ere":"erecoin","efyt":"ergo","ert*":"eristica","ero":"eroscoin","err":"errorcoin","ery":"eryllium","esp":"espers","ert":"esports.com","ess":"essentia","etalon":"etalon","xec":"eternal coin","xet":"eternal token","ett*":"eternal trusts","ent":"eternity","ebet":"ethbet","etbs":"ethbits","lend":"ethlend","heal":"etheal","ethb":"etherbtc","edt":"etherdelta","dogeth":"etherdoge","eti":"etherinc","etl":"etherlite","esz":"ethersportz","etz":"etherzero","ech":"etherecash","eth":"ethereum","etbt":"ethereum black","blue":"ethereum blue","ecash":"ethereum cash","etc":"ethereum classic","ethd":"ethereum dark","etg":"ethereum gold","ethm":"ethereum meta","emv":"ethereum movie venture","ethpr":"ethereum premium","eqc":"ethereum qchain token","lnk":"ethereum.link","btce":"ethereumbitcoin","etf":"ethereumfog","elite":"ethereumlite","eths":"ethereumscrypt","dip":"etherisc","riya":"etheriya","dice":"etheroll","fuel":"etherparty","esn":"ethersocial","esc":"ethersportcoin","nec*":"ethfinex nectar token","ethix":"ethichub","horse":"ethorse","ethos":"ethos","et4":"eticket4","euc":"eurocoin","ecte":"eurocointoken","erc":"europecoin","evn*":"evencoin","event":"event token","evc":"eventchain","egc":"evergreencoin","ever":"everlife.ai","evx":"everex","iq":"everipedia","evr":"everus","eoc":"everyonescoin","evil":"evilcoin","exb":"exabyte (exb)","xuc":"exchange union","excc":"exchangecoin","exn":"exchangen","excl":"exclusive coin","exe":"execoin","xnt":"exenium","exc":"eximchain","exit":"exitcoin","exo":"exosis","exp":"expanse","expr":"expercoin","xp":"experience points","ext*":"experience token","exy":"experty","eon":"exscudo","tauri":"extauri","extn":"extensive coin","xtra":"extracredit","elt*":"extralovers","xsb":"extreme sportsbook","xt":"extremecoin","f16":"f16coin","farm":"farm coin","fx":"fcoin","fibre":"fibre","efic":"fic network","flash":"flash coin","flik":"flik","flm":"folm coin","forex":"forexcoin","fred":"fredenergy","free":"free coin","fxp":"fxpay","faba":"faba invest","ft":"fabric token","fc":"facecoin","face":"faceter","ftr":"factr","fct":"factoids","fair":"faircoin","fair*":"fairgame","fairc":"faireum token","fame":"famecoin","fan":"fan360","fanz":"fanchain","xft":"fantasy cash","ftm":"fantom","fcn":"fantomcoin","frd":"farad","f2k":"farm2kitchen","ftt":"farmatrust","fst":"fastcoin","ftum":"fatum","drop*":"faucetcoin","fazz":"fazzcoin","ftc":"feathercoin","tips":"fedoracoin","fet":"fetch.ai","fih":"fidelity house","flc":"fieldcoin","fiii":"fiii","fil":"filecoin","ffm":"files.fm library","fill":"fillit","fntb":"fintab","fnx":"financex","find":"findcoin","fnl":"finlocale","fin":"finom fin token","nom":"finom nom token","ftx":"fintrux","fire":"firecoin","flot":"firelotto","frc":"fireroostercoin","ffc":"fireflycoin","1st":"firstblood","first":"firstcoin","frst":"firstcoin","fist":"fistbump","fit":"fitcoin","frv":"fitrova","flap":"flappy coin","flx":"flash","flvr":"flavorcoin","fnp":"flipnpik","flixx":"flixxo","flo":"flo","flt":"fluttercoin","fluz":"fluzfluz","fly":"flycoin","fyp":"flypme","foam":"foam","fldc":"folding coin","fllw":"follow coin","fno":"fonero","fonz":"fonziecoin","food":"foodcoin","fopa":"fopacoin","for":"force coin","xfc":"forever coin","fml":"formula","ffct":"fortfc","fota":"fortuna","fsbt":"forty seven bank","foxt":"fox trading","frac":"fractalcoin","frn":"francs","frk":"franko","frwc":"frankywillcoin","fraz":"frazcoin","fgz":"free game zone","fre":"freecoin","frecn":"freldo","frec":"freyrchain","fsc":"friendshipcoin","fdz":"friendz","fuck":"fuck token","fc2":"fuel2coin","fjc":"fujicoin","nto":"fujinto","fls":"fuloos coin","func":"funcoin","fun":"funfair","fund":"fund platform","fundz":"fundfantasy","fnd":"fundrequest","fyn":"fundyourselfnow","aton":"further network","fsn*":"fusion","fsn":"fusion","futc":"futcoin","ftrc":"futurecoin","ftp":"futurepoints","ftw":"futureworks","fpc":"futurepia","fto":"futurocoin","fxt":"fuzex","fuzz":"fuzzballs","gaia":"gaia platform","gakh":"gakhcoin","gtx":"gallactic","gmb":"gamb","gat":"gatcoin","gbrc":"gbr coin","ggr":"ggrocket","gto":"gifto","gin":"gincoin","giz":"gizmocoin","gmc*":"gmc coin","gpu":"gpu coin","gsm":"gsm coin","gxs":"gxchain","gbo":"gabro.io","gep":"gaia","gnr":"gainer","ore":"galactrum","ges":"galaxy esolutions","glx":"galaxycoin","gali":"galilel","gln":"galion token","gam":"gambit coin","gmcn":"gamblecoin","gtc":"game","gxt":"game protocol","gbt":"gamebetcoin","gml":"gameleaguecoin","gst":"gamestars","units":"gameunits","gx":"gamex","game":"gamecredits","gdx":"gamedex","flp":"gameflip","gnj":"ganjacoin v2","gap":"gapcoin","grlc":"garlicoin","gas":"gas","fork":"gastro advisor token","gba":"geeba","gema":"gemera","gusd":"gemini dollar","gem":"gems","gms":"gemstra","gemz":"gemz social","gxc*":"genxcoin","gnx":"genaro network","genx":"genesis network","gvt":"genesis vision","xgs":"genesisx","gsy":"genesyscoin","gen":"genstake","geo":"geocoin","guns":"geofunders","geon":"geon","ger":"germancoin","spktr":"ghost coin","ghc":"ghostcoin","ghoul":"ghoul coin","gic":"giant","gift":"giftnet","gft":"giftcoin","gig":"gigcoin","gbtc":"gigtricks","wtt":"giga watt","gzb":"gigzi","ggs":"gilgam","gim":"gimli","gmr":"gimmer","ggc":"gingr","got":"giotto coin","give":"givecoin","gla":"gladius","globe":"global","gcr":"global currency reserve","gjc":"global jobcoin","gsc":"global social chain","gtc*":"global tour coin","gtib":"global trust coin","bsty":"globalboost","glc":"globalcoin","glt":"globaltoken","gve":"globalvillage ecosystem","gsi":"globex sci","gbxt":"globitex token","gsx":"glowshares","glyph":"glyphcoin","gno":"gnosis","xgox":"go!","gbx":"gobyte","go":"gochain","got*":"gotoken","goa":"goacoin","goal":"goal bonanza","goat":"goat","gbe":"godbex","gdl":"godlycoin","xr":"gofind xr","gpl":"gold pressed latinum","grx":"gold reward token","gb":"goldblocks","gld":"goldcoin","mntp":"goldmint","gp":"goldpieces","xgr":"goldreserve","gma":"goldchip mining asset","gea":"goldea","xgh":"golden hash","xgb":"goldenbird","gldr":"golder coin","gmx":"goldmaxcoin","gnt":"golem network token","golf":"golfcoin","golos":"golos","gbg":"golos gold","good":"goodcoin","good*":"goodomy","goon":"goonies","bucks*":"gorillabucks","gotx":"gothiccoin","grft":"graft blockchain","gdc":"grandcoin","gai":"graphgrail ai","77g":"graphentech","grav":"graviton","gbit":"gravitybit","wpp":"green energy token","gre":"greencoin","grmd":"greenmed","gex":"greenx","gnc":"greencoin","gtn":"greentoken","grexit":"grexitcoin","gc":"gric coin","grid":"grid+","grc":"gridcoin","grm":"gridmaster","gmc":"gridmaster","grin":"grin","grs":"groestlcoin","gro":"gron digital","grwi":"growers international","grow":"growncoin","grw":"growthcoin","gtr":"gturbo","get":"guaranteed entrance token","getx":"guaranteed ethurance token extra","guar":"guarium","gcc":"guccionecoin","gue":"guerillacoin","nlg":"gulden","gun":"guncoin","gup":"guppy","gxc":"gx coin","hidu":"h-education world","hart":"hara","hbz":"hbz coin","hix":"helix orange","hell":"hell coin","hro":"heroic.com","play":"herocoin","hold":"hold","hldy":"holiday","hqx":"hoqu","hodl":"hodlcoin","html":"html coin","html5":"html5 coin","hus":"hussy","hyc":"hycon","hygh":"hygh","hkn":"hacken","hkg":"hacker gold","hac":"hackspace capital","hpay":"hadepay","hlc":"halal-chain","hal":"halcyon","hallo":"halloween coin","halo":"halo platform","hmt":"hamster marketplace token","hams":"hamstercoin","hana":"hanacoin","hpc":"happycoin","hcc":"happycreatorcoin","hrbe":"harambee token","hrb":"harbour dao","hmn":"harvest masternode coin","hsc":"hashcoin","hgs":"hashgains","hash":"hashbon","gard":"hashgard","xhv":"haven protocol","hat":"hawala.exchange","hzt":"hazmatcoin","haze":"hazecoin","hdac":"hdac","hhem":"healthureum","worm":"healthyworm","hb":"heartbout","heat":"heat ledger","hvc":"heavycoin","hdg":"hedge token","hedg":"hedgetrade","hedge":"hedgecoin","heel":"heelcoin","hys":"heiss shares","hlm":"helium","hlx":"helix3","hnc":"hellenic coin","hgt":"hello gold","hmp":"hempcoin","herb":"herbcoin","hero":"hero","her":"hero node","heta":"hetachain","hex":"hexcoin","hxc":"hexancoin","hxt":"hextracoin","hxx":"hexxcoin","hmc":"hi mutual society","xhi":"hicoin","hih":"hihealth","hpb":"high performance blockchain","hvco":"high voltage coin","aims":"highcastle token","hv":"highvibe.network","hgo":"hirego","hire":"hirematch","hft":"hirefreehands","hit":"hitchain","htc":"hitcoin","hive":"hive","hvn":"hiveterminal token","hbn":"hobonickels","hwc":"hollywoodcoin","hot*":"holo","hbc":"homeblockcoin","hmd":"homelend","honey":"honey","hz":"horizon","hsp":"horse power","horus":"horuspay","hyt":"horyoutoken","hsr":"hshare","hbt":"hubii network","hmq":"humaniq","hnc*":"huncoin","huc":"huntercoin","ht":"huobi token","hur":"hurify","hush":"hush","hot":"hydro protocol","hydro":"hydrogen","h2o":"hydrominer","h3o":"hydrominer","hc":"hypercash","hyper":"hypercoin","hld":"hyperlending","hqt":"hyperquant","hbx":"hyperbridge","tree":"hyperionx","hpsp":"hyperspace","hyp":"hyperstake","iht":"i-house token","i0c":"i0coin","iag":"iagon","iam":"iame identity","icash":"icash","icoo":"ico openledger","icos":"icobox","icx":"icon project","icst":"icst","idac":"idac","idap":"idap","idxm":"idex membership","idm":"idm","ig":"ig token","igtt":"igt","ilc":"ilcoin","ilct":"ilcoin token","iml":"immla","itr":"intro","ioc":"iocoin","iost":"ios token","iot":"iota","iotw":"iotw","ioux":"iou","iou":"iou1","iov":"iov","ipsx":"ip exchange","ipc*":"ipchain","iqn":"iqeon","irc":"ironcoin","ivn":"ivn security","ixc":"ixcoin","izx":"izx","rock2":"ice rock mining","icb":"icebergcoin","ichx":"icechain","icob":"icobid","icon":"iconic","icn":"iconomi","idc":"idealcoin","ignis":"ignis","ic":"ignition","rex":"imbrex","imgz":"imigize","imvr":"immvrse","imx":"impact","impch":"impeach","ipc":"imperialcoin","xim":"impresso","imps":"impulse coin","in":"incoin","inx":"inmax","nka":"incakoin","incnt":"incent","incp":"inceptioncoin","inc":"incrementum","idh":"indahash","ims":"independent money system","erc20":"index erc20","indi":"indicoin","ind":"indorse","ifx":"infinex","ifc":"infinite coin","xin":"infinity economics","inf8":"infinium-8","iflt":"inflationcoin","ifum":"infleum","inflr":"inflr","into":"influ token","infx":"influxcoin","ink":"ink","xnk":"ink protocol","ilk":"inlock","sound":"inmusik","inn":"innova","minx":"innovaminex","insn":"insane coin","insane":"insanecoin","wolf":"insanity coin","instar":"insights network","ins":"insolar","icc":"insta cash coin","mine":"instamine nuggets","spon":"instant sponsor token","insur":"insurchain coin","ipl":"insurepal","isr":"insureum","iqb":"intelligence quotient benefit","itt":"intelligent trading","xid*":"international diamond coin","int":"internet node token","iop":"internet of people","inxt":"internxt","ish":"interstellar holdings","itz":"interzone","ict":"intrachain","inv*":"invacio","idt":"investdigital","ift":"investfeed","invx":"investx","ivc":"investy coin","inv":"invictus","ihf":"invictus hyperion fund","ivz":"invisiblecoin","invox":"invox finance","iza":"inzura","itc":"iot chain","iotx":"iotex network","ion":"ionomy","tlu":"irene energy","irl":"irishcoin","isl":"islacoin","itl":"italian lira","ita":"italocoin","ing":"iungo","iec":"ivugeoevolutioncoin","ivy":"ivykoin","iwt":"iwtoken","j8t":"jet8","jex":"jex token","jio":"jio token","joys":"joys","joy*":"joyso","jse":"jsecoin","jane":"janecoin","jns":"janus","jvy":"javvy","jc":"jesuscoin","jet":"jetcoin","jwl":"jewels","jib":"jibbit","jnt":"jibrel network token","jif":"jiffycoin","jcr":"jincor","jinn":"jinn","jobs":"jobscoin","j":"joincoin","joint":"joint ventures","jok":"jokercoin","xjo":"joulecoin","joyt":"joytoken","joy":"joycoin","judge":"judgecoin","jbs":"jumbucks coin","jump":"jumpcoin","jkc":"junkcoin","jmc":"junson ming chan coin","jdc":"justdatingsite","ksys":"k-systems","kaas":"kaasy.ai","kat":"katzcoin","kec":"keyco","kibis":"kibis","tos":"kratos","krc":"krcoin","kreds":"kreds","kubo":"kubo","kwh":"kwhcoin","kzc":"kzcash","klks":"kalkulus","kapu":"kapu","kbc":"karatgold coin","krb":"karbo","krm":"karma","karma":"karma","k2g":"kasko2go","kayi":"kayı","kcash":"kcash","kek":"kekcoin","ken":"kencoin","kep":"kepler","kc":"kernalcoin","ketan":"ketan","kex":"kexcoin","key*":"keycoin","kmx":"kimex","kick":"kickcoin","klc":"kilocoin","kin":"kin","kind":"kind ads","kvt":"kinesis velocity token","king":"king93","knc**":"kingn coin","meow":"kittehcoin","klk":"klickzie","ked":"klingon empire darsek","kdc":"klondike coin","knw":"knowledge","kobo":"kobocoin","kolion":"kolion","kmd":"komodo","kore":"kore","koto":"koto","kusd":"kowala","krak":"kraken","krone":"kronecoin","kss":"krosscoin","kgc":"krugercoin","krl":"kryll","ktk":"kryptcoin","krp":"kryptoin","kr":"krypton","kbx":"kubitx","kbr":"kubera coin","kubos":"kuboscoin","kcs":"kucoin","kue":"kuende","kurt":"kurrent","kush":"kushcoin","kuv":"kuverit","kvt*":"kvantor","knc":"kyber network","lax":"lapo","la":"latoken","lbc":"lbry credits","lao":"lc token","leo":"leocoin","lgbtq":"lgbtqoin","lhc":"lhcoin","life":"life","ln":"link","lnkc":"linkchain","veen":"liveen","lipc":"lipcoin","ltbc":"ltbcoin","lto":"lto network","luma":"luma token","lux":"luxcoin","lvx":"lvx","lyn":"lynchpin token","lala":"lala world","lbr":"laborcrypto","lab":"labrys","bac*":"lakebanker","tau":"lamden tau","pix":"lampix","lana":"lanacoin","axis":"laneaxis","lth":"lathaan","lat":"latium","latx":"latiumx","laz":"lazarus","lepen":"lepencoin","lea":"leacoin","ldc":"leadcoin","leaf":"leafcoin","lgd":"legends cryptocurrency","lgo":"legolas exchange","lele":"lelecoin","lemon":"lemoncoin","lct":"lendconnect","lnd":"lendingblock","loan":"lendoit","lst":"lendroid support token","lenin":"lenincoin","lir":"let it ride","lthn":"lethean","lvl*":"levelnet token","lvg":"leverage coin","lev":"leverj","xlc":"leviarcoin","lib":"libellum","xlb":"libertycoin","lba":"libra credit","lxc":"librexcoin","liger":"ligercoin","lsd":"lightspeedcoin","lpc*":"lightpaycoin","like":"likecoin","lk":"liker","limx":"limecoinx","ltd":"limited coin","linda":"linda","let":"linkeye","lnc*":"linker coin","linx":"linx","lips":"lipchain","len":"liqnet","lqd":"liquid","lq8":"liquid8","lqdn":"liquidity network","lsk":"lisk","ltcc":"listerclassic coin","lbtc":"litebitcoin","ltg":"litecoin gold","ltcu":"litecoin ultra","lcwp":"litecoinw plus","ltcr":"litecreed","ldoge":"litedoge","ltb":"litebar","ltc":"litecoin","ltch":"litecoin cash","lcp":"litecoin plus","lcash":"litecoincash","lcc":"litecoincash","ltcd":"litecoindark","ltcp":"litecoinpro","ltcx":"litecoinx","ltz":"litecoinz","lnt":"litenett","lts":"litestar coin","lit":"lithium","lition":"lition","lta":"litra","lpc":"little phil","live":"live stars","lvn":"livenpay","lpt":"livepeer","liv":"liviacoin","liz":"lizus payment","lte":"local token exchange","lwf":"local world forwarders","lcs":"localcoinswap","loci":"locicoin","loc*":"locktrip","loc":"loco","lgr":"logarithm","loki":"loki","llg":"loligo","lmc":"lomocoin","look":"lookcoin","loom":"loom network","lrc":"loopring","lot":"lottocoin","lyk":"loyakk vega","lyl":"loyalcoin","bash":"luckchain","lck":"luckbox","lk7":"lucky7coin","lucky":"luckyblocks","lky":"luckycoin","lcr":"lucre","ldm":"ludum token","lnl":"lunarlink","lun":"lunyr","lc":"lutetium coin","lux**":"luxmi coin","lyc":"lycancoin","ldn":"lydiancoin","lyfe":"lyfe","lkk":"lykke","lym":"lympo","lynk":"lynked.world","lynx":"lynx","lyb":"lyrabar","m2o":"m2o token","mdn":"madana","make":"make","mrk":"mark.space","mcap":"mcap","mcv":"mcv token","mtel":"medoctor","meetone":"meet.one","mfx":"mfchain","mimi":"mimi money","miodio":"miodiocoin","mis":"miscoin","milc":"micro licensing coin","mmnxt":"mmnxt","mmo":"mmocoin","mmxvi":"mmxvi","moac":"moac","mobu":"mobu","modex":"modex token","mos":"mos coin","xdmc":"mpcx","msd":"msd","mtcmn":"mtc mesh","mun":"muncoin","musd":"musdcoin","must":"must protocol","mvl":"mvl","yce":"myce","mac":"machinecoin","mcrn":"macroncoin","mrv":"macroverse","mdc*":"madcoin","art":"maecenas","map":"maester protocol","mag**":"maggie token","mgn":"magnacoin","mag":"magnet","mag*":"magos","maid":"maidsafe coin","mmxiv":"maieuticoin","mnc":"maincoin","mft":"mainframe","msc*":"maiscoin","miv":"makeitviral","mkr":"maker","mat*":"manet coin","manna":"manna","mapc":"mapcoin","mar":"marijuanacoin","masp":"market.space","mrs":"marscoin","mars":"marscoin","mxt":"martexcoin","marv":"marvelous","marx":"marxcoin","maryj":"maryjane coin","msr":"masari","mc":"mass coin","mass":"mass.cloud","mgd":"massgrid","mcar":"mastercar","msc":"mastercoin","mm":"mastermint","mtr":"mastertradercoin","man*":"matrix ai network","mtx":"matryx","mpg":"max property group","max":"maxcoin","myc":"mayacoin","mzc":"mazacoin","mbit":"mbitbooks","mlite":"melite","mdt*":"measurable data token","med*":"medibloc","medi":"medibond","mcu":"medichain","mds":"medishares","mnt*":"media network coin","mpt":"media protocol token","medx":"mediblock","mdc":"mediccoin","medic":"mediccoin","mtn*":"medicalchain","mhp":"medicohealth","med":"mediterraneancoin","mpro":"mediumproject","mec":"megacoin","mega":"megaflash","xms":"megastake","mel":"melior ai","mln":"melon","mbn":"membrana","met":"memessenger","emt*":"memority","mmc":"memorycoin","mpay":"menapay","one":"menlo one","menu":"menubuzz","mrn":"mercoin","mvp":"merculet","mer":"mercury","gmt":"mercury protocol","mhc":"metahash","metm":"metamorph","meta":"metadium","mtl":"metal","mtlm3":"metal music v3","metal":"metalcoin","etp":"metaverse","met*":"metronome","mit":"miminer","mbtc":"microbitcoin","amm":"micromoney","mdt":"midnight","mon":"milioncoin","muu":"milkcoin","mil":"milllionaire coin","milo":"milocoin","minc":"mincoin","mg":"mind gene","mnd":"mindcoin","mic":"mindexcoin","mai":"mindsync","mint*":"mineable token","mio":"miner one token","min":"minerals coin","mne":"minereum","mrt":"minersreward","mnm":"mineum","minex":"minex","mnx":"minexcoin","mat":"miniapps","mnts":"mint","mint":"mintcoin","bip":"minter","mith":"mithril","xin*":"mixin","mib":"mobile integrated blockchain","chf*":"mobilebridge momentum","mgo":"mobilego","molk":"mobilink token","mobi":"mobius","mtrc":"modultrade","mdl*":"modulum","mod":"modum","mda":"moeda","moin":"moincoin","mojo":"mojocoin","mof":"molecular future","mol":"molecule","tab":"mollycoin","mmtm":"momentum","mona":"monacoin","mnz":"monaize","xmr":"monero","zmr":"monero 0","xmc":"monero classic","xmrg":"monero gold","xmo":"monero original","xmv":"monerov","moneta":"moneta","mnv":"monetaverde","mue":"monetaryunit","mth":"monetha","mtz":"monetizr","mnb":"moneybag","money":"moneycoin","mrp*":"moneyrebel","imt":"moneytoken","mny":"monkey","monk":"monkey project","xmcc":"monoeci","mnr":"monoreto","mbi":"monster byte inc","mblc":"mont blanc","moon":"mooncoin","lx":"moonlight","mzg":"moozicore","mitx":"morpheus infrastructure token","mrph":"morpheus network","mrp":"morpheuscoin","mzx":"mosaic network","moat":"mother of all tokens","msp":"mothership","xmn":"motion","mtn**":"motion","moto":"motocoin","mov":"moviecoin","mtk":"moya token","mrsa":"mrsacoin","mudra":"mudracoin","mtt":"multra","mlt":"multigames","mwc":"multiwallet coin","mbt":"multibot","mtcn":"multiven","mry":"murraycoin","muse":"muse","mitc":"musiclife","music":"musicoin","mci":"musiconomi","mst":"mustangcoin","mut":"mutual coin","mbc":"my big coin","myb":"mybit","mcb":"mycryptobank","mydfs":"mydfs","mazc":"mymazzu","mt*":"mytoken","wish":"mywish","mt":"mycelium token","myo":"mycro","mpxt":"myplacex","xmy":"myriadcoin","myst":"mysterium","nanj":"nanjcoin","xem":"nem","neo":"neo","neog":"neo gold","nexo":"nexo","nox":"nitro","nix":"nix","nkn":"nkn","noah":"noahcoin","nbar":"nobar","noia":"noia network","noiz":"noiz","chfn":"noku chf","eurn":"noku eur","noku":"noku master token","nsp":"nomad.space","now":"now token","npc":"npccoin","nper":"nper","nvst":"nvo","nwp":"nwpsolution","nxe":"nxecoin","nxti":"nxti","nxtty":"nxtty","nyn":"nynja","nyx":"nyxcoin","nfn":"nafen","ngc":"nagacoin","nze":"nagezeni","nkt":"nakomotodark","nam":"namacoin","nmh":"namahe","nmc":"namecoin","nmk":"namek","namo":"namocoin","nano":"nano","nhct":"nano healthcare token","nan":"nanotoken","npx":"napoleon x","nrve":"narrative","nas2":"nas2coin","naut":"nautilus coin","nav":"navcoin","navi":"naviaddress","navib":"navibration","nebl":"neblio","nebu":"nebuchadnezzar","nbai":"nebula ai","nas":"nebulas","ndc*":"needlecoin","nef":"nefariouscoin","nrx":"neironix","nec":"neocoin","nex":"neonexchange","neos":"neoscoin","ntcc":"neptuneclassic","nbit":"netbit","net":"netcoin","ntm":"netm","netko":"netko","out":"netscouters","ntwk":"network token","netc":"networkcoin","neu*":"neucoin","neu":"neumark","nrp":"neural protocol","nro":"neuro","nrc":"neurocoin","nrm":"neuromachine","ntk":"neurotoken","ntrn":"neutron","neva":"nevacoin","ndc":"neverdie","nic":"newinvestcoin","nyc":"newyorkcoin","nzc":"newzealandcoin","newb":"newbium","new":"newton","ncp":"newton coin","nxc":"nexium","next":"next.exchange token","pakka":"nextpakk","nxs":"nexus","nexxo":"nexxo","ngin":"ngin","nice":"nicecoin","nihl":"nihilo coin","nmb":"nimbus coin","nimfa":"nimfamoney","nim":"nimiq","ntc":"nineeleventruthcoin","ndoge":"ninjadoge","nbr":"niobio cash","nbc":"niobium","$nobs":"no bs crypto","nlc":"nolimitcoin","nlc2":"nolimitcoin","nobl":"noblecoin","node":"node","nodis":"nodis","nvdx":"nodvix","nrb":"noirbits","nrs":"noirshares","nusd":"nomin usd","nzo":"nonzero","noo":"noocoin","nvc":"novacoin","mnvm":"novam","nwcn":"nowcoin","nbx":"noxbox","nbt":"nubits","nsr":"nushares","nubis":"nubiscoin","ncash":"nucleus vision","nuke":"nukecoin","nkc":"nukecoinz","nlx":"nullex","nuls":"nuls","n7":"number7","num":"numberscoin","nmr":"numeraire","xnc*":"numismatic collections","nms":"numus","nxt":"nxt","nyan":"nyancoin","nbl":"nybble","oath":"oath protocol","ode":"odem","odmc":"odmcoin","ok":"okcash","okoin":"okoin","onam":"onam","opc":"op coin","opp*":"opp open wifi","oret":"oret token","orm":"orium","ors":"ors group","oasc":"oasis city","obits":"obits coin","obs":"obscurebay","odn":"obsidian","ocl":"oceanlab","otx":"octanox","octo*":"octobit coin","octo":"octocoin","owc":"oduwa","ocn":"odyssey","ofcr":"officercoin","ojx":"ojooo","okb":"okex","olm":"olam","odnt":"old dogs new tricks","oldsf":"oldsafecoin","olv":"oldv","ole":"olive","olymp":"olympcoin","mot":"olympus labs","oma":"omegacoin","omgc":"omisego classic","omg":"omisego","omni":"omni","omc":"omnicron","ecom":"omnitude","onl":"on.live","ogt":"one game","osf":"one solution","olt":"oneledger","rnt":"oneroot network","onx":"onix","oio":"online","ont":"ontology","ongas":"ontology gas","opq":"opacity","xpo":"opair","opal":"opalcoin","open":"open platform","otn":"open trading network","oax":"openanx","brix":"openbrix","chat":"openchat","osc":"opensourcecoin","znt":"openzen","opes":"opes","opp":"opporty","opex":"optherium token","osa":"optimal shelf availability token","option":"optioncoin","opu":"opu coin","opt":"opus","oct":"oraclechain","oc":"orangecoin","orbs":"orbis","orb":"orbitcoin","rdc":"ordocoin","orgt":"organic token","orc":"organicco","ori":"origami","ors*":"originsport","trac":"origintrail","occ":"original crypto coin","orly":"orlycoin","orme":"ormeus coin","oro":"orocoin","oroc":"orocrypt","orv":"orvium","oicoin":"osmium investment coin","os76":"osmiumcoin","owd":"owlstand","zxc":"oxcert","oxy":"oxycoin","prl":"oyster pearl","oys":"oyster platform","shl":"oyster shell","p2ps":"p2p solutions foundation","gene":"parkgene","pat":"patron","paxex":"paxex","pqt":"paquarium","pai":"pchain","pgf7t":"pgf500","phi":"phi token","pitch":"pitch","plnc":"plncoin","pch":"popchain","ppovr":"povr","toss":"proof of toss","proud":"proud money","proof":"prover","psi":"psicoin","pvp":"pvpchain","pwr":"pwr coin","px":"pxcoin","pcs":"pabyosi coin","pbc":"pabyosicoin","pac":"paccoin","pak":"pakcoin","plmt":"pallium","pnd":"pandacoin","pinkx":"panthercoin","pan":"pantos","prt":"papusha","prp":"papyrus","prg":"paragon","duo":"parallelcoin","para":"paranoiacoin","pareto":"pareto network token","pkb":"parkbyte","par":"parlay","part":"particl","pasc":"pascal coin","pasl":"pascal lite","pas":"passive coin","pto":"patentico","ptoy":"patientory","pavo":"pavocoin","pax":"paxos standard","pblk":"payblock","pyc":"paycoin","xpy":"paycoin","pfr":"payfair","payp":"paypeer","ppp":"paypie","pyp":"paypro","pyn":"paycentos","con_":"paycon","pgc*":"paygine","pmnt":"paymon","pyt":"payther","pec":"peacecoin","prlpay":"pearlpay","xpb":"pebble coin","pbl":"pebbles","pcl":"peculium","pco":"pecunio","pcn":"peepcoin","pmtn":"peer mountain","ppc":"peercoin","guess":"peerguess","ppy":"peerplays","pgc":"pegascoin","pen*":"pencoin","pnt":"penta","pta":"pentacoin","pny":"peony coin","man":"people","meme":"pepe","pepecash":"pepe cash","xpr":"permian","pie":"persistent information exchange","peru":"perucoin","ptc":"pesetacoin","psb":"pesobit","petl":"petlife","ptr":"petro","pxl":"phalanx","soul*":"phantasma","pnx":"phantomx","xph":"pharmacoin","phs":"philosophersstone","pxc":"phoenixcoin","phm":"phomeum","phr*":"phore","phtc":"photochain","pho":"photon","pht":"photon token","phr":"phreak","pgn":"pigeoncoin","piggy":"piggy coin","pkc":"pikciochain","plr":"pillar","ptt":"pink taxi token","pink":"pinkcoin","pinmo":"pinmo","pcoin":"pioneer coin","pio":"pioneershares","skull":"pirate blocks","pirate":"piratecash","pirl":"pirl","pizza":"pizzacoin","plai":"plair","plan":"plancoin","planet":"planetcoin","plnx":"planumex","ptnx":"platin","plc*":"platincoin","pnc":"platiniumcoin","xptx":"platinumbar","luc":"play 2 live","pla":"playchip","pxg":"playgame","pkt":"playkey","dn8":"pldgr","plg":"pledgecamp","plx":"plexcoin","plura":"pluracoin","plc":"pluscoin","plus1":"plusonecoin","gppt":"pluto project coin","ptc**":"plutocoin","plu":"pluton","pltx":"plutusx","poe":"po.et","pos":"postoken","poa":"poa network","xps":"poisonivycoin","xpoke":"pokechain","poker":"pokercoin","xpst":"pokersports","pal":"policypal network","polis":"polispay","poly":"polybit","nct":"polyswarm","plbt":"polybius","poly*":"polymath network","pon":"ponder","psk":"pool of stake","xsp":"poolstamp","pps":"populstay","pop":"popularcoin","ppt":"populous","pex":"posex","psd":"poseidon","pccm":"poseidon chain","ocean":"poseidon foundation","posq":"poseidon quark","post":"postcoin","pot":"potcoin","powr":"power ledger","psm":"prasm","pre":"premium","entt":"presale ventures","pre*":"presearch","hill":"president clinton","pres":"president trump","pbt":"primalbase","pst":"primas","psf":"prime shipping foundation","pxi":"prime-x1","prime":"primechain","xpm":"primecoin","prx":"printerium","prm":"prismchain","pivx":"private instant verified transaction","prix":"privatix","pzm":"prizm","pra":"prochain","xpro":"procoin","proc":"procurrency","pcm":"procom","prod*":"productivist","phc":"profit hunters coin","pdc":"project decorum","jtx":"project j","pai*":"project pai","omx":"project shivom","prft":"proof suite token","props":"props","ptc*":"propthereum","pro":"propy","vrp":"prosense.tv","pgl":"prospectors","prc":"prospercoin","proton":"proton","xes":"proxeus","xpx":"proximax","pseud":"pseudocash","psy":"psilocybin","pulse":"pulse","pma":"pumapay","npxs":"pundi x","pupa":"pupacoin","pura":"pura","pure":"pure","vidz":"purevidz","pgt":"puregold token","purk":"purk","prpl":"purple token","prps":"purpose","hlp":"purpose coin","pushi":"pushi","put":"putincoin","pylnt":"pylon network","qlc":"qlc chain","qtum":"qtum","qusd":"qusd","qbt*":"qbao","qobi":"qobit","qora":"qoracoin","xqr":"qredit","qbk":"qubuck coin","equad":"quadrant protocol","qnt":"quant","qntu":"quanta","quant":"quantler","qntr":"quantor","qsp":"quantstamp","qau":"quantum","qrl":"quantum resistant ledger","q1s":"quantum1net","qkc":"quarkchain","qrk":"quarkcoin","qtz":"quartz","qua":"quasa","qtl":"quatloo","qcn":"quazar coin","q2c":"qubitcoin","qbc":"quebecoin","qcx":"quickx protocol","qslv":"quicksilver coin","quiz":"quizando","qun":"qunqun","qash":"quoine liquid","xqn":"quotient","qvt":"qvolta","qwark":"qwark","qwc":"qwertycoin","rfl":"rafl","raizer":"raizer","krx":"ravn korrax","rawg":"rawg","rac":"racoin","rhoc":"rchain","rcn*":"rcoin","real":"real","rebl":"rebl","mwat":"red megawatt","rst":"rega risk sharing token","reme":"reme-coin","rem":"remme","renc":"renc","rgc":"rg coin","rif":"rif token","roi":"roicoin","ros":"ros coin","rft":"ryfts","radi":"radicalcoin","rads":"radium","rdn":"radonpay","rdn*":"raiden network","rf":"raido financial","rainc":"raincheck","rap":"rapture","roc":"rasputin online coin","rte":"rate3","xra":"ratecoin","ratio":"ratio","rave":"ravelous","rvn":"ravencoin","rays":"rays network","rzr":"razorcoin","rwe":"real-world evidence","rct":"realchain","rea":"realisto","rcc":"reality clash","xrk":"recordskeeper","rrt":"recovery right tokens","rrc":"recycling regeneration chain","phx":"red pulse phoenix","redc":"redcab","rcx":"redcrowcoin","red":"redcoin","rdd":"reddcoin","redn":"reden","ree":"reecoin","ref":"reftoken","rfr":"refereum","rec":"regalcoin","rds":"reger diamond","rlx":"relex","rel":"reliance","remco":"remco","rpm":"render payment","rndr":"render token","rns":"renoscoin","berry":"rentberry","repo":"repo coin","rpb":"republia","ren":"republic token","repux":"repux","req":"request network","rms":"resumeo shares","rgt":"retail.global","rbit":"returnbit","rnc":"returncoin","r":"revain","rev":"revenu","rvr":"revolution vr","xre":"revolvercoin","rwd":"reward vision","rmob":"rewardmob","rhea":"rhea","xrl":"rialto.ai","rbr":"ribbit rewards","rice":"ricecoin","ride":"ride my car","ric":"riecoin","rmesh":"rightmesh","rbt":"rimbit","ring":"ringcoin","ripo":"ripoffcoin","ripax":"ripaex","rcn":"ripio","ript":"riptidecoin","rbx":"riptobux","rise":"rise","rvt":"rivetz","rac**":"robet","robet":"robet","rbdt":"robust defense token","put*":"robin8 profile utility token","rac*":"roboadvisorcoin","rox":"robotina","rkt":"rock token","rok":"rockchain","rock*":"rocketcoin","rpc":"ronpaulcoin","rsc":"ronaldinho soccer coin","root":"rootcoin","roots":"rootproject","rt2":"rotocoin","round":"roundcoin","roe":"rover coin","rkc":"royal kingdom coin","ryc":"royalcoin","royal":"royalcoin","rycn":"royalcoin 2.0","rbies":"rubies","ruby":"rubius","rubit":"rublebit","rby":"rubycoin","ruff":"ruff","rupx":"rupaya","rup":"rupee","rc":"russiacoin","rmc":"russian mining coin","rust":"rustcoin","rustbits":"rustbits","ryo":"ryo","s8c":"s88 coin","sabr":"sabr coin","sga":"saga","sar*":"sarcoin","sly":"selfllery","sgat":"sgat","sgp":"sgpay","xsh":"shield","sidt":"sid token","skyft":"skyfchain","smnx":"smnx","ssx":"somesing","snm":"sonm","sxdt":"spectre dividend token","sxut":"spectre utility token","spice":"spice venture capital","srcoin":"srcoin","ssv":"ssvcoin","stac":"stac","stacs":"stacs token","strs":"stars","eurs":"stasis eurs","stex":"stex","stk":"stk token","sts":"stresscoin","stry":"strykz","suqa":"suqa","satt":"satt","haven":"safe haven","xstc":"safe trade coin","safe":"safecoin","safex":"safeexchangecoin","sfr":"saffroncoin","saf":"safinus","saga":"sagacoin","sfu":"saifu","skb*":"sakura bloom","skr":"sakuracoin","sal":"salpay","salt":"salt lending","sls":"salus","smsr":"samsara coin","snd":"sandcoin","san":"santiment","spn*":"sapien network","xai":"sapiencecoin","xrf":"sarf","xrn":"saronite","sat":"satisfaction token","stv":"sativa coin","mad*":"satoshimadness","sat2":"saturn2coin","sto":"save the ocean","sandg":"save and gain","swc":"scanetchain token","st":"scienceroot","sncoin":"scientificcoin","scooby":"scooby coin","score":"scorecoin","scor":"scorista","scr*":"scorum","scot":"scotcoin","scribe":"scribe network","scrl":"scroll","ddd":"scry.info","scrpt":"scryptcoin","sct":"scrypttoken","srt":"scrypto","seal":"seal network","seci":"seci","scrt":"secretcoin","src":"securecoin","sec":"securecryptopayments","srxio":"securix","set":"securosys","seeds":"seedshares","seele":"seele","b2x":"segwit2x","sel":"selencoin","stor":"self storage coin","key":"selfkey","ssc":"selfsell","sgo":"selfie go","sem":"semux","sdrn":"senderon","sns":"sense","sense":"sense token","sen":"sentaro","emot":"sentigraph.io","sent":"sentinel","senc":"sentinel chain","upp":"sentinel protocol","sntvt":"sentivate","seq":"sequence","sera":"seraph","srnt":"serenity","srv":"servadvisor","seth":"sether","sp":"sex pistols","sxc":"sexcoin","sha":"shacoin","shade":"shadecoin","sdc":"shadowcash","shard":"shardcoin","ss":"sharder","sss":"sharechain","eswitch":"sharemeall","shr":"sharering","sak":"sharkcoin","shkg":"sharkgate","shp*":"sharpe capital","jew":"shekel","shld":"shieldcoin","shift":"shift","sh":"shilling","she":"shine chain","ship":"shipchain","shpt":"shipit","shorty":"shortycoin","show":"showcoin","hand":"showhand","shping":"shping coin","shrek":"shrekcoin","sch":"sia cash coin","sc":"siacoin","sib":"sibcoin","sgl":"sigil","sig":"signal","sgn":"signals network","sigt":"signatum","sntr":"silent notary","silkt":"silkchain","silk":"silkcoin","ost":"simple token","splb":"simplebank","sigu":"singular","sngls":"singulardtv","agi":"singularitynet","srn":"sirinlabs","skc":"skeincoin","ski":"skillchain","skin":"skincoin","skrp":"skraps","skr*":"skrilla token","skm":"skrumble network","skb":"skullbuzz","skym":"skymap","sky":"skycoin","slx":"slate","slm":"slimcoin","sling":"sling coin","rbtc":"smart bitcoin","sift":"smart investment fund token","pod":"smart league","tash":"smart trip platform","valor":"smart valor","smart*":"smartbillions","smart":"smartcash","smc":"smartcoin","slst":"smartlands","smt*":"smartmesh","smly":"smileycoin","smilo":"smilo","smoke":"smoke","smf":"smurfcoin","snpc":"snapcoin","snip":"snipcoin","snov":"snovio","xsg":"snowgem","ong":"somee.social","soar":"soarcoin","slt":"social lending network","smac":"social media coin","smt":"social media market","send":"social send","socc":"socialcoin","sg":"socialgood","sreur":"socialremit","xbot":"socialxbotcoin","scl":"sociall","soil":"soilcoin","soj":"sojourn coin","sol":"sola","sdao":"solar dao","slr":"solarcoin","cell":"solarfarm","srx":"solarex","sfc":"solarflarecoin","xlr":"solaris","sole":"solecoin","solid":"solidified","sct*":"soma","song":"song coin","ssd":"sonic screw driver coin","soon":"sooncoin","sphtx":"sophiatx","snk":"sosnovkino","soul":"soulcoin","spx":"sp8de","scash":"spacecash","spc*":"spacechain","space":"spacecoin","spa":"spaincoin","spank":"spankchain","spk":"sparkspay","spec":"speccoin","spx*":"specie","xspec":"spectre","spend":"spend","sphr":"sphere coin","xid":"sphre air","spike":"spiking","spc":"spincoin","spd*":"spindle","spkz":"spokkz","sport":"sportscoin","sft":"sportsfix","spf":"sportyco","spot":"spotcoin","spt":"spots","spots":"spots","spr":"spreadcoin","sprtz":"spritzcoin","sprts":"sprouts","sqp":"sqpay","sql":"squall coin","sqr":"squeezer","xsi":"stability shares","sbc":"stablecoin","usds":"stableusd","dsla":"stacktical","stcn":"stakecoin","xsn":"stakenet","sta*":"stakers","sthr":"stakerush","labx":"stakinglab","stalin":"stalincoin","stc":"starchain","str*":"starcoin","star*":"starcoin","src*":"starcredits","kst":"starkst","stt":"staramba","star":"starbase","start":"startcoin","sta":"starta","stp":"stashpay","sqoin":"stasyq","snt":"status network token","stax":"staxcoin","xst":"stealthcoin","pnk":"steampunk","steem":"steem","sbd*":"steem backed dollars","xlm":"stellar","xtl":"stellite","scia":"stem cell","steps":"steps","slg":"sterlingcoin","spd":"stipend","stips":"stips","stockbet":"stockbet","scc":"stockchain coin","stq":"storiqa token","storj":"storj","sjcx":"storjcoin","storm":"storm","stx":"stox","stak":"straks","sisa":"strategic investments in significant areas","strat":"stratis","ssh":"streamspace","stm":"streamity","data":"streamr datacoin","shnd":"stronghands","sut":"suapp","sub*":"subscriptio","sub":"substratum network","sucr":"sucre","sgc":"sudan gold coin","sgr":"sugar exchange","sumo":"sumokoin","snc":"suncontract","sstc":"sunshotcoin","sup":"supcoin","sbtc":"super bitcoin","super":"supercoin","unity":"supernet","seed":"superbloom","m1":"supplyshock","spm":"supreme","rmt":"sureremit","sur":"suretly","swa":"swace","swach":"swachhcoin","bucks":"swagbucks","swt":"swarm city token","swm":"swarm fund","swarm":"swarmcoin","sweet":"sweetstake","swftc":"swftcoin","swing":"swingcoin","scn":"swiscoin","chsb":"swissborg","src**":"swissrealcoin","sic":"swisscoin","swth":"switcheo","sdp":"sydpakcoin","sylo":"sylo","sync":"synccoin","mfg":"syncfab","syc":"synchrocoin","synco":"synco","synx":"syndicate","amp":"synereo","snrg":"synergy","snx":"synthetix","sys":"syscoin","tbt":"t-bot","tcx":"t-coin","tzo":"tanzō","bar":"tbis token","tdfb":"tdfb","tfd":"te-food","tky":"thekey token","ttn":"tita project","txm":"tmoney","toa":"toa coin","tpc":"tpcash","trx":"tron","xtroptions":"troptions","ttv":"tv-two","twistr":"twist","ttu":"tatatu","tchn":"tachain","tag":"tagcoin","taj":"tajcoin","tak":"takcoin","tkln":"taklimakan","talao":"talao","tlnt":"talent token","tcoin":"talenthon","tal":"talentico","tam":"tamagucci","xto":"tao","ttt":"tap project","tap":"tappingcoin","tgt":"targetcoin","tat":"tatiana coin","tse":"tattoocoin","tec":"tecoin","tchb":"teachers blockchain","team":"teamup","tech":"techcoin","ths":"techshares","tek":"tekcoin","tel":"telcoin","gram":"telegram open network","tell":"tellurion","pay":"tenx","tennet":"tennet","tenz":"tenzorum","led":"terawatt","tern":"ternio","trn":"ternion","tva":"terra virtua","trc":"terracoin","teco":"terraecocoin","tgn":"terragreen","ter":"terranovacoin","tesla":"teslacoilcoin","tes":"teslacoin","usdt":"tether","tra":"tetra","xtz":"tezos","thnx":"thankyou","0xdiary":"the 0xdiary token","abyss":"the abyss","efx":"the effect network","tfc":"the freedom coin","govt":"the government network","thc":"the hempcoin","sunex":"the sun exchange","xve":"the vegan initiative","chief":"thechiefcoin","gcc*":"thegcccoin","vig":"thevig","tcr":"thecreed","may":"theresa may coin","theta":"theta","tagr":"think and get rich coin","thrt":"thrivetoken","tsc":"thunderstake","tia":"tianhe","tbrs":"tiberius","tdx":"tidex token","tnt":"tierion","tie":"ties network","tch":"tigercash","tgc":"tigercoin","tig":"tigereum","xtc":"tilecoin","bill":"tillbilly","time":"time","tnb":"time new bank","tme":"timereum","tmc":"timescoin","timi":"timicoin","tio*":"tio tour guides","tip":"tip blockchain","ttc":"titcoin","titan":"titan","tbar":"titanium bar","tit":"tittiecoin","tmt*":"tothemoon","today":"todaycoin","tkd":"tokedo","taas":"token as a service","tkn":"tokencard","tct":"tokenclub","tds":"tokendesk","tpay*":"tokenpay","ace":"tokenstars","teamt":"tokenstars team token","aire":"tokenaire","tbx":"tokenbox","ten":"tokenomy","tgtc":"tokensgate","tks":"tokes","tka":"tokia","tok":"tokugawacoin","tokc":"tokyo coin","tom":"tomahawkcoin","tbl":"tombola","tomo":"tomochain","topc":"topchain","tor":"torcoin","tot":"totcoin","tret":"tourist review","bbc":"tradove b2bcoin","mtn":"tracknettoken","trct":"tracto","txp":"trade pharma network","tiox":"trade token x","tio":"trade.io","extp":"tradeplace","tdz":"tradelize","traid":"traid","trak":"trakinvest","tx":"transfer","tbcx":"trashburn","avala":"travala","trv":"travel coin","tt":"travelchain","tlt":"travelertoken","trf":"travelflex","travel":"travelvee","tmt**":"traxia membership token","tot*":"trecento blockchain capital","trex":"treeblock","tzc":"trezarcoin","force":"triforce tokens","tria":"triaconta","tri":"triangles coin","tribe":"tribetoken","trick":"trickycoin","trdt":"trident","gps":"triffic","id":"trigid","trig":"trigger","tiim":"triipmiles","tnc":"trinity network credit","trio":"tripio","trip":"trippki","trvc":"trivecoin","trvr":"trivver","trw":"triwer","tpg":"troll payment","tkn*":"trolltokens","troll":"trollcoin","trk":"truckcoin","trck":"truckcoin","true":"true chain","tfl":"true flip lottery","tusd":"true usd","tdp":"truedeck","tgame":"truegame","tic":"trueinvestmentcoin","trump":"trumpcoin","trst":"trustcoin","trust":"trustplus","ttb":"trustabit","flex":"trustedcars flex","who":"truwho","tym":"tryvium","tlp":"tulipcoin","tur":"turron","trtl":"turtlecoin","tut":"tutellus","trt":"tuurnt","twlv":"twelve coin","twc":"twilight","twist":"twistercoin","uuu":"u network","ucash":"u.cash","ucn":"uc coin","ucoint":"ucoin","uct":"ucot","ufo":"ufo coin","hve":"uhive","umk":"umka","unx":"uneox","xup":"upcoin","ur":"ur","urx":"uraniumx","usat":"usat","uscoin":"uscoin","usdc":"usd coin","usdct":"usdct","usoamic":"usoamic","ubc":"ubcoin","ubex":"ubex","ubq":"ubiq","ubiq":"ubiqoin","u":"ucoin","usc":"ultimate secure cash","utc":"ultracoin","xun":"ultranote","ultc":"umbrella","umc":"umbrella coin","unc":"uncoin","unat":"unattanium","nbox":"unboxed","unb":"unbreakablecoin","unf":"unfed coin","ubt":"unibright","candy":"unicorngo candy","usx":"unified society usdex","unify":"unify","ukg":"unikoingold","uniq":"uniqredit","usde":"unitarystatus dollar","uaec":"united arab emirates coin","uec":"united emirates coin","utt":"united traders token","ubtc":"unitedbitcoin","goals":"unitedfans","uis":"unitus","utnp":"universa","unit":"universal currency","umo":"universal molecule","urt":"universal recognition token","urp":"universal reward protocol","unrc":"universalroyalcoin","uni":"universe","uno":"unobtanium","up":"uptoken","ufr":"upfiring","uqc":"uquid coin","urals":"urals coin","urb":"urbit data","uro":"urocoin","use":"usechain token","uetl":"useless eth token lite","uet":"useless ethereum token","uth":"uther","utl":"utile network","util":"utility coin","oot":"utrum","utk":"utrust","uwc":"uwezocoin","vidt":"v-id","vanig":"vanig","vanm":"vanm","var":"varcrypt","vega":"vega","vnty":"venoty","vrx token":"viarium","vibe":"vibehub","vip":"vip tokens","vite":"vite","vivo":"vivo coin","vlux":"vlux","vtos":"vtos","vtuur":"vtuur","vtrd":"vtradeexchange","vvi":"vv coin","vld":"valid","valid":"validator token","val":"valorbit","vlr":"valorem","vany":"vanywhere","vprc":"vaperscoin","vapor":"vaporcoin","vad":"varanida","vltc":"vaultcoin","xvc":"vcash","vtho":"vechainthor","vc":"vecap","vet":"vechain","vec2":"vectorcoin 2.0","vlx":"velox","vlt":"veltor","vena":"vena network","vns":"venus","venus":"venusenergy","vra":"verasity","vnt":"veredictum","xvg":"verge","vrc":"vericoin","vme":"verime","vrf":"verifier","spy":"verifier","cred":"verify","veri":"veritaseum","vrty":"verity","vrm":"verium","vrn":"vernam","vrs":"veros","versa":"versa token","vtc":"vertcoin","vtx":"vertex","vtex":"vertex","vtl":"vertical","vest":"vestchain","vst":"vestarin","vex":"vexanium","vzt":"vezt","via":"viacoin","viaz":"viaz","vib":"viberate","vit":"vice industry token","vtm":"victorieum","vty":"victoriouscoin","vic":"victorium","vid":"videocoin","vdo":"vidiocoin","vidi":"vidion","vidy":"vidy","view":"viewly","veot":"viewo","vin":"vinchain","vior":"viorcoin","idoru":"vip2fan","viral":"viral coin","vuc":"virta unique coin","vta":"virtacoin","xvp":"virtacoinplus","vrt":"virtual reality technology","vrh":"virtual rehab","vmc":"virtualmining coin","visio":"visio","vnx":"visionx","vitae":"vitae","viu":"viuly","ogo":"vogov","voise":"voise","vol":"volair","vltx":"volentix","vlp":"volpo","vtn":"voltroon","voot":"vootcoin","vot":"votecoin","voya":"voyacoin","vsx":"vsync","vtr":"vtorrent","vulc":"vulcano","w12":"w12 protocol","w3c":"w3coin","wab":"wabnetwork","win":"wcoin","weth":"weth","wrl":"whirl","wmc":"wmcoin","wom":"wom","wowx":"wowx","wrt":"wrtcoin","wtxh":"wtx hub","wu":"wulet","wabi":"wabi","wgr":"wagerr","wtc":"waltonchain","wan":"wanchain","wand":"wandx","wrc*":"warcoin","warp":"warpcoin","wash":"washingtoncoin","wug":"watchugot","wmb":"watermelonblock","waves":"waves","wct":"waves community token","wgo":"wavesgo","wnet":"wavesnode.net","way":"waycoin","wsx":"wearesatoshi","wby":"webuy","wpr":"wepower","wt":"wetoken","wealth":"wealthcoin","wvr":"weave","web*":"webchain","web":"webcoin","wdx":"weidex","well":"well","wlme":"wellmee","wtl":"welltrado","wmk":"wemark","wex":"wexcoin","whl":"whalecoin","awt":"whatsonpic","when":"whenhub","wc":"whitecoin","xwc":"whitecoin","wic":"wi coin","wiix":"wiix","wbb":"wild beast coin","wild":"wild crypto","wins":"winstars","whn":"windhan energy","lif":"winding tree","wine":"winecoin","wings":"wings dao","wink":"wink","wisc":"wisdomcoin","wsc":"wisercoin","wsh":"wish finance","wish*":"wishfinance","wit":"witcoin","wlk":"wolk","women":"womencoin","log":"wood coin","wbbc":"world bit bank","wcg":"world crypto gold","wgc":"world gold coin","xwt":"world trade funds","wobtc":"worldbtc","wdc":"worldcoin","wop":"worldpay","wrc":"worldcore","wpt":"worldopoly","wax":"worldwide asset exchange","wbtc":"wrapped bitcoin","wyr":"wyrify","wys":"wysker","xred":"x real estate development","xcash":"x-cash","xc":"x11 coin","x2":"x2coin","x8x":"x8currency","chi":"xaya","xcz":"xcoynz","xco":"xcoin","xde2":"xde ii","xdna":"xdna","xels":"xels coin","xtn":"xend token","xg":"xg sports","xmx":"xmax","xov":"xovbank","xrp":"xrp","xby":"xtrabytes","xuez":"xuez","xxx":"xxxcoin","xyo":"xy oracle","xnx":"xanaxcoin","xaur":"xaurum","xcsh":"xcash","xcel":"xceltrip","xcg":"xchange","xnc":"xencoin","xen":"xenixcoin","xnn":"xenon","xnb":"xeonbit","mi":"xiaomicoin","xdce":"xinfin coin","xios":"xios","xt3":"xt3ch","xrbt":"xtribe","yay":"yaycoin","yac":"yaccoin","yachtco":"yachtco","ymc":"yamahacoin","ymz":"yamzu","ybc":"ybcoin","ydy":"ydentity","yee":"yee","ybt":"yellowbetter","yes":"yescoin","yoc":"yocoin","yovi":"yobitvirtualcoin","yon":"yondocoin","ysh":"yoshi","u42":"you42","yoyow":"yoyow","yum":"yumerium","z2":"z2 coin","zab":"zabercoin","zaza":"zaza","zt":"zb global","zcc":"zcc coin","zec":"zcash","zecd":"zcashdarkcoin","zcg":"zcashgold","zcl":"zclassic","xzc":"zcoin","zen":"zen","zeph":"zephyr","zinc":"zinc","zix":"zix token","zlq":"zlitequbit","zmn":"zmine","znaq":"znaq","zpr":"zper","zse":"zsecoin","zex":"zaddex","zap":"zap","zat":"zatgo","zyd":"zayedcoin","zxt":"zcrypt","nzl":"zealium","zco":"zebi coin","zed":"zedcoins","zpt":"zeepin","zeew":"zeew","zeit":"zeitcoin","zel":"zelcash","zp":"zen protocol","znd":"zenad","zeni":"zennies","zna":"zenome","zer":"zero","zcc1":"zerocarbon","zsc*":"zerostate","zest":"zestcoin","zet2":"zeta2coin","zet":"zetacoin","zsc":"zeusshield","zuc":"zeux","zcn*":"zichain","zbc":"zilbercoin","zla":"zilla","zil":"zilliqa","zip":"zipper","zipt":"zippie","zoi":"zoin","zne":"zonecoin","zoom":"zoomcoin","zrc":"zrcoin","zup":"zupply token","zur":"zurcoin","zuum":"zuum","aqu":"aquest","axpr":"axpire","elf":"aelf","axc":"autoxchange","bpn":"beepnow","ox":"betbox","bitcny":"bitcny","bitgold":"bitgold","bitsilver":"bitsilver","bitusd":"bitusd","csq":"cosquare","dcs":"declouds","dnt":"district0x","echt":"e-chat","ebit":"ebit","ebtc":"ebitcoin","ebst":"eboost","eltc2":"eltc","lyqd":"elyqd","dem":"emark","emu":"emusic","eprx":"eproxy","ereal":"ereal","empr":"empowr","black":"eosblack","eosdac":"eosdac","xep":"ephelants360","fdx":"fidentiax","gcn":"gcn coin","ffuel":"getfifo","hbe":"healthbank","ichn":"i-chain","ibank":"ibankcoin","deal":"idealcash","ice":"idice","ieth":"iethereum","rlc":"iex.ec","ilt":"iolite","itu":"itrue","iw":"iwallet","ixt":"ixledger","imu":"imusify","itm":"intimate.io","mcn":"mcoin","mvu":"mevu","mibo":"miboodle","moolya":"moolyacoin","nos":"nos","redbux":"redbux","susd":"susd","svd":"savedroid","sba":"simplybrand","uft":"ufoodo","ugc":"ugchain","vsl":"vslice","vtag":"veritag token","wbtc*":"wbtc","opet":"õpetfoundation","byr":"belarusian ruble","gqe":"central african cfa franc","mzm":"mozambican metical","veb":"venezuelan bolivar","zwr":"zimbabwean dollar"} \ No newline at end of file diff --git a/other/symbols.json b/other/symbols.json new file mode 100644 index 0000000..bd52db0 --- /dev/null +++ b/other/symbols.json @@ -0,0 +1,20 @@ +{ + "ADA": "₳", + "BCH": "Ƀ", + "BSV": "Ɓ", + "BTC": "₿", + "DAI": "◈", + "DOGE": "Ð", + "EOS": "ε", + "ETC": "ξ", + "ETH": "Ξ", + "LTC": "Ł", + "MKR": "Μ", + "REP": "Ɍ", + "STEEM": "ȿ", + "USDT": "₮", + "XMR": "ɱ", + "XRP": "✕", + "XTZ": "ꜩ", + "ZEC": "ⓩ" +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..8b1191d --- /dev/null +++ b/package.json @@ -0,0 +1,19 @@ +{ + "name": "currency-api", + "version": "1.0.0", + "description": "", + "main": "currscript.js", + "dependencies": { + "fs-extra": "^9.1.0", + "playwright": "^1.37.1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/fawazahmed0/currency-api.git" + }, + "author": "Fawaz Ahmed fawazahmed0@hotmail.com", + "bugs": { + "url": "https://github.com/fawazahmed0/currency-api/issues" + }, + "homepage": "https://github.com/fawazahmed0/currency-api#readme" +}