Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

GET /supported-assets

This endpoint returns a list of all tokens that can be used as source or destination assets when requesting quotes. Each asset includes chain information, contract address, symbol, decimals, and whether it's an M0 protocol extension.

TypeScript Types: Generate types for this API with a single command. See Type Generation.

API Reference: For detailed schema definitions and interactive testing, see the API Reference.

Request

Endpoint

GET /supported-assets

Headers

x-api-key: YOUR_API_KEY

Parameters

This endpoint accepts no parameters.

Response

Success Response (200)

Returns an array of Asset objects.

// Using generated types (see type generation)
import type { components } from './m0-swap';
 
type Asset = components['schemas']['Asset'];
type Chain = components['schemas']['Chain'];
type ChainRuntime = components['schemas']['ChainRuntime'];

Asset Fields

FieldTypeDescription
chainChainThe blockchain network where this asset exists
runtimeChainRuntimeThe chain's runtime environment (evm or svm)
addressstringToken contract address
iconstringURL to the token's icon image
decimalsnumberNumber of decimal places for the token
symbolstringToken ticker symbol (e.g., "M", "USDC")
namestringFull token name
m0ExtensionbooleanWhether this token is an M protocol extension

Example Request

import type { components } from './m0-swap';
 
type Asset = components['schemas']['Asset'];
 
const response = await fetch('https://gateway.m0.xyz/v1/orchestration/supported-assets', {
  headers: {
    'x-api-key': YOUR_API_KEY,
  },
});
const assets: Asset[] = await response.json();

Example Response

[
  {
    "chain": "Ethereum",
    "runtime": "evm",
    "address": "0x866A2BF4E572CbcF37D5071A7a58503Bfb36be1b",
    "icon": "https://example.com/m-token.png",
    "decimals": 6,
    "symbol": "M",
    "name": "M Token",
    "m0Extension": true
  },
  {
    "chain": "Ethereum",
    "runtime": "evm",
    "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
    "icon": "https://example.com/usdc.png",
    "decimals": 6,
    "symbol": "USDC",
    "name": "USD Coin",
    "m0Extension": false
  },
  {
    "chain": "Solana",
    "runtime": "svm",
    "address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "icon": "https://example.com/usdc.png",
    "decimals": 6,
    "symbol": "USDC",
    "name": "USD Coin",
    "m0Extension": false
  },
  {
    "chain": "Base",
    "runtime": "evm",
    "address": "0x866A2BF4E572CbcF37D5071A7a58503Bfb36be1b",
    "icon": "https://example.com/m-token.png",
    "decimals": 6,
    "symbol": "M",
    "name": "M Token",
    "m0Extension": true
  }
]

Notes

  • Assets may appear on multiple chains with the same symbol but different addresses
  • The runtime field helps determine which wallet type is needed (EVM wallet vs Solana wallet)
  • Use the decimals field to properly format amounts when displaying to users or constructing quote requests
  • The m0Extension field identifies tokens that are part of the M protocol ecosystem