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

# Carteira

> Saldo bruto, retido, a liberar e sacável. Quatro números que não são a mesma coisa.

`GET /v1/wallet` devolve o saldo da loja separado por situação. A confusão comum é achar
que "saldo" é o quanto dá pra sacar, e não é.

```bash theme={null}
curl https://api.purin.cash/v1/wallet \
  -H "Authorization: Bearer $PURINCASH_KEY"
```

```json theme={null}
{
  "currency": "BRL",
  "balance": 1250.00,
  "balanceCents": 125000,
  "disputeBlocked": 230.70,
  "withdrawable": 1019.30,
  "withdrawableCents": 101930,
  "pendingRelease": 480.00,
  "pendingReleaseCents": 48000,
  "subaccountsCommittedCents": 45900,
  "unattributedCents": 56030,
  "cryptoBalanceLtc": 0.15068859
}
```

## O que cada número significa

**balance** `number`

Saldo bruto da carteira, em reais. É o total que entrou e ainda não saiu, sem descontar
retenção.

**disputeBlocked** `number`

Valor retido por [disputas](https://docs.purin.cash/guias/disputas.md) abertas ou perdidas que ainda não foram
perdoadas. Fica indisponível até a contestação ser resolvida.

**withdrawable** `number`

**É este que importa na hora de sacar.** Vale
`balance - disputeBlocked - subaccountsCommittedCents/100`, e é o teto aceito por
`POST /v1/payouts`. Dinheiro atribuído a [subconta](https://docs.purin.cash/guias/subcontas.md) não sai pela
conta principal: saque pela própria subconta, ou traga de volta com `to_master`
antes.

**subaccountsCommittedCents** `integer`

Soma dos saldos das suas subcontas: a fatia do saldo que pertence aos seus
clientes e que o saque da conta principal **não alcança**. Só existe em centavos.

**pendingRelease** `number`

Vendas no cartão aguardando o prazo de liberação. Ainda **não** está em `balance` nem em
`withdrawable`. É previsão de caixa, não dinheiro disponível.

**unattributedCents** `integer`

O que a carteira tem sem dono: é o teto que a transferência `to_subaccount`
aceita atribuir. Com o `withdrawable` já descontando o comprometido, os dois
números coincidem. `null` quando a soma das subcontas não pôde ser calculada.

**cryptoBalanceLtc** `number`

Saldo em Litecoin, com 8 casas decimais. Sacável por `POST /v1/payouts` com
`method: "ltc"`.

Todos os valores em reais têm um par em centavos (`balanceCents`, `withdrawableCents`,
`pendingReleaseCents`).

> [!TIP]
>
> Use os campos em centavos para qualquer conta. Ponto flutuante em dinheiro é como você
> ganha uma diferença de um centavo no relatório e perde uma tarde procurando.

## A relação entre eles

```
balance          = o que entrou e liquidou
  − disputeBlocked = retido por contestação
  = withdrawable   = o que POST /v1/payouts aceita hoje

pendingRelease   = cartão que ainda vai virar balance
```

Pedir um saque acima de `withdrawable` devolve `400` por saldo insuficiente, mesmo que
`balance` cubra o valor. Se isso te pegou de surpresa, quase sempre a resposta está em
`disputeBlocked`.

## Em sandbox

A rota funciona com chave `ps_test_`. O saldo é somado a partir das transações de teste, a
resposta traz `"sandbox": true`, e `disputeBlocked` e `cryptoBalanceLtc` ficam sempre em
zero.

> [card] [Tirar o dinheiro](https://docs.purin.cash/guias/saques.md)
>
> PIX, LTC ou USDT, direto pela API.

> [card] [Destravar retenção](https://docs.purin.cash/guias/disputas.md)
>
> Como responder uma contestação e liberar o valor.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.