pay

Create a personal deposit (PIX → DePix)

Generates a PIX QR; when the owner pays it, DePix is delivered to depixAddress. Requires scope wallet_write on the API-key path. A provider business rejection returns HTTP 400 validation_error (the provider message is preserved in response.errorMessage) — not a 200. A provider that does not answer at all (timeout or network failure) returns HTTP 503 service_unavailable and IS worth retrying; it was an HTTP 500 until 2026-08-04. With a sk_test_ key the response is synthetic (sandbox: true, no provider call, no row). Track settlement by polling GET /api/deposits/{id} (5–15 s interval) and/or via the deposit.* webhooks. Supports Idempotency-Key. Fee: 2% + R$ 0.99, DEDUCTED from the amount — amountInCents is what the payer pays by PIX, and the DePix credited to depixAddress is that minus the fee (a R$ 100.00 / 10000 deposit credits R$ 97.01 / 9701 in DePix). Current rates: https://depixapp.com/en/#landing-fees.

post/api/deposit

Request

  • Base URL: https://api.depixapp.com
  • URL: https://api.depixapp.com/api/deposit
  • Auth: HTTP bearer

Headers

Idempotency-Keystring

Optional idempotency key (1–255 visible ASCII chars). Retrying with the same key and the SAME body replays the stored response (marked with the Idempotency-Replayed: true header) with zero new side effects; the same key with a DIFFERENT body is rejected with 422 idempotency_key_reuse; a concurrent duplicate gets 409 idempotency_in_flight. Keys expire after 24 h. Responses with status 5xx/429 are never stored, so those retries re-execute.

Request body

amountInCentsinteger required

Deposit amount in cents (BRL). Accepted range: 500–600000 (R$ 5,00–R$ 6.000,00). Account-level and per-key limits may restrict it further.

depixAddressstring required

Liquid address that will receive the DePix once the PIX settles.

payer_tax_numberstring required

CPF or CNPJ of the PIX payer. Required — omitting it returns 400 tax_number_required. Always validated and forwarded to the payment provider.

verification_flowboolean

Set to true only when this deposit is the one being made IN ORDER TO VERIFY the account (the round trip described by GET /api/verification). That deposit does not consume the receive cap reported by GET /api/vault/status, so a new account does not spend part of its limit just to unlock the merchant tools. Worth ONCE and only up to the verification amount — the excess consumes the cap normally, as does every other deposit from the owner's own document. Ignored (never an error) when the account is already verified or is an agent account, which verifies by proving a domain instead. A non-boolean value returns 400 validation_error.

Response

QR issued.

asyncboolean required

Always false — QR generation is synchronous.

Changes

No recorded changes to this operation across all 1 revision of this API.