Skip to main content
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.
Trade-scoped API keys authorize fund movement. Keep these keys server-side and restrict access to systems that are allowed to initiate withdrawals from the account.
Requests are idempotent on idempotency_key. Replaying the same key returns the original transaction without creating a duplicate withdrawal.
This endpoint does not manage saved withdrawal addresses. Pass the destination directly in to_address for each request.

Authentication

string
required
Your API key with Trade scope

Request Body

string
required
Caller-supplied unique key. Reuse on retry to avoid duplicate withdrawals.Example: onchain-wd-2026-06-05-001
string
required
Asset to withdraw. Asset symbols are normalized by Daya, so usdt and USDT resolve to the same partner-facing asset when supported.Example: USDT
string
required
Withdrawal amount as a decimal string.Example: 25.505555
string
required
Canonical chain key from List Onchain Withdrawal Options.Example: polygon
string
required
Destination 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: 0x1234567890abcdef1234567890abcdef12345678

Request Example

Response

string
required
Daya transaction UUID. Store this as the primary Daya reference for reconciliation and support.
string
required
Initial withdrawal status. Most accepted withdrawals return as processing.Values: pending, processing, completed, failed
string
required
Accepted amount as a full-precision decimal string for the asset.
string
required
Canonical partner-facing asset symbol.
string
required
Withdrawal fee as a full-precision decimal string for the asset.
string
On-chain transaction hash when available from initiation. This may be omitted if the provider has not returned a hash yet.
string
Canonical chain key used for the withdrawal.
string
required
ISO 8601 timestamp when the withdrawal was accepted.

Error Responses

Notes on settlement

The response confirms the withdrawal was accepted for processing. It does not mean the recipient has received funds on-chain. Store the transaction_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.