1. API Endpoints
Pix2DePix API
  • ⚡ Quickstart
  • Guides
    • 🔑 Authentication
    • 🔄 Possible Statuses
    • 🔀 Synchronous requests & safe retries
    • ⚠️ Errors & the response envelope
    • 🧩 Troubleshooting
    • ✅ Best Practices
    • 🚀 Features
      • ⏱️ QR Delay
    • 🛡️ Security & Limits
      • 🚦 API Limits
      • 🧱 Firewall
      • 🪲 Bug Bounty
  • API Endpoints
    • Ping
      GET
    • Deposit (PIX ➔ DePix)
      POST
    • Deposit Status
      GET
    • Deposits
      GET
    • User Info
      GET
    • Withdraw
      POST
    • Withdraw Status
      GET
  • Webhooks
    • 🪝 Webhooks
    • Deposit Webhook
    • Withdraw Webhook
    • MED Webhook
  • Reference
    • 📖 Glossary
    • 📝 Changelog
  • Schemas
    • AllPossibleObjResponses
    • StandardResponse
    • PingObjOrError
    • JWTClaims
    • ObjResponse
    • ErrorObj
    • PingObj
    • ErrorResponse
    • DepositRequest
    • DepositObjOrError
    • DepositObj
    • PingResponse
    • DepositResponse
    • DepositStatusObj
    • DepositStatusResponse
    • DepositWebhookBody
    • DepositsResponse
    • DepositStatus
    • UserInfoResponse
    • WithdrawStatusResponse
    • WithdrawStatusObj
    • WithdrawResponse
    • WithdrawObj
    • WithdrawStatus
    • WithdrawWebhookBody
    • MEDWebhookBody
    • RejectionReasons
  1. API Endpoints

Withdraw

POST
/withdraw

How to use this API correctly#

Use EXACTLY ONE of the following amount parameters:
Only depositAmountInCents if you want to specify the amount you want to send in DePix.
OR only payoutAmountInCents if you want to specify the amount you want to receive in Pix (Reais).
By sending one of the two parameters, the other will be automatically calculated according to our fees and will be returned in the response.
It is not possible to use both amount parameters in the same request, and you cannot leave both empty.
From 01/05/2026, all withdrawal requests must include the beneficiary identification.
You must send at least one of the following identification parameters:
taxNumber: the CPF or CNPJ of the Pix key owner.
euid: the Eulen User Identification.
The request will be rejected if neither taxNumber nor euid is provided.
If both taxNumber and euid are provided, the informed taxNumber must match the corresponding euid. If they do not match, the request will be rejected.
The Pix key must belong to the informed taxNumber.
If the Pix key ownership does not match the provided identification, the withdrawal may be automatically rejected by the banking system.
Send refundAddress if you want the DePix back when a payout cannot be completed.
refundAddress is an optional Liquid address, and it is where your DePix is returned if this withdrawal cannot go through.
It has to be declared here, on the request, because it cannot be recovered afterwards. Liquid is a confidential chain and does not reveal who sent a transaction, so there is no way for us to work out where the DePix came from. A withdrawal created without refundAddress can still be refunded, but only after our team reaches you to ask for an address, and the funds stay put until that happens.
Any Liquid address you control works, including the one you send the DePix from.
Maximum 128 characters, no spaces. The address is checked when the request is made; an invalid one is rejected with invalid 'refundAddress' param, and a non-string value with 'refundAddress' should be a string.
The recorded value comes back on GET /api/withdraw-status, so you can confirm what was stored.
What returns is DePix on the Liquid Network. It is never Reais, and it never reaches the beneficiary's Pix key. The withdrawal then reports the refunded status, listed on Possible Statuses.
Never ever deposit after the expiration date.
YOU WILL LOSE YOUR FUNDS!

Request

Authorization
JWT Bearer
Add the parameter
Authorization
to Headers
Example:
Authorization: ********************
or
Body Params application/jsonRequired

Example
{
    "pixKey": "example@example.com",
    "depositAmountInCents": 124647,
    "payoutAmountInCents": 123400,
    "taxNumber": "12345678909",
    "euid": "EU011234567890128"
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://depix.eulen.app/api/withdraw' \
--header 'Content-Type: application/json' \
--data-raw '{
    "pixKey": "example@example.com",
    "depositAmountInCents": 124647,
    "payoutAmountInCents": 123400,
    "taxNumber": "12345678909",
    "euid": "EU011234567890128"
}'

Responses

🟢200Success
application/json
Headers

Bodyapplication/json

Example
{
    "withdrawalId": "string",
    "depositAddress": "string",
    "depositAmountInCents": 0,
    "payoutAmountInCents": 0
}
🟠400BadRequest
🟠401Unauthorized
🟠403Forbidden
🟠413PayloadTooLarge
🟠422ComplianceBlocked
🟠429TooManyRequests
🔴500ServerError
🔴502BadUpstream
🔴503ServiceUnavailable
🔴520Rejected
Modified at 2026-08-12 22:54:06
Previous
User Info
Next
Withdraw Status
Built with