Discover what you can move
Lists the chains and tokens available to move between, flagging anything unavailable with a reason code; token lists are paginated, chains are not.
Anchor all four of originChainId/originToken/destinationChainId/destinationToken to get fundingMethods and amountTypes — availability means selectable, not priceable, and POST /v1/quotes is the binding check.
Authorization
bearerAuth API key for authentication.
In: header
Query Parameters
Sub-collections to include. Defaults to [chains, tokens].
1 <= valueToken address or symbol. Requires originChainId — the same symbol exists on many chains.
1 <= valueToken address or symbol. Requires destinationChainId — the same symbol exists on many chains.
Restrict each side's token list to tokens available from the opposite anchor. Filters on the available flag exactly, so it also drops a row that is reachable but carries no_price_feed — see available for the full predicate.
Free-text match on token symbol, name, or address.
The funding methods your client can execute. Read as any-of -- listing approval,permit2 means either works, not that both are required.
Tokens you cannot fund come back available: false with unsupported_funding_method, so you never surface a route you have no way to execute. Omit it to narrow nothing.
One address per namespace; used to resolve indicative wallet balances.
Page size per token side. Values above 100 are rejected.
101 <= value <= 100Opaque cursor from pagination.origin.nextCursor, to page through the origin token list.
If the underlying set changes between pages the request fails with 409 conflict.cursor_expired -- start again from the first page.
Opaque cursor from pagination.destination.nextCursor, to page through the destination token list.
If the underlying set changes between pages the request fails with 409 conflict.cursor_expired -- start again from the first page.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://api.staging.across.to/v1/capabilities?include=chains&include=tokens&originChainId=42161&originToken=0xaf88d065e77c8cC2239327C5EDb3A432268e5831&destinationChainId=8453&destinationToken=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&limit=5"{
"meta": {
"versionedAt": "2026-08-18T21:53:03.477Z",
"catalogSource": "live",
"balances": "not_requested"
},
"originTokens": [
{
"chainId": 42161,
"address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6,
"logoUrl": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png",
"priceUsd": 0.999736,
"popular": true,
"available": true,
"unavailableReasons": [],
"fundingMethods": [
"erc3009",
"permit2",
"approval"
],
"verified": true
}
],
"destinationTokens": [
{
"chainId": 8453,
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6,
"logoUrl": "https://ethereum-optimism.github.io/data/USDC/logo.png",
"priceUsd": 0.999736,
"popular": true,
"available": true,
"unavailableReasons": [],
"fundingMethods": [
"erc3009",
"permit2",
"approval"
],
"verified": true
}
],
"pagination": {
"origin": {
"total": 1
},
"destination": {
"total": 1
}
},
"chains": [
{
"chainId": 1,
"name": "mainnet",
"displayName": "Mainnet",
"namespace": "evm",
"explorerUrl": "https://etherscan.io",
"logoUrl": "https://alexandria.across.to/assets/chains/mainnet.svg",
"nativeToken": {
"symbol": "ETH",
"decimals": 18
},
"publicRpcUrl": "https://eth.llamarpc.com",
"popular": true,
"canBeOrigin": true,
"canBeDestination": true
},
{
"chainId": 8453,
"name": "base",
"displayName": "Base",
"namespace": "evm",
"explorerUrl": "https://basescan.org",
"logoUrl": "https://alexandria.across.to/assets/chains/base.svg",
"nativeToken": {
"symbol": "ETH",
"decimals": 18
},
"publicRpcUrl": "https://mainnet.base.org",
"popular": true,
"canBeOrigin": true,
"canBeDestination": true
},
{
"chainId": 130,
"name": "unichain",
"displayName": "Unichain",
"namespace": "evm",
"explorerUrl": "https://uniscan.xyz",
"logoUrl": "https://alexandria.across.to/assets/chains/unichain.svg",
"nativeToken": {
"symbol": "ETH",
"decimals": 18
},
"publicRpcUrl": "https://mainnet.unichain.org/",
"popular": true,
"canBeOrigin": true,
"canBeDestination": true
},
{
"chainId": 42161,
"name": "arbitrum-one",
"displayName": "Arbitrum One",
"namespace": "evm",
"explorerUrl": "https://arbiscan.io",
"logoUrl": "https://alexandria.across.to/assets/chains/arbitrum.svg",
"nativeToken": {
"symbol": "ETH",
"decimals": 18
},
"publicRpcUrl": "https://arb1.arbitrum.io/rpc",
"popular": true,
"canBeOrigin": true,
"canBeDestination": true
},
{
"chainId": 43114,
"name": "avalanche",
"displayName": "Avalanche",
"namespace": "evm",
"explorerUrl": "https://snowscan.xyz",
"logoUrl": "https://alexandria.across.to/assets/chains/avalanche.svg",
"nativeToken": {
"symbol": "AVAX",
"decimals": 18
},
"publicRpcUrl": "https://api.avax.network/ext/bc/C/rpc",
"popular": false,
"canBeOrigin": true,
"canBeDestination": true
},
{
"chainId": 56,
"name": "bnb-smart-chain",
"displayName": "BNB Smart Chain",
"namespace": "evm",
"explorerUrl": "https://bscscan.com",
"logoUrl": "https://alexandria.across.to/assets/chains/bsc.svg",
"nativeToken": {
"symbol": "BNB",
"decimals": 18
},
"publicRpcUrl": "https://bsc-dataseed1.binance.org",
"popular": false,
"canBeOrigin": true,
"canBeDestination": true
},
{
"chainId": 1337,
"name": "hypercore",
"displayName": "HyperCore",
"namespace": "evm",
"explorerUrl": "https://app.hyperliquid.xyz/explorer",
"logoUrl": "https://alexandria.across.to/assets/chains/hypercore.svg",
"nativeToken": {
"symbol": "HYPE",
"decimals": 18
},
"publicRpcUrl": "https://api.hyperliquid.xyz",
"popular": false,
"canBeOrigin": true,
"canBeDestination": true
},
{
"chainId": 999,
"name": "hyperevm",
"displayName": "HyperEVM",
"namespace": "evm",
"explorerUrl": "https://hyperevmscan.io/",
"logoUrl": "https://alexandria.across.to/assets/chains/hyperevm.svg",
"nativeToken": {
"symbol": "HYPE",
"decimals": 18
},
"publicRpcUrl": "https://rpc.hyperliquid.xyz/evm",
"popular": false,
"canBeOrigin": true,
"canBeDestination": true
},
{
"chainId": 57073,
"name": "ink",
"displayName": "Ink",
"namespace": "evm",
"explorerUrl": "https://explorer.inkonchain.com",
"logoUrl": "https://alexandria.across.to/assets/chains/ink.svg",
"nativeToken": {
"symbol": "ETH",
"decimals": 18
},
"publicRpcUrl": "https://rpc-gel.inkonchain.com",
"popular": false,
"canBeOrigin": true,
"canBeDestination": true
},
{
"chainId": 2337,
"name": "lighter",
"displayName": "Lighter",
"namespace": "evm",
"explorerUrl": "https://app.lighter.xyz/explorer",
"logoUrl": "https://alexandria.across.to/assets/chains/lighter.svg",
"nativeToken": {
"symbol": "LIT",
"decimals": 18
},
"publicRpcUrl": "https://mainnet.zklighter.elliot.ai",
"popular": false,
"canBeOrigin": false,
"canBeDestination": true
},
{
"chainId": 59144,
"name": "linea",
"displayName": "Linea",
"namespace": "evm",
"explorerUrl": "https://lineascan.build",
"logoUrl": "https://alexandria.across.to/assets/chains/linea.svg",
"nativeToken": {
"symbol": "ETH",
"decimals": 18
},
"publicRpcUrl": "https://rpc.linea.build",
"popular": false,
"canBeOrigin": true,
"canBeDestination": true
},
{
"chainId": 4326,
"name": "megaeth",
"displayName": "MegaETH",
"namespace": "evm",
"explorerUrl": "https://megaeth.blockscout.com",
"logoUrl": "https://alexandria.across.to/assets/chains/megaeth.svg",
"nativeToken": {
"symbol": "ETH",
"decimals": 18
},
"publicRpcUrl": "https://mainnet.megaeth.com/rpc",
"popular": false,
"canBeOrigin": true,
"canBeDestination": true
},
{
"chainId": 143,
"name": "monad",
"displayName": "Monad",
"namespace": "evm",
"explorerUrl": "https://monadvision.com",
"logoUrl": "https://alexandria.across.to/assets/chains/monad.svg",
"nativeToken": {
"symbol": "MON",
"decimals": 18
},
"publicRpcUrl": "https://rpc-mainnet.monadinfra.com",
"popular": false,
"canBeOrigin": true,
"canBeDestination": true
},
{
"chainId": 10,
"name": "optimism",
"displayName": "Optimism",
"namespace": "evm",
"explorerUrl": "https://optimistic.etherscan.io",
"logoUrl": "https://alexandria.across.to/assets/chains/optimism.svg",
"nativeToken": {
"symbol": "ETH",
"decimals": 18
},
"publicRpcUrl": "https://mainnet.optimism.io",
"popular": false,
"canBeOrigin": true,
"canBeDestination": true
},
{
"chainId": 9745,
"name": "plasma",
"displayName": "Plasma",
"namespace": "evm",
"explorerUrl": "https://plasmascan.to",
"logoUrl": "https://alexandria.across.to/assets/chains/plasma.svg",
"nativeToken": {
"symbol": "XPL",
"decimals": 18
},
"publicRpcUrl": "https://rpc.plasma.to",
"popular": false,
"canBeOrigin": true,
"canBeDestination": true
},
{
"chainId": 137,
"name": "polygon",
"displayName": "Polygon",
"namespace": "evm",
"explorerUrl": "https://polygonscan.com",
"logoUrl": "https://alexandria.across.to/assets/chains/polygon.svg",
"nativeToken": {
"symbol": "POL",
"decimals": 18
},
"publicRpcUrl": "https://polygon-rpc.com",
"popular": false,
"canBeOrigin": true,
"canBeDestination": true
},
{
"chainId": 4663,
"name": "robinhood",
"displayName": "Robinhood",
"namespace": "evm",
"explorerUrl": "https://robinhoodchain.blockscout.com",
"logoUrl": "https://alexandria.across.to/assets/chains/robinhood.svg",
"nativeToken": {
"symbol": "ETH",
"decimals": 18
},
"publicRpcUrl": "https://rpc.mainnet.chain.robinhood.com",
"popular": false,
"canBeOrigin": true,
"canBeDestination": true
},
{
"chainId": 4217,
"name": "tempo",
"displayName": "Tempo",
"namespace": "evm",
"explorerUrl": "https://explore.mainnet.tempo.xyz",
"logoUrl": "https://alexandria.across.to/assets/chains/tempo.svg",
"nativeToken": {
"symbol": "pathUSD",
"decimals": 6
},
"publicRpcUrl": "https://rpc.tempo.xyz",
"popular": false,
"canBeOrigin": true,
"canBeDestination": true
},
{
"chainId": 728126428,
"name": "tron",
"displayName": "TRON",
"namespace": "tron",
"explorerUrl": "https://tronscan.org",
"logoUrl": "https://alexandria.across.to/assets/chains/tron.svg",
"nativeToken": {
"symbol": "TRX",
"decimals": 6
},
"publicRpcUrl": "https://api.trongrid.io/jsonrpc",
"popular": false,
"canBeOrigin": true,
"canBeDestination": true
},
{
"chainId": 480,
"name": "world-chain",
"displayName": "World Chain",
"namespace": "evm",
"explorerUrl": "https://worldchain-mainnet-explorer.alchemy.com",
"logoUrl": "https://alexandria.across.to/assets/chains/world-chain.svg",
"nativeToken": {
"symbol": "ETH",
"decimals": 18
},
"publicRpcUrl": "https://worldchain-mainnet.g.alchemy.com/public",
"popular": false,
"canBeOrigin": true,
"canBeDestination": true
}
],
"capabilities": {
"fundingMethods": [
"erc3009",
"permit2",
"approval"
],
"amountTypes": [
"exact_input",
"exact_output",
"min_output"
],
"limits": {
"max": {
"token": "10000000000000",
"usd": 9999350
},
"validUntil": "2026-08-18T21:57:03.477Z"
}
}
}{
"error": {
"type": "request",
"code": "request.invalid_param",
"message": "limit must be an integer between 1 and 100",
"param": "limit",
"requestId": "6ovgro9uc2nqktp2uurgto7ino"
}
}{
"code": "unauthenticated",
"message": "the request does not have valid authentication credentials for the operation",
"details": null
}{
"code": "unauthenticated",
"message": "the request does not have valid authentication credentials for the operation",
"details": {}
}{
"error": {
"type": "request",
"code": "request.invalid_json",
"message": "string",
"param": "string",
"requestId": "string",
"details": {
"balanceCheck": {
"chainId": 0,
"token": "string",
"requiredAmount": "string",
"observedBalance": "string",
"blockNumber": 0,
"observedAt": "2019-08-24T14:15:22Z"
}
}
}
}API Reference
One API for moving money across chains.
Price a transfer POST
Prices one transfer and returns everything needed to execute it: `destination.amount` (expected) alongside `destination.minimumAmount` (the guaranteed floor), an itemised fee breakdown, `expiresAt`, and every action to sign or send. A quote is an offer, not a commitment, but approval-funded quotes escrow on-chain via `store()` before you submit. `quoteId` is also the id you track the transfer by.