Skip to main content
POST
Create sponsored transfer (quote)

Authorizations

X-API-Key
string
header
required

Headers

API-Version
enum<string>
default:v1

API version (defaults to the latest supported version if omitted).

Available options:
v1
Idempotency-Key
string
required

Unique key (1-255 printable ASCII chars) used to safely retry write operations. Same key + body returns the cached response; same key + different body returns 409.

Required string length: 1 - 255

Body

application/json
amount
string
required

Decimal amount in the asset's normal units (not base units). By default the recipient receives this amount; with treat_as_gross_amount, this is the sender's total debit.

Example:

"10.50"

asset
string
required

Token symbol to transfer (a supported stablecoin), e.g. USDC on Solana/EVM or USDT on Tron.

Example:

"USDC"

chain
string
required

Chain to transfer on: solana, ethereum, base, arbitrum, optimism, polygon, bsc, or tron.

Example:

"solana"

from
string
required

Sender address. This is your end-user's own address, which holds the token and signs the transfer (and, on Tron for a first-time sender, the one-time approval).

Example:

"7Np41oeYqPefeNQEHSv1UDhYrehxin3NStELsSKCT4K2"

to
string
required

Recipient address.

Example:

"3xTd...recipient"

network
string

Deprecated and ignored. The network follows the environment (live is mainnet, sandbox is testnet), so omit it. Any value sent is ignored, kept only for backward compatibility.

Example:

"mainnet"

partner_fee
object
router_version
integer

Optional EVM paymaster router contract version. Omit for the chain default. Rejected if not allowed for the chain.

Required range: x >= 1
Example:

2

treat_as_gross_amount
boolean

Treat amount as the sender's total debit and deduct sponsorship and partner fees from the recipient amount.

Response

Created

asset
string
chain
string
confirmations
integer
created_at
string
expires_at
string

RFC 3339 quote expiry; present while status is quoted. Sign and submit before this time.

failure_code
string

Machine-readable failure reason on a failed transfer, e.g. insufficient_token_balance, transfer_reverts, reverted.

failure_reason
string

Human-readable failure detail.

fee
object

Bitnob sponsorship fee, charged in the transferred token.

from
string
id
string

Transfer id; use it in the submit and get endpoints.

network
string
object
string

Object type discriminator; always "sponsored_transfer".

Example:

"sponsored_transfer"

partner_fee
object

Your markup breakdown; present only if you attached partner_fee on the quote.

recipient_amount
string

What the recipient receives (decimal).

Example:

"10.50"

router_version
integer

The resolved EVM router contract version the transfer was quoted against (absent for non-EVM).

sign
object

What the end-user must sign; present only while status is quoted.

status
string

Lifecycle status: quoted, validating, submitted, assembled (EVM only), tron_activating and tron_approving (Tron first-time onboarding), pending, completed, failed, expired, cancelled.

Example:

"quoted"

to
string
total_debit
string

What leaves the sender (decimal). In gross mode this equals amount; otherwise it equals recipient_amount + fee + partner_fee.

Example:

"10.72"

treat_as_gross_amount
boolean

Whether the request amount was treated as the sender's total debit.

tx_hash
string

On-chain transaction hash, set once broadcast.