1. Reference
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
    • 🧭 Networks
      • 🌐 Networks and payout addresses
      • πŸ’§ Liquid network guide
      • πŸ“š Arkade network guide
      • ✨ Spark network guide
  • 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
    • JWTClaims
    • ErrorObj
    • PingObj
    • ErrorResponse
    • DepositObj
    • PingResponse
    • DepositResponse
    • DepositStatusObj
    • DepositStatusResponse
    • DepositWebhookBody
    • DepositsResponse
    • DepositStatus
    • UserInfoResponse
    • WithdrawStatusResponse
    • WithdrawStatusObj
    • WithdrawResponse
    • WithdrawObj
    • WithdrawStatus
    • WithdrawWebhookBody
    • MEDWebhookBody
    • RejectionReasons
  1. Reference

πŸ“– Glossary

Definitions for the core terms you'll encounter while integrating the Pix2Depix API.

DePix#

A BRL-pegged digital asset issued on the Liquid Network. One DePix tracks one Brazilian Real. The API converts BRL (via Pix) to DePix on a deposit, paying it out on Liquid, Arkade or Spark depending on the address you give, and DePix back to BRL on a withdrawal.

Liquid Network#

A Bitcoin sidechain used to settle DePix on-chain. On-chain settlement references appear in responses and webhooks as blockchainTxID.

Arkade#

A second network on which DePix is paid out, currently in beta: please do not use it in production yet, and do not test it with substantial amounts. An Arkade address starts with ark1…. On POST /deposit the network is read from the payout address itself: send an ark1… address in depixAddress (or configure one as your default) and the DePix is paid on Arkade; send a Liquid address (lq1…, ex1…) and it is paid on Liquid. No parameter names a network, and an address on none of the supported networks is refused with DEPOSIT_ADDRESS_NETWORK_UNKNOWN. Withdrawals (POST /withdraw) receive DePix on Liquid only.

Spark#

A third network on which DePix is paid out, currently in beta: please do not use it in production yet, and do not test it with substantial amounts. A Spark address starts with spark1…. It is selected the same way as any other: send a spark1… address in depixAddress (or configure one as your default) on POST /deposit and the DePix is paid on Spark. On Spark the DePix token has a single official identifier, btkn1sdqgp9904d620fmgs6p9669fghzfq06hvpqmy2wg8c9xtw4qms3qpf4aty; any other token presenting itself as DePix on Spark was not issued by Eulen, because on Spark the token name does not identify the asset. Withdrawals (POST /withdraw) receive DePix on Liquid only.

Pix#

Brazil's instant payment system, operated by the Central Bank. Deposits are funded by a payer scanning a Pix QR code; withdrawals are paid out to a Pix key.

EUID (Eulen User ID)#

An end-user identity assigned by Eulen. Pass it as euid to attribute an operation to a specific end user, and query a user's current usage and limits with GET /user-info.

merchantId / EMID (Merchant ID)#

A string identifying a merchant (the EMID, or Merchant ID) under your partner account. Pass it as merchantId on POST /deposit to attribute a deposit to a specific merchant.

QR Delay#

An optional hold on a deposit, set with delayDepixInHours (1–720) on POST /deposit. A delayed deposit is held until the timestamp returned as delayUntil and reported with status delayed; if omitted, the deposit is processed immediately.

MED (Mecanismo Especial de DevoluΓ§Γ£o)#

Pix's special refund mechanism β€” a chargeback-style reversal that can refund a past deposit to the payer. A reversed deposit moves to status refunded, and a med webhook may be delivered to report it.
MED webhooks
MED is also surfaced as a med webhook event type, registered like any other with /registerwebhook med <url> <secret>. See Webhooks.

X-Nonce (and why there is no idempotency)#

X-Nonce is a UUID the server generates for each request and returns in the X-Nonce response header. It is a correlation identifier for tracing and support, not an idempotency key: a nonce sent on the request is not read, and this API has no idempotency mechanism at all. A retried POST /deposit or POST /withdraw can therefore execute twice, so confirm the outcome with the status endpoints before resending.

Response envelope#

The uniform JSON wrapper around every API response:
{ "response": { }, "async": false }
Success: { "response": <object>, "async": false }
Error: { "response": { "errorMessage": "<reason>", "messageCode": "<code>" }, "async": false }, returned with a non-2xx status. messageCode is present whenever the refusal has a stable code to branch on.
async is always false. There is no asynchronous variant of the envelope, no 202 Accepted, and no urlResponse to poll β€” that model was removed on 2026-06-12.
The three authentication endpoints do not use this envelope; they answer with { "error": "<code>", "errorMessage": "<text>" }. See Errors.

Client credentials#

A client_id / client_secret pair, issued on Telegram with /addclientcredentials. It is not sent on API calls: you exchange it at POST /api/v2/auth/login for an access token (a short-lived JWT, sent as Authorization: Bearer) and a refresh token (an opaque, single-use string that mints the next access token). Each refresh returns a new refresh token and invalidates the one you presented β€” presenting a used one ends the session. See Authentication.
Modified atΒ 2026-09-17 15:06:19
Previous
MED Webhook
Next
πŸ“ Changelog
Built with