---
title: "Pagar um Pix com o saldo USDT"
method: POST
path: "/carteira-usdt/payments"
tags: ["Carteira USDT"]
---

# Pagar um Pix com o saldo USDT

`POST /carteira-usdt/payments`

## Request

- Base URL: `https://api.luniumpay.com`
- URL: `https://api.luniumpay.com/carteira-usdt/payments`
- Auth: API key in header `X-API-Key`

Reserva o USDT, paga o Pix e debita o que custou (a sobra da reserva volta). Assíncrono: responde em `reservado`; acompanhe por GET /carteira-usdt/payments/{payment_id} ou pelos webhooks `wallet.payment_completed` / `wallet.payment_failed`. Envie `external_id` para repetir com segurança: o mesmo external_id com os mesmos dados devolve o mesmo pagamento (200).

## Request body

- object
  - `brl_amount` string: Valor que o recebedor recebe, em reais. Use OU brl_amount (com pix_key) OU br_code.
  - `br_code` string: Pix Copia e Cola (começa com 000201). O valor e o recebedor vêm do código; não envie brl_amount.
  - `funding_source` 'crypto_usdt': Opcional; só aceita crypto_usdt.
  - `pix_key` string: Chave Pix de quem recebe (obrigatória com brl_amount).
  - `pix_key_type` 'cpf' | 'cnpj' | 'email' | 'phone' | 'random': Recomendado quando a chave tem 11 dígitos (CPF ou telefone).
  - `quote_id` string: Com br_code: o quote_id da cotação (opcional).
  - `external_id` string: Seu identificador idempotente.

## Response `200`

Repetição do mesmo external_id: o pagamento já existente.

- PagamentoCarteira: Pix pago com o saldo USDT.
  - `payment_id` string
  - `external_id` string, nullable
  - `status` 'reservado' | 'ordem_criada' | 'aceita' | 'sacando' | 'enviado' | 'revisao' | 'concluido' | 'falhou' | 'falhou_apos_envio': Finais: `concluido` (Pix pago), `falhou` (não executado; a reserva voltou ao saldo), `falhou_apos_envio` (em apuração; a reserva NÃO volta sozinha). `revisao`: em conferência — não é falha, acompanhe. Os demais são etapas em andamento.
  - `final` boolean: true quando o estado não muda mais.
  - `payment_method` 'pix_key' | 'br_code'
  - `brl_amount` string
  - `pix_key` string, nullable: Mascarada.
  - `usdt_reserved` string
  - `usdt_debited` string, nullable
  - `usdt_order` string, nullable
  - `withdrawal_fee` string, nullable
  - `cashout_id` string, nullable: A ordem que pagou o Pix (GET /cash-outs/{cashout_id} tem o detalhe).
  - `error` string, nullable
  - `pix_e2e` string: Só em `concluido`: o identificador E2E do Pix.
  - `recipient_name` string: Só em `concluido`: nome de quem recebeu.
  - `recipient_document` string, nullable: Só em `concluido`: CPF parcial (padrão do Banco Central) ou CNPJ.
  - `receipt_url` string, nullable: Só em `concluido`: link público do comprovante oficial (null no teste).
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `sandbox` boolean

## Other responses

- `201`: Pagamento criado.
- `400`: `valor_invalido`, `valor_abaixo_do_minimo`, `pix_key_obrigatoria`, `br_code_invalido`, `campos_conflitantes`, `cotacao_recusada`.
- `401`: Chave ausente ou inválida.
- `403`: `carteira_nao_liberada`: a carteira não está liberada para este projeto.
- `409`: `saldo_insuficiente`, `external_id_divergente`, `cotacao_divergente`.
- `503`: `carteira_indisponivel` / `pagamentos_indisponiveis`: tente de novo em instantes (`acao: esperar`).

---

[API](https://skmtc.dev/luniumpay/apis/lunium-crypto-pix-settlement-brazil.md) · [All operations](https://skmtc.dev/luniumpay/apis/lunium-crypto-pix-settlement-brazil/llms.txt) · [OpenAPI document](https://skmtc.dev/luniumpay/apis/lunium-crypto-pix-settlement-brazil/revisions/0b5a340fa9dd?raw)
