curl 'https://api.serialized.xyz/v1/asset?chain=evm:8453&address=0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf' -H 'Authorization: YOUR_API_KEY'
{
"data": {
"id": "btc",
"name": "Bitcoin",
"symbol": "BTC",
"category": "coin",
"currency": null,
"underlying": null,
"logo": "https://cdn.serialized.xyz/dex/coin-btc.1eb4e75d.png",
"variants": [
{
"id": "wbtc",
"name": "Wrapped Bitcoin",
"symbol": "WBTC",
"issuer": "BitGo"
},
{
"id": "cbbtc",
"name": "Coinbase Wrapped BTC",
"symbol": "cbBTC",
"issuer": "Coinbase"
}
],
"tokens": [
{
"chain": "evm:1",
"address": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
"symbol": "WBTC",
"name": "Wrapped BTC",
"decimals": 8,
"kind": "wrapped",
"variant": "wbtc"
},
{
"chain": "evm:8453",
"address": "0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf",
"symbol": "cbBTC",
"name": "Coinbase Wrapped BTC",
"decimals": 8,
"kind": "wrapped",
"variant": "cbbtc"
},
{
"chain": "evm:1",
"address": "0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf",
"symbol": "cbBTC",
"name": "Coinbase Wrapped BTC",
"decimals": 8,
"kind": "wrapped",
"variant": "cbbtc"
},
{
"chain": "evm:42161",
"address": "0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf",
"symbol": "cbBTC",
"name": "Coinbase Wrapped BTC",
"decimals": 8,
"kind": "wrapped",
"variant": "cbbtc"
}
]
},
"meta": {
"asOf": 1792252800000,
"version": "ab6354b7b6f7"
}
}
Asset
Asset
One asset and all its tokens across chains, by id or by any of its tokens, optionally one product of it (variant). POST twin for batches (≤100, 1 credit per 25 items).
GET
/
v1
/
asset
curl 'https://api.serialized.xyz/v1/asset?chain=evm:8453&address=0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf' -H 'Authorization: YOUR_API_KEY'
{
"data": {
"id": "btc",
"name": "Bitcoin",
"symbol": "BTC",
"category": "coin",
"currency": null,
"underlying": null,
"logo": "https://cdn.serialized.xyz/dex/coin-btc.1eb4e75d.png",
"variants": [
{
"id": "wbtc",
"name": "Wrapped Bitcoin",
"symbol": "WBTC",
"issuer": "BitGo"
},
{
"id": "cbbtc",
"name": "Coinbase Wrapped BTC",
"symbol": "cbBTC",
"issuer": "Coinbase"
}
],
"tokens": [
{
"chain": "evm:1",
"address": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
"symbol": "WBTC",
"name": "Wrapped BTC",
"decimals": 8,
"kind": "wrapped",
"variant": "wbtc"
},
{
"chain": "evm:8453",
"address": "0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf",
"symbol": "cbBTC",
"name": "Coinbase Wrapped BTC",
"decimals": 8,
"kind": "wrapped",
"variant": "cbbtc"
},
{
"chain": "evm:1",
"address": "0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf",
"symbol": "cbBTC",
"name": "Coinbase Wrapped BTC",
"decimals": 8,
"kind": "wrapped",
"variant": "cbbtc"
},
{
"chain": "evm:42161",
"address": "0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf",
"symbol": "cbBTC",
"name": "Coinbase Wrapped BTC",
"decimals": 8,
"kind": "wrapped",
"variant": "cbbtc"
}
]
},
"meta": {
"asOf": 1792252800000,
"version": "ab6354b7b6f7"
}
}
GET /v1/asset · 1 credit
One asset and all its tokens across chains: BTC with WBTC, cbBTC and BTCB, ETH with the native coin of every chain and its WETH, USDC with its bridged copies. Look it up by id, or by chain and address of any of its tokens, and add variant to keep one product of it. POST twin on the same path for batches (≤100, billed as one call per 25 items served).
Every token of an asset is worth one unit of the asset, so balances can be summed as is.
kind says how: native (the asset itself: a chain’s native coin or the issuer’s own contract), wrapped (a 1:1 wrapper: WETH, WBTC, cbBTC), bridged (a 1:1 copy moved by a bridge: USDC.e, USDbC, Binance-Peg ETH).Staked and yield-bearing versions (stETH, wstETH, LBTC, jitoSOL, sUSDe) are never inside the asset they stake, since their value drifts from it: each is its own asset with
category: "staked" and underlying set to that asset’s id. List them with GET /v1/assets?underlying=eth.variants lists the products inside an asset (WBTC by BitGo, cbBTC by Coinbase, BTCB by Binance), each token names its variant. An asset holds tokens on our supported chains only.variant (an id from variants) keeps the tokens of that product only, on every chain: ?id=btc&variant=wbtc lists every WBTC, ?id=usdt&variant=usdt0 every USDT0; variants then holds that product alone. It works from a token too (?chain=evm:8453&address=…&variant=cbbtc). A variant id is not an asset id (?id=wbtc answers 404), and a variant the asset does not have answers 404 NOT_FOUND with the asset’s variants in the message.On Arc and Stable, the chain’s native coin and its ERC-20 contract are the same balance seen twice (
0x0000…0000 and 0x3600…0000 for USDC on Arc, 0x0000…0000 and 0x779d…3736 for USDT0 on Stable): both map to the asset, count only one of them.A token that no asset groups answers
404 NOT_FOUND. Prices are per token: POST /v1/token/price.curl 'https://api.serialized.xyz/v1/asset?chain=evm:8453&address=0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf' -H 'Authorization: YOUR_API_KEY'
{
"data": {
"id": "btc",
"name": "Bitcoin",
"symbol": "BTC",
"category": "coin",
"currency": null,
"underlying": null,
"logo": "https://cdn.serialized.xyz/dex/coin-btc.1eb4e75d.png",
"variants": [
{
"id": "wbtc",
"name": "Wrapped Bitcoin",
"symbol": "WBTC",
"issuer": "BitGo"
},
{
"id": "cbbtc",
"name": "Coinbase Wrapped BTC",
"symbol": "cbBTC",
"issuer": "Coinbase"
}
],
"tokens": [
{
"chain": "evm:1",
"address": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
"symbol": "WBTC",
"name": "Wrapped BTC",
"decimals": 8,
"kind": "wrapped",
"variant": "wbtc"
},
{
"chain": "evm:8453",
"address": "0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf",
"symbol": "cbBTC",
"name": "Coinbase Wrapped BTC",
"decimals": 8,
"kind": "wrapped",
"variant": "cbbtc"
},
{
"chain": "evm:1",
"address": "0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf",
"symbol": "cbBTC",
"name": "Coinbase Wrapped BTC",
"decimals": 8,
"kind": "wrapped",
"variant": "cbbtc"
},
{
"chain": "evm:42161",
"address": "0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf",
"symbol": "cbBTC",
"name": "Coinbase Wrapped BTC",
"decimals": 8,
"kind": "wrapped",
"variant": "cbbtc"
}
]
},
"meta": {
"asOf": 1792252800000,
"version": "ab6354b7b6f7"
}
}
Authorizations
Your raw API key (not needed on the demo server).
Query Parameters
Asset id, as listed by GET /v1/assets. Either id, or chain and address.
Public chain id of one of the asset's tokens (with address).
Any token of the asset on chain: 0x0000000000000000000000000000000000000000 (or 0xeeee…eeee) is the chain's native coin.
Keep the tokens of one product of the asset only, an id from its variants (wbtc in btc, usdt0 in usdt). A variant id alone is not an asset id.
Response
200
Standard { data, meta } envelope.