This repo contains the token lists to be used in Polygon products' interfaces.
the JSON schema for the tokens includes: chainId, name, address, decimals, symbol, logoURI (optional), tags (optional), and custom extensions metadata.
There are two token lists that we are maintaining currently on mainet and another one on testnet:
-
Polygon Tokens List contains all the tokens added by the community that are mapped on the Polygon PoS chain. The community can raise token addition and updation issues to help us keep the token list up-to-date.
-
Popular Tokens List is a subset of the allTokens list. It contains the mostly used tokens on Polygon Wallet Web.
-
Testnet Tokens List contains the tokens mapped on the Mumbai chain.
Apart from these 3 token list there is one blacklisted token list:
- Blacklist Tokens List contains all the blacklisted tokens which should be filtered out from the UI.
-
Fork the repository
-
Add the new token at the end of the token array in
src/tokens/polygonTokens.json
Please make sure that the new token follows this schema.
{ "chainId": 137, // Should always be 137 "name": "token_name", "symbol": "token_symbol", "decimals": <token_decimals>, "address": "token_address on Polygon", "logoURI": "token_icon_uri", "tags": ["<bridge>", "<token_type>", "<optional_tag>", "<optional_tag>", ...], // For all acceptable tags, check below "extensions": { "rootAddress": "token_address on Ethereum", // If not deployed on ethereum, use "0x0000000000000000000000000000000000000000" and add noDeposit and noWithdraw tags "project": { "name": "Project_Name", "summary": "Short_Project_Description", "contact": "Project_Support", "website": "Project_Website" } } }
-
stablecoin
: Tokens that are pegged to a fiat asset, e.g. USDC, USDT -
swapable
: Tokens are eligible for swapping through the 0x contracts -
erc20
: Tokens are of ERC20 token type -
pos
: Tokens can be bridged from Ethereum using the PoS bridge Note: Also use this tag if the tokens cannot be bridged. -
plasma
: Tokens can be bridged from Ethereum using the PLASMA bridge -
metaTx
: Tokens are eligible for meta transactions Note: Use this tag if the tokens support meta transactions and can be used for a gasless swaps. -
customWithdrawEventSig
: The token has its custom withdraw event signature and does not depend on the transfer event signature while verifing withdrawals -
noDeposit
: Tokens are not eligible for deposits from Ethereum Note: Also use this tag if the tokens cannot be bridged. -
noWithdraw
: Tokens are not eligible for withdrawals back to Ethereum Note: Also use this tag if the tokens cannot be bridged.
-
-
Run linter and fix the issues if any
npm run lint
npm run lint:fix
-
Make sure that the tests are passing and the tokenlist builds
npm run test
npm run build
-
Commit the changes and raise a Pull request to our repo's dev branch
After raising a PR, please allow us some time to verify the PR. We do not follow any particular order in reviewing token additions and updations.