Send Withdrawals
Send digital assets from your WickiePay account to external blockchain addresses.
Withdrawal Flow
1. Create a withdrawal transaction request
2. (Optional) Approval required for high-value withdrawals
3. Transaction submitted to blockchain
4. Receive withdrawal status webhooks
5. Withdrawal confirmed and complete
Create Withdrawal Transaction
POST /api/v2/transaction-request
{
"assetPoolId": "your-pool-id",
"toAddress": "0xDESTINATION...ADDR",
"network": "ETHEREUM",
"asset": "USDC",
"amount": 5000.00,
"reference": "payout-001"
}
Response:
{
"id": "tx-request-uuid",
"status": "PENDING",
"assetPoolId": "your-pool-id",
"toAddress": "0xDESTINATION...ADDR",
"network": "ETHEREUM",
"asset": "USDC",
"amount": 5000.00,
"estimatedFee": 2.50
}
Receive Withdrawal Notifications
Set up webhooks for withdrawal events:
POST /api/v1/hook/destination
{
"url": "https://yourserver.com/webhooks/wickiepay",
"events": ["withdrawal.*"]
}
Webhook lifecycle:
withdrawal.status_change(status:PROCESSING) — Transaction submittedwithdrawal.status_change(status:COMPLETE) — Transaction confirmed
Configure Approvals for Withdrawals
For security, require multi-party approval for withdrawals above a threshold:
PUT /api/v1/approval-settings
{
"operationType": "WITHDRAWAL",
"requiredVotes": 2,
"threshold": 10000,
"approvers": ["user-uuid-1", "user-uuid-2", "user-uuid-3"]
}
This means any withdrawal above 10,000 requires 2 out of 3 approvers to vote.
Approve Withdrawals
When a withdrawal triggers approval, approvers receive an approval.vote_required webhook.
Via Portal
- Navigate to Approvals
- Review the pending withdrawal request
- Click Approve or Reject
Via API
POST /api/v1/approval-request/{id}/vote
{
"decision": "APPROVE",
"reason": "Verified recipient address"
}
Bulk Approve
POST /api/v1/approval-request/bulk-vote
{
"requestIds": ["uuid-1", "uuid-2", "uuid-3"],
"decision": "APPROVE"
}
Next Steps
- Add a Contact — Associate addresses with customer records
- Approvals API — Full approval API reference