Skip to main content

Specifying a Token

A token in the API is always identified by two fields together: a chain and a token_id. Both are required in every quote and swap request.
  • chain — for Bitcoin variants this is a named string ("Lightning", "Arkade", "Bitcoin"); for EVM tokens it’s the chain ID as a string ("1" for Ethereum, "137" for Polygon, "42161" for Arbitrum).
  • token_id — for Bitcoin variants this is always the literal string "btc"; for EVM tokens it’s the ERC-20 contract address.
The SDK provides convenience constants under Asset that bundle both fields:
Use Asset objects directly with client.createSwap({ source, target, ... }). For client.getQuote(...) pass the four fields separately (see example below).

Supported Tokens

Bitcoin

For all three BTC variants token_id is always "btc". The chain distinguishes the variant.

EVM Chains (HTLC + CCTP source/destination)

For EVM tokens, chain is the chain ID as a string and token_id is the ERC-20 contract address. Common token contract addresses on these chains: Any other ERC-20 on these three chains is also supported via DEX aggregation — see Dynamic EVM Tokens below.

Example: Specifying tokens in a request

Quote (uses the four explicit fields):
Create swap (idiomatic with Asset):

Bridge-Only Chains

Satora bridges to the target chain via two protocols depending on the target token: The SDK auto-detects which protocol to use based on the target token address — match against the known USDT0 deployments routes through LayerZero, otherwise CCTP is used.

USDC Bridge Chains (via CCTP)

Swap BTC to USDC on any of these chains.

USDT Bridge Chains (via LayerZero USDT0)

Swap BTC to USDT on any of these chains.

Dynamic EVM Tokens

Satora Swaps supports a changing list of tokens on Polygon, Ethereum, and Arbitrum via DEX aggregation. Any ERC-20 token available on a DEX is usable as a source or target for swaps. Retrieve all available tokens:

Available Swap Directions

BTC → EVM

EVM → BTC

BTC ↔ BTC

Gasless claiming on all EVM chains - Satora covers gas fees on Polygon, Ethereum, and Arbitrum via EIP-712 signature-based claiming. A small gas fee is deducted from the swap amount depending on network conditions. Alternatively, you can claim manually with your own wallet and pay gas yourself.