1. Wallets
Artha All Module Api's
  • Introduction
  • Authentication
  • KYC/KYB Requirements
  • API Setup Guide
  • Products
    • List Products
      GET
    • Get Product
      GET
    • Get Customer Product Status
      GET
  • Customers
    • Create Customer
      POST
    • List Customers
      GET
    • Get Customer
      GET
    • Submit Applicant (KYC/KYB)
      POST
    • Create Onboarding Session
      POST
  • Wallets
    • Beneficiary
      • Create Crypto Beneficiary
      • Update Crypto Beneficiary
      • List Crypto Withdraw Beneficiaries
    • Create Wallet
      POST
    • Get Wallet Address
      GET
    • Get Customer Balances
      GET
    • List Wallets
      GET
    • List Withdrawals
      GET
    • List Withdrawal Networks
      GET
    • Preview Withdrawal Summary
      POST
    • Create Crypto Withdrawal
      POST
  • Cards
    • Issuance
      • Issue Card
      • List Cards
      • List Customer Cards
      • Get Card Details
      • Get Sensitive Card Details
    • Funding
      • Top Up Card
      • Get Card Balance
      • Get Top-Up Status
      • List Top-Up History
    • Operations
      • Resend Activation Code
      • Activate Card
      • Set Card PIN
      • Change Card PIN
      • Update Card Limits
      • Freeze Card
      • Unfreeze Card
      • Replace Card
      • Cancel Card
      • Get Card Limits
      • Show Card PIN Details
      • Get PIN View Iframe URL
      • Get PIN Change Iframe URL
      • Get PIN Set Iframe URL
      • Get Card View Iframe URL
      • Show Card PIN
  • Payees
    • Create a payee for a customer.
      POST
    • List a customer's payees.
      GET
    • Update a payee.
      PUT
    • Retrieve a payee by id.
      GET
    • Look up an existing payee.
      GET
    • List the currencies a payee can be created in.
      GET
    • List the accepted payment purpose codes for a payee.
      GET
    • List the countries a payee can be created in.
      GET
    • List currency/country pairings for payees.
      GET
    • List the accepted beneficiary relationship codes.
      GET
  • Payments
    • Onboarding
      • List the customer's payout-currency configuration sections.
      • Enable a payout-currency section for the customer.
      • Get the customer's terms-of-service acceptance status.
      • Enable or disable a payout-currency section.
    • Quote
      • List the currencies a beneficiary can be paid in under a product.
      • List the payout rails available for a product and beneficiary.
      • Create an FX quote giving the rate and fee for a cross-currency payout.
    • Order
      • Submit a payout order to send money to a beneficiary.
      • Retrieve the on-chain address to fund an order.
      • Retrieve the status and settlement detail of a payout order.
    • Lookups
      • List the accepted payment purpose codes for a payout.
      • List the accepted source-of-funds codes for a payout.
      • List the document types accepted on a payout order.
  • Banks
    • Accounts
      • Create Bank Account
      • Get Account Details
      • Get Account Issuance Status
    • Withdraw
      • Create Withdrawal Quote
      • List Withdrawal Purposes
      • Get Payment Schemes
      • Execute Withdrawal
  • Exchange
    • Quote
      • Get Exchange Rate
      • Create Price Quote
    • Order
      • Place Exchange Order
  • Transactions
    • List Transactions
    • Get Transaction Details
  • Utilities
    • List Currencies
    • List Countries
    • Get Fee Schedule
    • List Product Occupations
    • List Product Industry Codes
    • Upload File
  • Webhook's
    • Wallets Webhooks
    • Banks Webhooks
    • Payments Webhooks
    • Exchange Webhooks
    • Card Webhooks
  1. Wallets

Create Crypto Withdrawal

POST
/api/v1/wallets/withdraw
Submits a crypto withdrawal from a wallet to a saved beneficiary. Withdrawals are asynchronous — the response confirms the request was submitted. This endpoint is idempotent via the X-Idempotency-Key header (duplicate submissions with the same key within the configured window are rejected).
Prerequisites
The customer must have an active wallet for the given currency + network with sufficient available balance (within minLimit / maxLimit). The source wallet is resolved internally from customerId + currency + network; if no active wallet matches, the API returns 404 WALLET_NOT_FOUND with a clear message.
amount must be at least the minLimit returned by GET /api/v1/wallets/withdraw/networks for the same currency + network. A smaller amount is rejected with 422 VALIDATION_ERROR: "Amount is less than the minimum withdrawal amount of 10 USDT."
The beneficiary must already be saved and approved.
Estimate fees first via POST /api/v1/wallets/withdraw/estimateFee (recommended).
Query Parameters
FieldTypeDescription
customerIdstring (uuid)Unique identifier of the customer making the withdrawal — required
Headers
FieldDescription
X-Idempotency-KeyUnique key (UUID) to make the withdrawal request idempotent. A retry with the same key within the dedup window is rejected as a duplicate.
Required Fields
FieldTypeDescriptionConstraints
currencystringCurrency ticker of the source wallet (e.g. USDT)Min: 2 · Max: 20 · Pattern: ^[A-Za-z0-9_-]+$
networkstringBlockchain network of the source wallet (e.g. TRC-20)Min: 2 · Max: 20 · Pattern: ^[A-Za-z0-9_-]+$
beneficiaryIdstring (uuid)Saved beneficiary to send funds to-
amountnumber (double)Gross amount to withdrawMust be greater than 0 and at least the network's minLimit
Response Fields
FieldTypeDescription
datastringConfirmation string for the withdrawal submission (literal value "Success")
requestIdstringUnique identifier of this API request
timestampstring (date-time)Server timestamp of the response (UTC)

Request

Authorization
or
Query Params

Header Params

Body Params application/jsonRequired

Examples

Responses

🟢200
application/json
Withdrawal submitted successfully.
Bodyapplication/json

🟠401
🟠422
Request Request Example
Shell
JavaScript
Java
Swift
curl --location '/api/v1/wallets/withdraw?CustomerId=' \
--header 'X-Idempotency-Key;' \
--header 'X-API-Key;' \
--header 'X-Signature;' \
--header 'X-Timestamp;' \
--header 'X-Nonce;' \
--header 'X-Body-Hash;' \
--header 'Content-Type: application/json' \
--data '{
    "walletId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "beneficiaryId": "6d4c8b2a-9e1f-4a7d-8c3b-5f2e0a1d9c6b",
    "amount": 100.5
}'
Response Response Example
{
    "data": "Success",
    "requestId": "e30a7c185f9b4d26a81c4e0b7d2f6935",
    "timestamp": "2026-08-21T10:07:52.3348816Z"
}
Modified at 2026-08-22 10:18:55
Previous
Preview Withdrawal Summary
Next
Issue Card
Built with