Withdraw Onchain
Withdrawals
Withdraw Onchain
Initiate an on-chain withdrawal from your Daya Pro stablecoin balance
POST
Withdraw Onchain
Overview
Initiates an account-level on-chain withdrawal to a raw destination. The request is accepted synchronously and the withdrawal continues asynchronously on-chain. Requires Trade scope.Requests are idempotent on
idempotency_key. Replaying the same key returns the original transaction without creating a duplicate withdrawal.Authentication
Your API key with Trade scope
Request Body
Caller-supplied unique key. Reuse on retry to avoid duplicate withdrawals.Example:
onchain-wd-2026-06-05-001Asset to withdraw. Asset symbols are normalized by Daya, so
usdt and USDT resolve to the same partner-facing asset when supported.Example: USDTWithdrawal amount as a decimal string.Example:
25.505555Canonical chain key from List Onchain Withdrawal Options.Example:
polygonDestination string for the selected blockchain. Daya forwards this value to the on-chain provider without Daya-side address-format validation, so provider-supported formats may be accepted and unsupported formats are rejected during initiation.Example:
0x1234567890abcdef1234567890abcdef12345678Request Example
Response
Daya transaction UUID. Store this as the primary Daya reference for reconciliation and support.
Initial withdrawal status. Most accepted withdrawals return as
processing.Values: pending, processing, completed, failedAccepted amount as a full-precision decimal string for the asset.
Canonical partner-facing asset symbol.
Withdrawal fee as a full-precision decimal string for the asset.
On-chain transaction hash when available from initiation. This may be omitted if the provider has not returned a hash yet.
Canonical chain key used for the withdrawal.
ISO 8601 timestamp when the withdrawal was accepted.
Error Responses
| Code | Meaning |
|---|---|
400 | Invalid asset, amount, blockchain, destination, or provider rejection during initiation |
401 | Missing or invalid API key |
402 | Insufficient balance |
403 | Missing Trade scope or account restricted |
409 | Same idempotency_key previously used with a different request body |
Notes on settlement
The response confirms the withdrawal was accepted for processing. It does not mean the recipient has received funds on-chain. Store thetransaction_id, idempotency_key, initial status, and transaction_hash when returned. Use transaction_hash for on-chain monitoring, and use transaction_id when reconciling the withdrawal with Daya support.
The public API does not expose a withdrawal-status endpoint or withdrawal-status webhook. For now, review withdrawal history and status in your Daya Pro account.