Three separate balances
Your embedded TRON wallet holds USDT and TRX on chain. Your card account holds spendable USD credit for issuing and funding cards. Each card has its own balance. Moving funds into the card account does not automatically top up a card. The wallet signs locally. Plane does not hold its private key. Keep its encrypted backup and wallet password; both are required to restore it. TRX pays activation and network fees. Sandbox wallets use Nile testnet and never share keys or funds with mainnet.Card account fee
A 1.5% fee is deducted from the deposit. A 100 USD deposit credits 98.50 USD to the card account. The issuer accepts whole-dollar invoice requests, starting at 10 USD or its higher current minimum. The quote endpoint enforces the actual minimum. The issuer may return a unique fractional USDT amount. Send the exactpayAmount shown in the invoice, without rounding. The final invoice shows that amount before you authorize the transfer. Network fees are paid separately in TRX.
Create and pay an invoice
All API keys, including sandbox keys, require approved verification. Usefunding:write for quotes and creation, and balance:read for invoice status.
- Call
POST /api/v1/card-account/quotewith{ "amount": "100.00" }. - Review
depositAmount,feeandcreditAmount. - Call
POST /api/v1/card-account/invoiceswith the same amount and a persistentIdempotency-Key. - Pay the exact USDT
payAmounttoaddresson TRON, beforeexpiresAt. - Poll
GET /api/v1/card-account/invoices/{id}or consumefunding.completed.
Retry and expiry
One unresolved invoice is allowed per workspace and environment. Retrying the same idempotency key returns the same intent. A timeout during invoice creation moves it tomanual_review; do not create another invoice or send money without a confirmed payment address. The server never repeats an ambiguous invoice creation automatically.
Do not pay an expired invoice. If the payment or network result is unknown, check its existing transaction and invoice instead of sending again. Contact support for a payment that requires review.
Sandbox
Use the same invoice and quote flow with a sandbox key.POST /api/v1/sandbox/invoices/{id}/complete simulates confirmed payment and credits the invoice once. No real transfer is required. The console supports this before verification; API use still requires verification.
The legacy funding/address TON endpoint is retired. Use card-account invoices for new deposits.