Blockchain addresses & withdrawals
Send an on-chain withdrawal
POST
/crypto/withdrawalsScope
crypto:writeAuth Bearer keyIdempotentDebits your balance once and settles on-chain. The destination is validated against the asset's allowed networks and your per-currency limits before anything moves.
Headers
Idempotency-KeystringrequiredRetrying with the same key and payload replays the original response.
Request body
json
{
"asset": "USDT",
"network": "BASE",
"address": "0x8Ae2C1b7F0d94E31aA5c60b17E9C4d3f0821b7A5",
"amount": "1250.50",
"narration": "Treasury sweep"
}Responses
201Withdrawal
json
{
"id": "WD-3B90D5F1",
"object": "payout",
"status": "processing",
"reference": "WD-3B90D5F1",
"rail": "crypto",
"currency": "USDT",
"amount": "1250.50",
"fee": "1.00",
"destination": {
"address": "0x8Ae2C1b7F0d94E31aA5c60b17E9C4d3f0821b7A5",
"network": "BASE"
},
"narration": "Treasury sweep",
"failure_reason": null,
"livemode": true,
"created_at": "2026-08-30T10:20:44.118Z",
"updated_at": "2026-08-30T10:20:47.501Z"
}Errors
Errors use RFC 9457 problem details. Branch on code, and log request_id.
400Bad request401Unauthenticated403Forbidden409Idempotency conflict422Validation error429Rate limitedcURL
curl -X POST "https://business.boundlesspay.com/api/public/v1/crypto/withdrawals" \
-H "Authorization: Bearer $BOUNDLESS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{ "asset": "USDT", "network": "BASE", "address": "0x8Ae2C1b7F0d94E31aA5c60b17E9C4d3f0821b7A5", "amount": "1250.50", "narration": "Treasury sweep" }'