This library maintains a list of ERC20 tokens that exist on the ethereum mainnet, L2 and sidechain.
It manages the main tokens and the top 100 or so tokens.
Support for Ethereum mainnet, optimistic-ethereum, arbitrum, polygon, and Other chains will be supported in the future.
# npm
npm i @asset-projects/token-list
# yarn
yarn add @asset-projects/token-list
import { tokenList } from '@asset-projects/token-list';
console.log(tokenList().mainnet.ERC20);
// [{"chainId": 1, "type": "ERC20", "address": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", "name": "Wrapped BTC", ...}]
console.log(tokenList().mainnet.ERC721);
// [{"chainId": 1, "type": "ERC721", "address": "0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85", "name": "Ethereum Name Service", ...}]
import { MAINNET } from '@asset-projects/token-list';
console.log(MAINNET.ERC20);
// [{"chainId": 1, "type": "ERC20", "address": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", "name": "Wrapped BTC", ...}]
console.log(MAINNET.ERC721);
// [{"chainId": 1, "type": "ERC721", "address": "0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85", "name": "Ethereum Name Service", ...}]
This project was created with reference to uniswap/default-token-list and trustWallet/assets.
It was created because these projects lacked resources for L2 contract addresses such as optimism and arbitrum.
Respect to these projects!