GET /leokit/assets
Get list of supported tokens with current prices and metadata.Request
Authentication:Api-Key header required
Response
Status Code:200 OK
Cache: 20 seconds
Asset Format
Each asset object contains the following fields:| Field | Type | Description |
|---|---|---|
identifier | string | Unique asset identifier in format CHAIN.SYMBOL[-ADDRESS] |
blockchain | string | Blockchain short name (e.g., “BTC”, “ETH”, “THOR”) |
symbol | string | Token symbol (e.g., “BTC”, “USDC”, “RUNE”) |
address | string | Contract address for tokens, empty string for native assets |
decimals | number | Number of decimal places for the token |
price_usd | number | Current USD price |
icon | string | URL to token icon image |
chain_icon | string | URL to blockchain icon image |
coingecko_id | string | CoinGecko API identifier for price tracking |
Asset Identifier Format
Theidentifier field uses a standardized format:
- Native Assets:
CHAIN.SYMBOL(e.g., “BTC.BTC”, “ETH.ETH”, “THOR.RUNE”) - Token Assets:
CHAIN.SYMBOL-ADDRESS(e.g., “ETH.USDC-0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48”)
Filtering Rules
The API automatically filters assets based on:- Price Filter: Tokens with
price_usd < $0.001are excluded - Banned Chains: Chains in
BANNED_CHAINSconstant are filtered out - Client Configuration: Tokens on chains in client’s
disabled_chainsare excluded - Client-Specific Tokens: Tokens from
custom_evm_tokenstable included ifclient_api_keymatches
Data Sources
- Primary: Supabase
tokenstable (updated every 5 minutes) - Secondary:
custom_evm_tokenstable for client-specific additions
POST /leokit/balances
Get wallet balances across multiple chains in a single request.Request Body
| Field | Type | Required | Description |
|---|---|---|---|
address | string | Yes | Wallet address for the chain |
chain | string | Yes | Blockchain short name (e.g., “ETH”) |
Response
Status Code:200 OK
Response Format
Each wallet object contains:| Field | Type | Description |
|---|---|---|
chain | string | Blockchain short name |
balances | array | Array of token balance objects |
explorer | string | Block explorer URL for the wallet address |
balance_usd | number | Total USD value of all tokens in wallet |
Token Balance Object
Each balance object contains:| Field | Type | Description |
|---|---|---|
token_symbol | string | Token symbol (e.g., “ETH”, “USDC”) |
price | number | Current USD price per token |
balance | number | Token balance (in readable units) |
balance_usd | number | USD value of token balance |
icon | string | URL to token icon image |
Supported Chains (30+)
EVM Chains
- ETH (Ethereum)
- ARB (Arbitrum)
- AVAX (Avalanche C-Chain)
- BASE (Base)
- BSC (Binance Smart Chain)
- POLYGON (Polygon/Matic)
- OPTIMISM (Optimism)
- FANTOM (Fantom Opera)
UTXO Chains
- BTC (Bitcoin)
- LTC (Litecoin)
- BCH (Bitcoin Cash)
- DASH (Dash)
- ZEC (Zcash)
- DOGE (Dogecoin)
Cosmos Chains
- THOR (THORChain)
- MAYA (MAYAChain)
- GAIA (Cosmos Hub)
- KUJI (Kujira)
Other Chains
- XRP (Ripple)
- NEAR (NEAR Protocol)
- SOL (Solana)
- TRON (Tron Network)
Features
Balance Fetching
- Parallel Fetching: All chains queried simultaneously for optimal speed
- Scam Filter: Tokens with
balance_usd < $0.10are automatically excluded - Staked Assets: THORChain staked TCY (sTCY) automatically included for THOR wallets
- Multi-Chain Aggregation: Uses Rango API for broad chain support
- Chain-Specific Fetchers: Manual implementations for BTC, XRP, NEAR, and other specialized chains
Data Sources
- Rango API: Primary aggregator for most EVM and Cosmos chains
- Custom Fetchers: Direct blockchain queries for BTC, XRP, NEAR
- THORChain API: For RUNE and staked TCY balances
- Token Prices: Real-time prices from CoinGecko via the
tokenstable