Blockchain addresses & withdrawals
Issue a blockchain deposit address
POST
/crypto/addressesScope
crypto:writeAuth Bearer keyIdempotentReturns the permanent BoundlessPay-custodied address for an asset/network pair, creating it on first use. Calling it again returns the same address.
Headers
Idempotency-KeystringrequiredRetrying with the same key and payload replays the original response.
Request body
json
{
"asset": "USDC",
"network": "BASE"
}Responses
201Deposit address
json
{
"id": "cad_0f31a7c9d2b4",
"object": "crypto_address",
"asset": "USDC",
"network": "BASE",
"address": "0x41C7Ab90e5D2f83B6a17c04E9b25Df3810aC6E72",
"memo": null,
"status": "active",
"livemode": true,
"created_at": "2026-08-12T08:41:03.220Z"
}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/addresses" \
-H "Authorization: Bearer $BOUNDLESS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{ "asset": "USDC", "network": "BASE" }'