How to add token support

Ensure your tokens display with proper names and amounts instead of raw contract addresses.

What token support does

Without token support, users see:

  • Contract addresses instead of token names
  • Raw wei values instead of formatted amounts
  • Hexadecimal data instead of readable information

With token support, users see:

  • Token symbols (USDT, UNI, AAVE)
  • Formatted amounts (1,000 USDT instead of 1000000000)
  • Collection names for NFTs

Good news: token support is automatic once your token is in the Ledger database. You do not need to create a metadata file just to add basic token display.

Supported token standards

ERC-20 Tokens
Displays formatted amounts with correct decimal places and the token symbol
ERC-721 NFTs
Displays the collection name and token ID from on-chain metadata
ERC-1155 Multi-Tokens
Displays both fungible and non-fungible token information

Check if your token is already supported

Before submitting a request, verify that your token is not already in the database.

Option 1: Search the supported assets list

Search Ledger’s supported assets list by token name, symbol, or contract address.

Option 2: Test a transaction

Send a small test transaction involving your token. If the token is supported, your signer shows the token symbol. If not, it shows the raw contract address.

Note on multi-chain support

Each chain requires a separate support entry. A token supported on Ethereum is not automatically supported on Polygon or Arbitrum.

Add your token

If your token is not in the database, submit a request with the following information.

Required 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 1–2 weeks from submission to availability.

Verify 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:

Icon requirements
Technical specifications
  • • Format: PNG or SVG
  • • Size: 64×64 px (PNG) or scalable vector (SVG)
  • • Background: transparent
  • • File size: under 50 KB
Submission steps
  • • Fork the ledger-live repository
  • • Add your icon to the assets/icons/ directory
  • • Follow the existing naming convention
  • • Open a pull request

Reference tokens in your Clear Signing metadata

When your contract interacts with tokens, reference them in your metadata file so amounts display correctly during signing.

Static token (known address)

Use this when your contract always interacts with the same token:

{
  "path": "amount",
  "label": "Amount",
  "format": "tokenAmount",
  "params": {
    "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
  }
}

Dynamic token (address from transaction data)

Use this when the token address is passed as a parameter in the transaction:

{
  "path": "amount",
  "label": "Amount",
  "format": "tokenAmount",
  "params": {
    "tokenPath": "tokenAddress"
  }
}

The tokenPath value is a path expression pointing to the parameter in the calldata that holds the token contract address. For example, if the token address is at params.token, use "tokenPath": "params.token".

NFT collections

Use nftName to display an NFT’s collection name and token ID:

{
  "path": "tokenId",
  "label": "NFT",
  "format": "nftName",
  "params": {
    "collection": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D"
  }
}

To reference the collection address dynamically from the transaction data, replace collection with collectionPath:

{
  "path": "tokenId",
  "label": "NFT",
  "format": "nftName",
  "params": {
    "collectionPath": "collectionAddress"
  }
}

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 and provide 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.

Your token is now ready to display correctly in Clear Signing transactions. The next step is to include it in your protocol’s metadata file.

Next steps

Zero cost, full support

Token support is completely free. No fees and no partnership required. Submit your token details and help make Web3 safer for everyone.

Ledger
Copyright © Ledger SAS. All rights reserved. Ledger, Ledger Stax, Ledger Flex, Ledger Nano, Ledger Nano S, Ledger OS, Ledger Wallet, [LEDGER] (logo), [L] (logo) are trademarks owned by Ledger SAS.