Skip to Content
AssetsGet assets

Get assets

GET/v3/assets

Description

Get a list of all the assets available independently of if they are exchangeable or not.
Please use the GET/v3/pairs endpoint to make sure what’s exchangeable.

How to map an assetId with your assets

We try to have common ticker symbols like BTC for the assetId, however because our ids are unique and many assets have the same ticker in different networks (think of USDC in Ethereum or Solana) we need unique ids that can work across all networks.

The easiest way to map assets or just find the asset you need is by checking its contract address or any other network identification.

For example, if you want USDC for Solana, here is something you can do:

// You don't need to add filters, but it will help with faster network speeds
// and avoid pagination if your query is the ticker, the results are sorted by market cap.
const assets = await fetch(
  `https://exchange.exodus.io/v3/assets?networks=solana&query=USDC`,
).then((res) => res.json());
 
// USDC main address for Solana based on
// https://solscan.io/token/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
const solanaUsdc = assets.find(
  (asset) =>
    asset.meta.mintAddress === "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
);

The GET/v3/assets endpoint is one of the few endpoints that doesn’t have any geolocation restrictions, so you can safetly query this from another service and get a map between your assets in a completely asyncronous way.

Header Parameters

NameDescriptionRequired
App-NameApp-Name for the authorizationyes
App-VersionApp-Version for the authorizationno
ForwardedIf you are proxying requests to the API, you must include the "Forwarded" header with the original request IP address. This is used for geolocation availability purposes.no

Query Parameters

NameDescriptionRequiredOptions
networksList of networks. Check the available networks.no
querySearch for assets by the contract address or ticker.no
pageUsed for paginationno
limitUsed for paginationno
formatChange the response type to optimize the network transfer size.nojson, csv

Examples

Get all assets from ethereum

REQUEST
GET /v3/assets?networks=ethereum
RESPONSE
[
  {
    "id": "ETH",
    "name": "Ethereum",
    "symbol": "ETH",
    "decimals": 18,
    "network": "ethereum"
  },
  {
    "id": "USDT",
    "name": "Tether",
    "symbol": "USDT",
    "decimals": 6,
    "network": "ethereum"
  },
  ...
]

Get assets in csv format

REQUEST
GET /v3/assets?networks=bitcoin,ethereum&format=csv
RESPONSE
BTC,ETH,USDT,USDC,...
Last updated on