Trust Developers
  • Get Started
  • Developing for Trust Wallet platform
    • Browser Extension
      • Ethereum & EVM chains
    • Mobile (WalletConnect)
    • Deep Linking
  • Listing new dApps
    • A Complete Guide to Listing your dApp with Trust Wallet
    • Optimizing your dApp for Trust Wallet
    • Debugging
  • Listing new assets
    • Add Asset
    • Requirements
    • Pull Request Fee
    • FAQ
    • Repository Details
    • Universal Asset ID
  • Wallet Core
    • New Blockchain Support
      • RPC / API Requirements
      • New EVM-compatible chain
    • Developing the Library
      • Contributing
      • Building
      • WalletConsole utility
      • Coverage
      • Releasing
    • Integration Guide
      • Usage Guide
      • iOS Integration Guide
      • Android Integration Guide
      • Server-Side
    • References
      • Swift API Reference
      • Kotlin API Reference
    • FAQ
  • Barz - Smart Wallet
    • Introducing Barz. TrustWallet's Smart Wallet Solution
    • Cutting Diamonds: How to make Accounts Awesome
    • Build with Trust Wallet and Barz, A Comprehensive Guide to Integrating Barz with AA SDK
Powered by GitBook
On this page
  • Repository Details
  • Contribution Guidelines
  • Token Status

Was this helpful?

  1. Listing new assets

Repository Details

PreviousFAQNextUniversal Asset ID

Last updated 2 years ago

Was this helpful?

Repository Details

Collections

The token repository contains the following collections:

  1. , ERC223 tokens on Ethereum compatible networks such as:

    • , etc.

  2. Binance DEX tokens (native marketplace on Binance Chain)

  3. Tokens on TRON blockchain

  4. DApp logos displayed in Browser section of the Trust Wallet app, and bookmarks icons

  5. Staking validators information, such as name: image, validator_id, website_url

    • .

  6. Crypto price providers map:

  7. Token and coin information

  8. Smart contract deprecation/upgrade.

Repository structure

The blockchains folder contains several subfolders corresponding to blockchain networks, such as ethereum, binance, etc.

For other networks the address must be specified as it was originated on the chain, e.g TRON TRC10: 1002000, TRON TRC20: TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t etc.

The info folder contains a logo.png that represents the coin image.

The validators folder contains folders: assets same structure as above and list.json information about validators.

The denylist.json and allowlist.json, present in some chain folders like ethereum and binance, contain list of approved tokens and banned tokens. Trust Wallet will never show denylisted tokens, and only allowlisted tokens are shown in the token search results.

Checksum format

For Ethereum like networks, contract folders must be named according to the so-called Checksum Format, with mixed lowercase and uppercase letters, such as 0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359. Non-checksum addresses (e.g. all lowercase) are considered invalid.

Layout

.
├── blockchains
│   └──ethereum
│   │   └──assets
│   │   │  └──0x0a2D9370cF74Da3FD3dF5d764e394Ca8205C50B6 // address folder
│   │   │     └──logo.png  // token logo
|   |   |     └──info.json  // optional token info
│   │   └──info
│   │   │  └──logo.png   // chain coin logo
|   |   │  └──info.json  // chain coin info
│   │   └──allowlist.json  // list of accepted tokens
│   │   └──denylist.json  // list of blocked tokens
|   |
|   └──binance
│   │   └──assets
│   │   │  └──ONE-5F9
│   │   │     └──logo.png
|   |   |     └──info.json
│   │   └──info
│   │      └──logo.png
|   └──tron
│   |  └──assets
│   |  │  └──1002000
│   |  │  |   └──logo.png
|   |  |  |   └──info.json
|   |  |  └──TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t
|   |  |      └──logo.png
|   |  |      └──info.json
|   |  |
│   |  └──info
│   |     └──logo.png
|   |     └──info.json
|   |
|   └──cosmos
│   │   └──info
|   |   |  └──logo.png
|   |   |  └──info.json
|   |   |
│   │   └──validators
│   │   |  └──assets
|   |   |     └──cosmosvaloper1clpqr4nrk4khgkxj78fcwwh6dl3uw4epsluffn
|   |   |        └──logo.png
|   |   |
|   |   └──list.json
├── ...

Contribution Guidelines

Contribution Use Cases

Add new asset

Update and remove an existing asset

Whenever you updating or deleting an asset on behalf of the asset owner or just found outdated information, please provide a link to the source saying about changes. That will help to speed up the review process.

This instruction wil be helpfull if you want to:

  1. Update information about the smart contract

Smart contract address update procedure:

  1. Rename old contract address in coresponding coin folder to new contract e.g.:

  2. Remove smart contract e.g.:

`rm -r ./blockchains/<COIN>/assets/<OLD_CONTRACT_ADDRESS>/`

`rm -r ./blockchains/ethereum/assets/0x19fFfd124CD9089E21026d10dA97f8cD6B442Bff/`
  1. Commit changes and make a PR (pull request)

Image Requirements

  • File name:logo.png, all lowercase. Extension: png (uppercase PNG is considered invalid).

  • Dimension: recommended 256 x 256 pixels, maximum 512 x 512 pixels, aspect ratio should be 1:1.

  • Edges and background:

    • Logos are displayed cropped to a circular mask, a circle fitting in the square shape. Thus the corners of the logo image will not be visible. The logo should fit in the circle, but also fill it as much as it possible, i.e. there should not be unused spaces on the sides/top/bottom.

    • Logos should look OK with white/lightgray background as well as on black/darkgray background (night mode). For dark themed logos use white contour lines to make sure they stand out on dark background as well.

    • Avoid using transparency inside the logo, as the color beneath the transparent layer is changing (light or dark). Use transparency only outside of the logo.

Info.json Contents

The info.json file contains basic information about the token/project.

It has following required fields:

  • name: name of the token

  • type: such as ERC20, BEP2, BEP20, TRC20, TRC10, ...

  • symbol: the token symbol

  • decimals: number of decimal digits used in the amounts (e.g. 18 for ETH)

  • description: a few sentence summary of the token/project

  • website: project web site

  • explorer: URL of the token explorer page

  • status: "active"

  • id: the id/contract/address of the token, same as the subfolder name

  • links: Array with name/url pairs, for social media links, documentation, etc. List of currently supported types: github, whitepaper, twitter, telegram, telegram_news, medium, discord, reddit, facebook, youtube, coinmarketcap, coingecko, blog, forum, docs, source_code. Note: the socials section is no longer used.

  • tags: Assigning these tags to tokens helps place them on appropriate token menus and ensures your token is evaluated correctly in conditions. List of currently supported tags: stablecoin, wrapped, synthetics, nft, governance, defi, staking, staking-native, privacy, nsfw, binance-peg, deflationary, memes, gamefi.

If in doubt about fields, look around / search in existing info.json files.

Sample info.json:

{
    "name": "Trust Wallet Token",
    "website": "https://trustwallet.com",
    "description": "Utility token to increase adoption of cryptocurrency.",
    "explorer": "https://explorer.binance.org/asset/TWT-8C2",
    "type": "BEP2",
    "symbol": "TWT",
    "decimals": 8,
    "status": "active",
    "id": "TWT-8C2",
    "links": [
        {
            "name": "github",
            "url": "https://github.com/trustwallet/"
        },
        {
            "name": "twitter",
            "url": "https://twitter.com/TrustWalletApp"
        },
        {
            "name": "reddit",
            "url": "https://reddit.com/r/trustapp"
        }
    ]
 "tags": [
         "governance"
     ]
}

dApp image naming requirements

  • <subdomain>.<domain_name>.png e.g: https://app.compound.finance/ => app.compound.finance.png https://kyberswap.com/ => kyberswap.com.png

dApp submission and listing requirements

  • Test dApp inside Trust Wallet on iOS and Android devices

Staking validators requirements

Common Uploads

  1. Add Cosmos validator image

  2. Add Tezos validator info

  3. Add Ethereum contract address to denylist

  4. Add TRON TRC10 ID or TRC20 owner contract address to allowlist

How To Add Files

If you are not familiar with GitHub or Git, the process of adding new tokens may look complicated at first glance, but it consists of only a few steps, and is not very complicated.

Basics, Prerequisites

To do changes in the assets repository, you need to create a personal copy called a fork.

Once the changes are prepared inside the fork, you need to create a pull request to the main repository. Upon review the maintainers will accept your pull request, and the changes will be incorporated.

Adding files using Assets App

A new token can be submitted using the Assets application. See also: https://community.trustwallet.com/t/how-to-submit-a-token-logo-using-assets-app/82957

  1. Press the Log in with Github button. If not yet logged in (in the current browser session), you need to log in to Github

  2. First time you will need to authorize the Assets app to access your Github account.

  3. Upload the logo file.

  4. Fill the token contract. For some tokens (ERC20) some fields are auto-filled (symbol, decimals, etc.).

  5. Fill in additional fields, symbol, decimals, description, links, etc.

  6. Press the Check button.

  7. If all is OK, press the Create Pull Request button. A PR will be created.

Token Status

active - Token meets the standard requirements in circulation (number of holders and transactions).

spam - Token that is distribtued to a large number of recepients that have no inherent value or has been verified as a dishonest scheme or fraud.

abandoned - Token with very low activity (below 100 token transfers a year), migrated to mainnet or to a new contract.

No longer active

The assets subfolder contains token folders named by smart contract address, in for Ethereum like networks. This folder should contain the logo.png image file, and the info.json file.

You can find the checksum address by searching on , for example stablecoin the checksum address is located at the top left corner of the page and has both uppercase and lowercase characters. Or .

Prepare asset, look at , .

Get familiar with our , it will give you an understanding where assets should be placed

Pay the merge

or update contract address

File location: must be placed in the correct folder and subfolder within the .

File size: maximum 100kB. Tip: optimize image size, e.g. using simple drag-and-drop online service .

It is recommended to use the (), as it shows a preview of the logo with both light and dark background and circular cropping.

Upload – Make sure you follow rules for image requirements.

Integrate

Add as dApp supported wallet

Add validator basic information to the bottom of the list, see example for: , , , , ,

Add validator logo image to blockchains/<chain>/validators/assets/<validator_address>/logo.png

Check chain requirements.

Ethereum ERC20

Binance DEX BEP2, BEP8 token

TRON TRC10, TRC20 token

The assets repository is maintained in , the largest hosting for open source projects. You need a GitHub account to interact with it.

Open the assets web app:

etherscan.io
DAI
convert Ethereum address to Checksum address
tinypng
Assets web app
guide
Folder for upload
logo
deep linking
logo
Submit form for review
Kava
Cosmos
Tezos
Tron
Solana
Harmony
token folder
token folder
token folder
GitHub
https://assets.trustwallet.com
ERC20
Ethereum (ETH)
Ethereum Classic (ETC)
POA Network (POA)
TomoChain (TOMO)
GoChain (GO)
Wanchain (WAN)
Callisto Network (CLO)
Thunder Token (TT)
BEP2
BEP8
(TRC10, TRC20)
Supported staking coins
CoinMarketCap
Image naming requirements
Request listing in Trust Wallet DApp Browser
Read requirements
Read more
checksum format
image requirements
dapp requirements
folder structure
Add asset guide
fee
Deprecate
folder structure
see images requirements
specific