assets
Trust Wallet Assets
Comprehensive collection of token logos and metadata for thousands of crypto tokens across 180+ blockchains. Used by Trust Wallet, and many other projects, as the canonical source for token info and logos.
Repo: github.com/trustwallet/assets
Web app: assets.trustwallet.com
Docs: developer.trustwallet.com/listing-new-assets
Repository Structure
blockchains/
└── <chain>/ e.g. ethereum, binance, solana, polygon
├── assets/
│ └── <address>/ checksum address for EVM; native ID for others
│ ├── logo.png token logo (required)
│ └── info.json token metadata (optional but recommended)
├── tokenlist.json trading pairs / curated list
└── tokenlist-extended.json extended token list
Chain directory names use lowercase slugs: ethereum, smartchain (BNB), polygon, solana, cosmos, arbitrum, optimism, base, avalanchec, tron, ton, etc.
Listing Assets by Chain
# List all assets for a chain (GitHub API)
gh api repos/trustwallet/assets/contents/blockchains/ethereum/assets --jq '.[].name'
# Check if a specific token exists
gh api repos/trustwallet/assets/contents/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7 --jq '.[].name'
# Read token metadata
gh api repos/trustwallet/assets/contents/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/info.json \
--jq '.content' | base64 -d
# List all supported chains
gh api repos/trustwallet/assets/contents/blockchains --jq '.[].name'
info.json Format
{
"name": "Tether",
"website": "https://tether.to",
"description": "Short description of the token.",
"explorer": "https://etherscan.io/token/0xdAC17F958D2ee523a2206206994597C13D831ec7",
"type": "ERC20",
"symbol": "USDT",
"decimals": 6,
"status": "active",
"id": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
"tags": ["stablecoin"],
"links": [
{ "name": "x", "url": "https://x.com/Tether_to/" },
{ "name": "coinmarketcap", "url": "https://coinmarketcap.com/currencies/tether/" },
{ "name": "coingecko", "url": "https://coingecko.com/en/coins/tether" },
{ "name": "facebook", "url": "https://facebook.com/tether.to/" },
{ "name": "github", "url": "https://github.com/tetherto" },
{ "name": "discord", "url": "https://discord.gg/..." },
{ "name": "telegram", "url": "https://t.me/..." }
]
}
type values: ERC20, BEP20, BEP2, SPL, TRC20, CW20, POLYGON, ARBITRUM, OPTIMISM, BASE, AVAXC, TON_JET
status values: active, abandoned, spam
tags values: stablecoin, wrapped, defi, nft, governance, meme, bridge
Contributing a New Asset
Requirements (read before starting)
- Token must not be brand new — project needs sound fundamentals and non-minimal circulation
- Full requirements:
developer.trustwallet.com/listing-new-assets/requirements - No spam tokens — mass-airdropped tokens are rejected
Option 1 — Web app (easiest)
Use assets.trustwallet.com (GitHub account required). Handles validation automatically.
Option 2 — Manual PR
Step 1: Create the asset template
make add-token asset_id=c60_t0x<ContractAddress>
# Creates blockchains/ethereum/assets/0x<Address>/info.json
Step 2: Add your files
blockchains/<chain>/assets/<address>/
├── logo.png ← required: 256×256px PNG, transparent background, <100KB
└── info.json ← fill in all fields
Logo requirements:
- Format: PNG with transparency
- Size: exactly 256×256 pixels
- File size: under 100KB
- High contrast, recognizable at small sizes
Step 3: Add to tokenlist (optional, for trading pair visibility)
make add-tokenlist asset_id=c60_t0x<ContractAddress>
make add-tokenlist-extended asset_id=c60_t0x<ContractAddress>
Step 4: Validate
make check # full validation — also runs in CI
make fix # auto-fix common issues (image resizing, JSON formatting)
Step 5: Open a PR against master branch
Common Validation Errors
| Error | Fix |
|---|---|
| Logo wrong size | Resize to exactly 256×256px |
| Logo too large | Compress PNG, must be <100KB |
| Address not checksummed | Use EIP-55 checksum for EVM addresses |
| Missing required fields | Fill name, symbol, decimals, type, status, id in info.json |
| Token not found on-chain | Verify contract address on explorer |
Scripts Reference
make check # Validate entire repo (runs in CI)
make fix # Auto-fix issues
make update-auto # Sync from external sources (DEX pools, etc.)
make add-token asset_id=<id> # Scaffold info.json for a token
make add-tokenlist asset_id=<id> # Add to tokenlist.json
make add-tokenlist-extended asset_id=<id> # Add to tokenlist-extended.json
More from trustwallet/tw-agent-skills
trust-wallet-api
Trust Wallet API for crypto data — token search, prices, trending tokens, swap quotes, market data, security checks, address validation, asset info, and coin status across 100+ blockchains. Use whenever the user asks about crypto prices, token info, swap rates, market cap, trending coins, token risk, honeypot detection, address validation, or wants to call the Trust Wallet / tws.trustwallet.com API directly. Covers HMAC-SHA256 authentication, supported chains, and all REST endpoints.
82trust-wallet-cli
Trust Wallet CLI (`twak`) — install, create wallets, check balances, send tokens, swap, view history, set price alerts, DCA automations, limit orders, manage ERC-20 approvals, check token risk, browse trending/DApps, and run x402 micropayments. Use whenever the user wants to use the twak CLI, manage a crypto wallet from the terminal, send or swap tokens via command line, check portfolio, create price alerts, set up DCA, create limit orders, approve ERC-20 spenders, or interact with Trust Wallet from a shell. Also covers MCP server setup for AI agents.
81trust-wallet-sdk
Trust Wallet open-source libraries — Wallet Core (HD wallets, address derivation, tx signing in Swift/Kotlin/TypeScript/Go for 140+ chains), Web3 Provider (dApp connection for Ethereum/Solana/Cosmos/Bitcoin/Aptos/TON/Tron), deep linking, browser extension integration, WalletConnect, token assets repository, and Barz ERC-4337 smart wallet. Use when working with trustwallet/wallet-core, @trustwallet/wallet-core, trust-web3-provider, Trust Wallet deep links, token logos/metadata from trustwallet/assets, or Barz account abstraction.
68your-skill-name
One sentence — what this skill does and when Claude should use it.
59wallet-core
Build with Trust Wallet Core — HD wallet creation, address derivation, and transaction signing across 140+ blockchains. Use when working with trustwallet/wallet-core, @trustwallet/wallet-core, or implementing key generation and signing in Swift, Kotlin, TypeScript, or Go.
11market-data
Get real-time token prices (index from CoinMarketCap + CoinGecko), discover trending tokens across 16+ categories (AI, DeFi, memes, Layer 1, ecosystem-specific), with multi-timeframe price changes, market cap, volume, and supply data. Use this whenever someone asks about crypto prices, market cap, volume, trending coins, top tokens in a category, or any "what's the price of X" question.
11