> ## Documentation Index
> Fetch the complete documentation index at: https://docs.swytchpay.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Depósitos

> Cobrança PIX in

## Criar depósito

`POST /v1/deposits`

```json theme={null}
{
  "amount_cents": 10000,
  "external_id": "pedido-42",
  "payer": { "name": "Player Um", "email": "p1@ok.io", "phone": "+5511988887777", "document": "11144477735" },
  "expires_in_sec": 3600,
  "metadata": { "player_id": "PL-42" }
}
```

Resposta `201`:

```json theme={null}
{
  "id": "dep_…", "status": "PENDING", "external_id": "pedido-42",
  "amount_cents": 10000, "fee_cents": 350, "net_cents": 9650,
  "pix": { "emv": "000201…", "qr_url": null },
  "expires_at": 1781319147
}
```

* `amount_cents` é o valor cobrado do player; `net_cents` é o que entra no seu saldo (já
  descontada a taxa).
* `pix.emv` é o copia-e-cola. Renderize o QR a partir dele no seu app.
* **Idempotência**: repetir o POST com o mesmo `external_id` devolve o depósito existente (`200`).

## Consultar / listar

```
GET /v1/deposits/{id}
GET /v1/deposits?status=PAID&cursor=dep_xxx&limit=20
```

Quando pago, o depósito ganha `paid_at`, `e2e_id` e `payer_details` (dados bancários do pagador,
úteis para antifraude e conciliação).

## Estados

`PENDING → PAID` (pagamento confirmado) · `PENDING → EXPIRED` (venceu sem pagar). Um PIX pago com
atraso pode levar `EXPIRED → PAID` — aceitamos, pois o dinheiro entrou.

<Info>Você não precisa fazer polling: registre um [webhook](/reference/webhooks) e reaja ao
evento `deposit.paid`.</Info>
