Sequence Token Directory
Token directory that contains a comprehensive list of ERC-20, ERC-721, ERC-1155 and other contracts.
NOTES:
- The ./index/index.json is an auto-generated file that is a master index of all ./index/*/ contents including chain names, chain ids, file names, and sha256 hashes of the file contents. This file is perfect for using as the primary index of this repo, and when syncing contents you can traverse this index file and also compare the sha256 hash if the file has changed.
- The ./index/deprecated.json is a manually maintained file which lists all folders which are deprecated and as a result the files will be labelled as deprecated in the master index.json.
- The ./index/external.json is a manually maintained file of external token list sources which are synced and downloaded to the ./index/_external folder. We store the contents here to ensure data integrity, and we also compute and include these files in the master index.json.
REMINDERS:
pnpm reindexis automatically called as a pre-commit hook anytime an entry it changed. You may also call it manually if you like.pnpm sync-externalmust be called manually periodically to ensure we have the latest contents, this script is not run automatically.pnpm update-featuredupdates thefeatured/featureIndexfields on ERC-20 tokens based on 24hr trading volume from the CoinGecko API. See usage below.
Setup
pnpm installwill setup your local toolspnpm reindexto reindex the token directory master index.json, but see notes above, as this is also automatically called as a pre-commit hook.pnpm sync-externalto sync ./index/external.json files to local ./index/_external/ folder.pnpm update-featuredto update featured token rankings (see below).
Update Featured Tokens
Ranks tokens by 24hr trading volume from CoinGecko and assigns featureIndex values in each chain's erc20.json.
Requires a CoinGecko Pro API key. Copy .env.sample to .env and fill in your key, or pass it directly:
COINGECKO_API_KEY=xxx pnpm update-featured
By default the script performs a dry run — it prints the proposed ranking without writing any files. Pass --write to apply changes.
# Preview changes for all supported chains pnpm update-featured # Preview a single chain pnpm update-featured -- --chain arbitrum # Apply changes pnpm update-featured -- --write # Feature top 20 instead of default 50 pnpm update-featured -- --write --count 20
Supported chains: mainnet, arbitrum, polygon, optimism, base, avalanche, bnb, gnosis, arbitrum-nova.
Token List Formats
The ERC-20 token lists present in this repository follow the Uniswap Token List Schema. The original list was populated using Coingecko's erc20 token list CoinGecko. Token description and links are taken from Coingecko's API.
The ERC-721 and ERC-1155 token lists present in this repository follow the Sequence Collectible List Schema.
How to Add or Update Your Token / Contract
If a token is missing entirely, or contains incorrect or missing information, please stick to the following procedure;
- Fork this repository
- git clone, then:
pnpm installto setup local tools - Add your entry directly inside of
./index/<chain>/<standard>.json - Open a PR comparing the master branch with your fork
- In the PR, add an explanation if this PR is for an existing token that needs to be updated
Formats
Depending on the standard, your token entries should respect the following format:
ERC20
See here for examples.
{ chainId: number, // Chain ID address: string, // Contract address name: string, // Name of token, 40 chars max symbol: string, // Symbol of token, 20 chars max decimals: number, // Number of decimals token uses logoURI: string | null, // URI / URL for token logo extensions: { link: string | null, // URL of token's website description: string | null, // Short description of token (1000 chars max) ogImage: string | null // URL of Open Graph image of token website }
ERC721 and ERC1155
See here for erc721 and here for erc1155 examples.
{ chainId: number, // Chain ID address: string, // Contract address name: string, // Name of token, 40 chars max standard: 'erc721' | 'erc1155', // Name of token's standard symbol: string | null, // Symbol of token, 20 chars max logoURI: string | null, // URI / URL for token logo extensions: { link: string | null, // URL of token's website description: string | null, // Short description of token (1000 chars max) ogImage: string | null // URL of Open Graph image of token website }
LICENSE
MIT