Get withdrawal
curl --request GET \
--url https://api.daya.co/v1/merchant/withdrawals/{id} \
--header 'X-Api-Key: <x-api-key>'import requests
url = "https://api.daya.co/v1/merchant/withdrawals/{id}"
headers = {"X-Api-Key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<x-api-key>'}};
fetch('https://api.daya.co/v1/merchant/withdrawals/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.daya.co/v1/merchant/withdrawals/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.daya.co/v1/merchant/withdrawals/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.daya.co/v1/merchant/withdrawals/{id}")
.header("X-Api-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.daya.co/v1/merchant/withdrawals/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"id": "550e8400-e29b-41d4-a716-446655440000",
"amount_usd": "12.3400",
"fee_usd": "0.50",
"token": "USDC",
"chain": "SOLANA",
"destination_address": "4vJ9JU1bJJE96FWSJN",
"status": "SETTLED",
"provider_tx_id": "transactions/abc123",
"tx_hash": "4D5uX4exampleTxHash",
"created_at": "2026-03-10T09:00:00Z",
"submitted_at": "2026-03-10T09:01:00Z",
"settled_at": "2026-03-10T09:03:00Z",
"updated_at": "2026-03-10T09:03:00Z"
}
{
"error": {
"code": "NOT_FOUND",
"message": "Withdrawal not found",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}
Merchant Balance
Get withdrawal
Retrieve a single merchant balance withdrawal by ID
GET
/
v1
/
merchant
/
withdrawals
/
{id}
Get withdrawal
curl --request GET \
--url https://api.daya.co/v1/merchant/withdrawals/{id} \
--header 'X-Api-Key: <x-api-key>'import requests
url = "https://api.daya.co/v1/merchant/withdrawals/{id}"
headers = {"X-Api-Key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<x-api-key>'}};
fetch('https://api.daya.co/v1/merchant/withdrawals/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.daya.co/v1/merchant/withdrawals/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.daya.co/v1/merchant/withdrawals/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.daya.co/v1/merchant/withdrawals/{id}")
.header("X-Api-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.daya.co/v1/merchant/withdrawals/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"id": "550e8400-e29b-41d4-a716-446655440000",
"amount_usd": "12.3400",
"fee_usd": "0.50",
"token": "USDC",
"chain": "SOLANA",
"destination_address": "4vJ9JU1bJJE96FWSJN",
"status": "SETTLED",
"provider_tx_id": "transactions/abc123",
"tx_hash": "4D5uX4exampleTxHash",
"created_at": "2026-03-10T09:00:00Z",
"submitted_at": "2026-03-10T09:01:00Z",
"settled_at": "2026-03-10T09:03:00Z",
"updated_at": "2026-03-10T09:03:00Z"
}
{
"error": {
"code": "NOT_FOUND",
"message": "Withdrawal not found",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}
Overview
Returns one merchant withdrawal record for the authenticated merchant. Use this endpoint when you already have a withdrawal ID and need its latest state, timestamps, or transaction references.The older
GET /v1/withdrawals/{id} route still exists. This merchant-prefixed route is an alias added for consistency with POST /v1/merchant/withdrawals.Authentication
string
required
Your merchant API key
Path Parameters
string
required
Withdrawal ID in UUID format.Example:
550e8400-e29b-41d4-a716-446655440000Request Examples
curl --request GET \
--url https://api.daya.co/v1/merchant/withdrawals/550e8400-e29b-41d4-a716-446655440000 \
--header 'X-Api-Key: YOUR_API_KEY'
const response = await fetch(
'https://api.daya.co/v1/merchant/withdrawals/550e8400-e29b-41d4-a716-446655440000',
{
headers: {
'X-Api-Key': 'YOUR_API_KEY'
}
}
);
const withdrawal = await response.json();
console.log(withdrawal);
Response
string
Unique withdrawal identifier.
string
Withdrawal amount in USD.
string
Fee charged for the withdrawal, in USD.
string
Token sent on-chain.
string
Destination chain.
string
Recipient on-chain address.
string
Current withdrawal status.Common values:
PENDING, SUBMITTED, SETTLED, FAILEDstring
Provider-side transfer identifier, when available.
string
On-chain transaction hash, when available.
string
Failure code for unsuccessful withdrawals.
string
Human-readable failure detail for unsuccessful withdrawals.
string
Time the withdrawal was created.
string
Time the withdrawal was submitted to the provider.
string
Time the withdrawal was settled.
string
Last update time for the withdrawal.
Success Response
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"amount_usd": "12.3400",
"fee_usd": "0.50",
"token": "USDC",
"chain": "SOLANA",
"destination_address": "4vJ9JU1bJJE96FWSJN",
"status": "SETTLED",
"provider_tx_id": "transactions/abc123",
"tx_hash": "4D5uX4exampleTxHash",
"created_at": "2026-03-10T09:00:00Z",
"submitted_at": "2026-03-10T09:01:00Z",
"settled_at": "2026-03-10T09:03:00Z",
"updated_at": "2026-03-10T09:03:00Z"
}
{
"error": {
"code": "NOT_FOUND",
"message": "Withdrawal not found",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}
Error Responses
This endpoint may return:400: Invalid withdrawal ID format401: Unauthorized404: Withdrawal not found500: Internal server error
Next Steps
List Withdrawals
Browse recent withdrawals and paginate through history
Create Withdrawal
Initiate another merchant balance withdrawal