Estimate a fee

View as MarkdownOpen in Claude
Estimates what a transfer between two addresses would cost. ⚠️ **This is the one endpoint that takes raw addresses instead of a `userId`.** It never touches the user's wallet, so pass `sender` and `recipient` explicitly. They must differ. The shape of `result` is family-specific: a decimal **string** in the chain's native currency for Bitcoin, the EVM chains and Solana; an **object of consumed resources** (`bandwidth`, plus `energy` for TRC20) on TRON. **On assets where transfers are covered for you, `result` is instead a decimal string denominated in the token being sent** — the fee the sender is charged, deducted in the same transfer. It may be `"0"` if transfers on that asset are free to the sender. Quote it before you confirm a transfer: the sender needs the amount **plus** this fee, or `/send` returns `402`. Depending on how your endpoint prices that fee it is either exact or an estimate, so read the figure `/send` returns as the amount actually charged. These are estimates — gas prices and Tron resource prices move between the estimate and the broadcast.

Authentication

AuthorizationBearer

A 15-minute token from /auth. Required on every endpoint except /auth.

Headers

X-Request-IdstringOptional

Correlation id. Generated if omitted, echoed on every response, and written to the audit log. /send is the exception — there it is required, and it doubles as the idempotency key.

Request

This endpoint expects an object.
assetIdenumRequired
Primary asset selector. An all-digit string (`"21"`) is accepted and normalised to an integer. - `1` — BITCOIN BTC (native, 8 decimals) - `2` — ETHEREUM ETH (native, 18 decimals) - `21` — ETHEREUM USDT (ERC20, 6 decimals) - `22` — ETHEREUM USDC (ERC20, 6 decimals) - `3` — BSC BNB (native, 18 decimals) - `31` — BSC USDT (BEP20, 18 decimals) - `32` — BSC USDC (BEP20, 18 decimals) - `4` — TRON TRX (native, 6 decimals) - `41` — TRON USDT (TRC20, 6 decimals) - `42` — TRON USDC (TRC20, 6 decimals) — not on every endpoint - `5` — POLYGON POL (native, 18 decimals) - `51` — POLYGON USDT (ERC20, 6 decimals) — not on every endpoint - `52` — POLYGON USDC (ERC20, 6 decimals) - `6` — SOLANA SOL (native, 9 decimals) - `61` — SOLANA USDT (SPL, 6 decimals) — not on every endpoint - `62` — SOLANA USDC (SPL, 6 decimals)
senderstringRequired

Raw source address — not a userId.

recipientstringRequired

Raw destination address. Must differ from sender.

Response

OK
resultstring or object

A decimal string in the chain’s native currency on Bitcoin, EVM and Solana; a resource object on TRON.

requestIdstring

Echo of the inbound X-Request-Id, or a generated one.

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
503
Service Unavailable Error