This repository hosts the static and dynamic token-list JSON files used by the THAT app and contributed by the community.
├── static/ # Tokens bundled in the latest app release
│ ├── 1.json # Ethereum mainnet
│ ├── 137.json # Polygon mainnet
│ └── … # Other chain IDs
└── dynamic/ # Community-submitted deltas and new chains
├── 1.json # Overrides or extras for Ethereum
├── 137.json # Overrides or extras for Polygon
└── 1234.json # New EVM chain token-list (if not in static)
- static/ contains the token lists that are shipped in the latest app build. These files are updated by the THAT team as part of each app release (to reduce app data consumption).
- dynamic/ contains only the delta entries (new tokens or updated metadata) that should overlay the static lists at runtime. After a release, the entries from
dynamic/
get merged intostatic/
in the next version, anddynamic/
is reset to[]
.
All token-list files must be valid JSON arrays of objects conforming to the following structure:
We welcome pull requests! To add or update tokens:
- Fork this repository.
- Add or edit the relevant JSON file:
- To update an existing token’s metadata, edit the object in
dynamic/<chainId>.json
. - To add a new token on an existing chain, append it to
dynamic/<chainId>.json
. - To support a brand-new EVM chain, create a new file
dynamic/<newChainId>.json
with your token entries.
- To update an existing token’s metadata, edit the object in
- Submit a pull request describing your changes.
- Files must be named exactly
<chainId>.json
(e.g.56.json
for BSC). - Place your additions/overrides in the dynamic/ directory only.
- Ensure no duplicate
address+chainId
entries within the same file.
-
On app release, the THAT team:
- Copies any updates / extras from
dynamic/
intostatic/
. - Clears out
dynamic/…
files (set them back to an empty array[]
).
- Copies any updates / extras from
-
New app builds will bundle the updated
static/
files.