Skip to main content

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:

Asset Identifier Format

The identifier 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:
  1. Price Filter: Tokens with price_usd < $0.001 are excluded
  2. Banned Chains: Chains in BANNED_CHAINS constant are filtered out
  3. Client Configuration: Tokens on chains in client’s disabled_chains are excluded
  4. Client-Specific Tokens: Tokens from custom_evm_tokens table included if client_api_key matches

Data Sources

  • Primary: Supabase tokens table (updated every 5 minutes)
  • Secondary: custom_evm_tokens table for client-specific additions

GET /leokit/v2/assets

Same data as /leokit/assets but in a compact gzipped binary format — ~170 KB on the wire vs ~3 MB JSON. Useful for mobile apps, embedded widgets, or any payload-sensitive client. The format is documented in detail at Assets v2 (Compact Binary), including the wire layout and a TypeScript decoder.
Both endpoints serve the same per-client filtered universe. Pick /leokit/v2/assets when payload size matters; pick /leokit/assets when you want full per-token JSON metadata (icons, coingecko_id, etc.).

POST /leokit/balances

Get wallet balances across multiple chains in a single request.

Request Body

Request Format: Array of wallet objects

Response

Status Code: 200 OK

Response Format

Each wallet object contains:

Token Balance Object

Each balance object contains:

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.10 are 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 tokens table

Example Use Cases

Building a Portfolio Dashboard

Token Selector with Prices