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-assetsHeaders
x-api-key: YOUR_API_KEYParameters
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
| Field | Type | Description |
|---|---|---|
chain | Chain | The blockchain network where this asset exists |
runtime | ChainRuntime | The chain's runtime environment (evm or svm) |
address | string | Token contract address |
icon | string | URL to the token's icon image |
decimals | number | Number of decimal places for the token |
symbol | string | Token ticker symbol (e.g., "M", "USDC") |
name | string | Full token name |
m0Extension | boolean | Whether 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
runtimefield helps determine which wallet type is needed (EVM wallet vs Solana wallet) - Use the
decimalsfield to properly format amounts when displaying to users or constructing quote requests - The
m0Extensionfield identifies tokens that are part of the M protocol ecosystem

