v1
latestOpenAPI 3.1.0Proprietary2026-07-2464170247.4 KBInitiate Withdrawal
Create a withdrawal to an external bank account.
Withdrawal Types:
- Withdraw to Self: Use external_account_id from the External Accounts API
- Send to Others: Use external_account_id from a Recipient's bank account
The system automatically detects whether the bank account belongs to the customer or a recipient based on the external_account_id.
If destination_address_id is an External Account ID, then the asset, network, and country_code here should remain consistent with the External Account ID.
Sandbox Simulation
In sandbox environments, you can simulate different withdrawal states by appending a suffix to the Idempotency-Key header:
| Suffix | Simulated State | Description |
|---|---|---|
| :FAILED | FAILED | Transaction failed |
| :PENDING | PENDING | Transaction is held for risk review |
Example:
- Normal: Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000
- Simulate failure: Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000:FAILED
- Simulate pending: Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000:PENDING
Important: When querying by idempotency_key, you must use the full key including the suffix. For example, if you created a withdrawal with 550e8400-e29b-41d4-a716-446655440000:FAILED, you must query with the same full key. Using only the UUID part will return 404 Not Found.
Note: Simulation suffixes are only available in sandbox environments and will be ignored in production.
Path parameters
Customer ID
Headers
UUID v4 for idempotent requests. In sandbox, append simulation suffix (e.g., :FAILED, :PENDING) to simulate different states.
Request body
Example request
{
"wallet_address": "0x71a6c6be0be5f28ef4ea7541749d90d9c66fec7d",
"external_account_id": "2e92e758-893e-11f0-b308-2eaa4f6974f2",
"amount": "200",
"asset": "USDC",
"network": "ETHEREUM",
"code": "in_swift_p0001",
"memorandum": "first transaction",
"mode": "prefunding",
"amount_type": "SEND_AMOUNT"
}Response
Example response
{
"wallet_address": "0x71a6c6be0be5f28ef4ea7541749d90d9c66fec7d",
"external_account_id": "2e92e758-893e-11f0-b308-2eaa4f6974f2",
"amount": "200",
"asset": "USDC",
"network": "ETHEREUM",
"code": "in_swift_p0001",
"memorandum": "first transaction",
"mode": "prefunding",
"amount_type": "SEND_AMOUNT",
"transaction_id": "c4e985bc-8b35-11f0-b308-2eaa4f6974f2",
"transaction_fee": {
"value": "10.55",
"asset": "USDC"
},
"platform_fee": {
"value": "10.55",
"asset": "USDC"
},
"partner_fee": {
"value": "10.55",
"asset": "USDC"
},
"created_at": "2025-08-21T07:56:57.981Z",
"modified_at": "2025-08-21T07:56:57.981Z",
"funder_pid": "14f20ebd-893b-11f0-b308-2eaa4f6974f2",
"funder_account_id": "BZ-A2C4-9XPN",
"recipient_id": "f77a8df1-a2b3-4c5d-9e8f-1234567890ab"
}