Was this helpful?
A Uniswap Token Lists-compatible API for token metadata and icons on Tempo.
As an example, here's Tempo's tokenlist, fetched from tokenlist.tempo.xyz/list/4217:
| Endpoint | Description |
|---|---|
/list/{chain_id} | Token list for a chain |
/asset/{chain_id}/{id} | Get a single token by symbol or address |
/icon/{chain_id} | Chain icon (SVG) |
/icon/{chain_id}/{address} | Token icon (SVG) |
| Chain | chain_id |
|---|---|
| Mainnet | 4217 |
| Testnet (Moderato) | 42431 |
Fork tempoxyz/tempo-apps
Add token to data/<chain_id>/tokenlist.json in apps/tokenlist:
{
"name": "piUSD",
"symbol": "PiUSD",
"decimals": 6,
"chainId": 4217,
"address": "0x...",
"extensions": {
"chain": "tempo",
"coingeckoId": "pi-usd"
}
}Add icon to data/<chain_id>/icons/<address>.svg (lowercase address) in apps/tokenlist
Separately, TIP-20 tokens can also carry an optional on-chain logoURI (TIP-1026) that wallets and explorers read directly from the token contract. Because that icon is fetched from an untrusted source, TIP-1026 recommends a square, rasterized PNG or WebP (max 256 bytes; https, http, ipfs, or data scheme). Setting it is optional and independent of this PR — registering here still adds richer metadata (coingeckoId, bridgeInfo, display label) and a fallback icon for clients that don't read on-chain logoURI.
Submit PR with as much information as you think is helpful for review.
Tokens support optional extensions for richer metadata:
| Field | Description |
|---|---|
chain | Always "tempo" by convention |
coingeckoId | CoinGecko identifier for price mapping |
label | Display label override (used by the Explorer) |
bridgeInfo | Origin chain and contract info for bridged tokens |
For bridged tokens, include bridgeInfo so aggregators like DeFi Llama can automatically map to the canonical asset:
{
"extensions": {
"chain": "tempo",
"coingeckoId": "usd-coin",
"bridgeInfo": {
"sourceChainId": 1,
"sourceAddress": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
}
}
}For native tokens (e.g., PathUSD), omit bridgeInfo:
{
"extensions": {
"chain": "tempo",
"coingeckoId": "pathusd"
}
}0xabcd...1234.svg)