How to add token support
This guide shows you how to make your token display with its name, symbol, and formatted amounts on Ledger signers, instead of a raw contract address and wei values.
How token support works
Without token support, users see contract addresses instead of token names, raw wei values instead of formatted amounts, and hexadecimal data instead of readable information. With it, they see token symbols (USDT, UNI, AAVE), formatted amounts (1,000 USDT instead of 1000000000), and collection names for NFTs.
Token support is automatic once your token is in the Ledger database. You do not need to create a descriptor just to add basic token display.
Support covers the common token standards:
- ERC-20 — formatted amounts with correct decimals and the token symbol
- ERC-721 — collection name and token ID from on-chain metadata
- ERC-1155 — both fungible and non-fungible token information
Check whether your token is already supported
Before submitting a request, verify that your token is not already in the database:
- Search the supported assets list — look up your token by name, symbol, or contract address in Ledger’s supported assets list .
- Test a transaction — send a small test transaction involving your token. If it is supported, your signer shows the token symbol; if not, it shows the raw contract address.
Each chain requires a separate support entry. A token supported on Ethereum is not automatically supported on Polygon or Arbitrum.
Request token support
If your token is not in the database, submit a request with this information:
- Contract address — checksummed address from your block explorer
- Token symbol — official symbol (for example, UNI, AAVE)
- Token name — full display name
- Decimals — number of decimal places (18 for most ERC-20 tokens; 6 for USDC and USDT)
- Chain or network — Ethereum, Polygon, Arbitrum, and so on; submit a separate request for each chain
Submit a support request
Contact Ledger Support with your token information.
Wait for review
Tokens are reviewed and added in weekly batches. Expect one to two weeks from submission to availability.
Verify the addition
Check the supported assets list or send a small test transaction once you receive confirmation.
Token support is subject to review. Tokens must have a legitimate use case, sufficient liquidity, and regulatory compliance.
Add a token icon (optional)
To display your token’s icon in Ledger Wallet, submit a PNG or SVG that is 64×64 px (or a scalable vector), on a transparent background, under 50 KB. Then:
- Fork the ledger-live repositoryÂ
- Add your icon to the
assets/icons/directory, following the existing naming convention - Open a pull request
Reference tokens in your metadata
When your contract interacts with tokens, reference them in your descriptor so amounts display correctly during signing.
Use a static token address when your contract always interacts with the same token:
{
"path": "amount",
"label": "Amount",
"format": "tokenAmount",
"params": {
"token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
}
}Use tokenPath when the token address is passed as a parameter in the transaction. Its value is a path expression pointing to the parameter that holds the token contract address:
{
"path": "amount",
"label": "Amount",
"format": "tokenAmount",
"params": {
"tokenPath": "tokenAddress"
}
}For NFT collections, use nftName to display the collection name and token ID. Reference the collection with collection (fixed address) or collectionPath (address from transaction data):
{
"path": "tokenId",
"label": "NFT",
"format": "nftName",
"params": {
"collection": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D"
}
}For the full list of format types and their parameters, see the format types reference.
Troubleshooting
Token shows as “Unknown Token”
The token is not yet in the Ledger database. Follow the request process above to add it.
Amounts show with incorrect decimal places
The decimal value in the database is incorrect. Contact support with the correct decimal count. You can find the authoritative value from the token contract’s decimals() function on Etherscan.
NFT metadata is not loading
Ensure the NFT contract implements the standard metadata methods: tokenURI(uint256) for ERC-721 and uri(uint256) for ERC-1155.
Token is supported on Ethereum but not on another chain
Each chain deployment requires a separate support entry. Submit a new request specifying the chain and contract address for each additional network.
Next steps
Your token is ready to display correctly in Clear Signing transactions. Reference it in your protocol’s descriptor: