Skip to content

Asset catalog

GET /assets

Use this when you need searchable execution identities.

Useful query parameters:

  • q
  • asset_key — exact-match filter
  • verified
  • chain
  • limit
  • cursor

Persist asset_key, decimals, and verified locally to keep metadata in sync.

Asset discovery box (typeahead)

Use GET /assets?q= as the primary discovery flow for end-user asset search.

Recommended pattern:

  1. As the user types, call GET /assets?q=<input>&limit=<small_number>.
  2. Optionally narrow using verified=true and/or chain=<chain_id>.
  3. Render results with display_symbol, name, and asset_key.
  4. Store and submit asset_key on subsequent RFQ/zap requests.
  5. If users open a full picker or click "show more", continue with cursor.

Example request (typeahead):

curl "https://routes.srcry.xyz/v1/assets?q=usdc&limit=20&verified=true" \
  -H "Authorization: Bearer $ROUTES_API_KEY"

Example response (typeahead):

{
  "request_id": "req_01J...",
  "assets": [
    {
      "asset_key": "erc20.evm:1_0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
      "display_symbol": "usdc",
      "name": "USD Coin",
      "decimals": 6,
      "verified": true
    },
    {
      "asset_key": "spl.solana:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      "display_symbol": "usdc",
      "name": "USD Coin",
      "decimals": 6,
      "verified": true
    }
  ],
  "has_more": true,
  "next_cursor": "opaque"
}

Example response:

{
  "request_id": "req_01J...",
  "assets": [
    {
      "asset_key": "erc20.evm:1_0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
      "display_symbol": "usdc",
      "name": "USD Coin",
      "decimals": 6,
      "verified": true
    }
  ],
  "has_more": false,
  "next_cursor": null
}

GET /resolve

Use this when you have chain-native identity data and need canonical Routes asset identity.

Common query patterns:

  • EVM ERC-20: /resolve?kind=erc20&chain_id=1&address=0x...
  • Solana SPL: /resolve?kind=spl&mint=...

Example response:

{
  "request_id": "req_01J...",
  "asset": {
    "asset_key": "spl.solana:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "decimals": 6,
    "verified": true
  }
}