Skip to main content

Withdrawals

Withdrawals allow you to move stablecoins out of Celar from your organization wallet to your registered external wallet.

Scope of Withdrawals

You can:

  • Withdraw from a PSP wallet to the PSP’s registered external wallet
  • Withdraw from a Developer wallet to the developer’s registered external wallet

You cannot:

  • Withdraw from customer wallets
  • Use withdrawals to off-ramp or send customer funds

Prerequisites

  • Have an organization Celar wallet
    Use the Wallets API and keep the celar_walletId.

  • Have a registered external wallet
    Your organization registers an external wallet during onboarding.
    Withdrawals are always sent to that address.

Create a Withdrawal

curl --request POST \
--url https://api.sandbox.celar.io/api/v1/payments/withdraw \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <your_api_key>' \
--header 'Idempotency-Key: <random_uuid>' \
--data '{
"celar_walletId": "<celar_walletId>",
"token": "USDC",
"chain": "baseSepolia"
"amount": 1
}'

Response

{
"message": "Withdraw successful! 1 USDC sent to your registered wallet address",
"tx_hash": "0xdd10beed45843aae085199d0a8e25d3fccee685574b8b069429398e666b84aae",
"status": "withdrawal_sent"
}

Status Tracking

StatusMeaning
pendingWithdrawal created and queued
withdrawal_sentFunds sent to your registered external wallet
failedWithdrawal could not be completed

Track status by:

Settlement

Once the withdrawal is withdrawal_sent, the funds are available in your registered external wallet. Use the tx_hash to verify the transaction on-chain.