Asset IDs
This page is generated from the service’s chain configuration. It is always in step with what the API actually accepts.
Every endpoint except /auth, /create and /addresses takes an assetId — the integer that selects which chain and which asset you are operating on. It resolves to a chain, a chain manager, and your wallet on that chain.
Send it as an integer (21) or an all-digit string ("21"); both normalise to the same value. A missing assetId returns 400 assetId is required, and an unrecognised one returns 400 Unknown assetId.
Supported assets
Chains
A chain is only live if the deployment you are calling is configured for it. If an address is missing from /addresses, that chain was not configured when the user was created — backfill it with /extend.
Network-dependent assets
51 (POLYGON USDT) and 61 (SOLANA USDT) have no testnet contract address. On a testnet deployment those assetIds do not exist, and requests for them return 400 Unknown assetId.
Decimals
You never send base units. Amounts are always human-decimal strings — "25.5", not 25500000. The service converts to base units using the decimals above.
Watch the one asymmetry: USDT and USDC use 18 decimals on BNB Chain and 6 decimals everywhere else. The service handles the conversion, so this only matters if you are also reading balances straight off-chain.