Transactions
Send Funds
Send cryptocurrency from a wallet asset to an external address or another account
POST
string
required
Bearer token:
Bearer YOUR_ACCESS_TOKENstring
Unique key to prevent duplicate transactions. Strongly recommended — if omitted, no deduplication is applied. Re-submit the same key to safely retry without double-spending. Keys expire after 24 hours.
string
required
The MongoDB ObjectId of the account that owns the source asset.
string
required
The MongoDB ObjectId of the asset (wallet) to send from. Returned when you list account assets.
string
required
The destination blockchain address. Must be a valid address on the target chain.
number
required
Amount to send, denominated in the token’s native units (e.g.
100 for 100 USDC).string
required
The asset ticker / short name of the token being sent (e.g.
"ETH", "USDC", "SOL"). Must match the asset record.string
required
The blockchain network (e.g.
"ethereum", "solana", "polygon"). Must match the asset’s chain.string
required
Transaction category for reporting and compliance. Common values:
"personal", "business", "payment", "auto-forward", "other".string
Gas / speed priority. One of:
"low", "medium", "high". Defaults to "medium".string
Optional human-readable note attached to the transaction.
boolean
When
true, gas fees are paid from the sending wallet’s own native token balance instead of a configured Gas Station. Only valid for native token assets (ETH, SOL, etc.). Defaults to false.Gas Funding
When sending token assets (USDC, USDT, etc.) the platform automatically funds native gas from a configured Gas Station. A 20% service markup on the gas cost is deducted from your withdrawal amount asgas_funding_markup.
Ensure
amount is large enough to cover platform_fee + gas_funding_markup. The API returns a 400 if the amount cannot cover total fees.Idempotency
Supply anIdempotency-Key header to enable safe retries. If the same key is submitted again for the same user, the original response is returned instead of creating a duplicate transaction. Without a key, no deduplication is applied.
Best practices:
- Derive the key from your internal record ID:
payout_${orderId} - Keys must be unique per operation — reusing a key for a different transfer returns the original transaction
- Keys expire after 24 hours

