Skip to main content
POST
/
v1
/
merchant
/
withdrawals
Withdraw merchant balance
curl --request POST \
  --url https://api.daya.co/v1/merchant/withdrawals \
  --header 'Content-Type: application/json' \
  --header 'X-Api-Key: <x-api-key>' \
  --header 'X-Idempotency-Key: <x-idempotency-key>' \
  --data '
{
  "amount_usd": "<string>",
  "token": "<string>",
  "chain": "<string>",
  "destination_address": "<string>"
}
'
{
  "data": {
    "transaction_id": "transactions/abc123"
  }
}

Overview

Creates a withdrawal from your available merchant USD balance to a supported on-chain address.
Provide a unique X-Idempotency-Key for each withdrawal attempt so retries do not create duplicate transfers.
Before creating a withdrawal, check Get Merchant Balance and validate the destination chain with List Supported Chains.
Only USDT on POLYGON is withdrawal-enabled right now. Use the token-level metadata from GET /v1/supported-chains to validate supported combinations before submitting a withdrawal.

Authentication

X-Api-Key
string
required
Your merchant API key

Headers

X-Idempotency-Key
string
required
Unique request identifier used to deduplicate retries.Example: withdrawal-20260310-0001

Request Body

amount_usd
string
required
Amount to withdraw in USD decimal format.Example: 12.3400
token
string
required
Token to send on-chain.Allowed values: USDC, USDT
chain
string
required
Destination chain for the withdrawal.Allowed values: SOLANA, TRON, APTOS, BASE, POLYGON, ETHEREUM
destination_address
string
required
Address that will receive the withdrawal.Example: 4vJ9JU1bJJE96FWSJN
Make sure the address format matches the selected chain and token pair.

Request Examples

curl --request POST \
  --url https://api.daya.co/v1/merchant/withdrawals \
  --header 'X-Api-Key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --header 'X-Idempotency-Key: withdrawal-20260310-0001' \
  --data '{
    "amount_usd": "12.3400",
    "token": "USDC",
    "chain": "SOLANA",
    "destination_address": "4vJ9JU1bJJE96FWSJN"
  }'

Response

data
object
Withdrawal creation result.

Success Response

{
  "data": {
    "transaction_id": "transactions/abc123"
  }
}

Error Responses

{
  "error": "Invalid request",
  "request_id": "550e8400-e29b-41d4-a716-446655440000",
  "details": {
    "amount_usd": "must be greater than zero"
  }
}