PayZuDocs

Balance, statement and limits

Get the balance, reconcile with the statement and see the account's limits, fees and metrics.

The four routes use the STATEMENT_READ scope.

Balance

GET /transactions/balance

{
  "total": 152030,
  "available": 150530,
  "blocked": 1500,
  "blockedBySecurity": 1500,
  "blockedByWithdraw": 0,
  "blockedByRefund": 0,
  "syncedAt": "2026-10-06T18:20:11.004Z"
}
FieldDescription
availableThe available balance: what can be used now for withdrawals, Pix copy-and-paste payments and refunds. It is the sum of the statement lines.
blockedIt is in the account but cannot be used, such as the amount of an open MED dispute or of a withdrawal, refund or transfer still being processed. blockedBySecurity, blockedByWithdraw and blockedByRefund split this amount by reason.

total is available + blocked. All fields in Get balance.

The withdrawal amount plus the fee (withdraw in limits) must fit in available. Even so, the withdrawal can be refused with WITHDRAW_INSUFFICIENT_PROVIDER_BALANCE: the bank does not cover the withdrawal at that moment.

Statement

GET /transactions/statement?limit=20&dateFrom=2026-10-01&trigger=PAYOUT

Each line is an entry that changed the available balance, not a whole operation. A paid R$ 15.00 charge with a R$ 1.05 fee comes in as +1395. A withdrawal goes out at the time of the request, with the amount and the fee together (amount + serviceFee).

{
  "data": [
    {
      "id": "cmu9r1a2b000101s6stmt0002",
      "entryId": "cmu9r0z9y000001s6entr0002",
      "amount": -10250,
      "balanceAfter": 150530,
      "trigger": "PAYOUT",
      "description": "Reserva de saque",
      "originId": "cmu3wd7k1000201s6wdrw0001",
      "infractionProtocol": null,
      "gross": 10000,
      "fee": 250,
      "status": "SETTLED",
      "statusDetail": null,
      "statusReason": null,
      "statusAt": "2026-10-05T14:40:14.120Z",
      "payoutOperation": "WITHDRAW",
      "counterparty": { "name": null, "document": null, "pixKey": "f***@exemplo.com" },
      "postedAt": "2026-10-05T14:40:11.002Z"
    }
  ],
  "nextCursor": "cmu9r1a2b000101s6stmt0002",
  "balance": 150530
}
triggerThe line
PAYMENTPaid charge, already without the fee.
DEPOSITPix received without a charge, already without the fee.
PAYMENT_REFUNDRefund: the amount going out, or coming back when the refund is refused. Also the refund the bank makes on its own.
PAYOUTWithdrawal or Pix copy-and-paste payment going out, at the time of the request.
PAYOUT_REVERSALThe withdrawal amount coming back, when it failed.
PAYOUT_REFUND_RECEIVEDReturn of a Pix sent by the account.
INFRACTION_BLOCKMED dispute opened: the amount leaves the available balance.
INFRACTION_SETTLEDDispute upheld: the amount went back to the payer.
INFRACTION_RELEASEDDispute rejected: the amount comes back, minus the analysis fee. If the dispute was cancelled, it comes back in full.
INTERNAL_TRANSFERTransfer between accounts, on both sides. The sign of amount says the side.
  • status is the current state of the operation, for withdrawals, refunds and transfers: PROCESSING (still being processed), SETTLED (completed) or RETURNED (refused, with the amount back). On the other lines, it comes null. description does not change once written: the outflow of a completed withdrawal still reads "Reserva de saque".
  • statusDetail comes in two cases. APPROVAL_REFUSED: the bank did not approve the withdrawal, the amount stays out of the available balance and statusReason carries a message for display. PROVIDER_REFUND: the bank returned the money to the payer without a request from you.
  • counterparty is the other party in the operation. On inflows, who paid: on a charge, the customer you provided, with the full document; on a Pix without a charge, with the document masked. On outflows, pixKey carries the masked destination key. On dispute lines, it comes null.
  • balance, next to data, is the available balance now.

Filters

FilterDescription
originIdThe operation id as it comes in the webhooks: paymentId, withdrawId, depositId or transferId. The id returned when creating the charge, the withdrawal or the transfer does not work here.
triggerOne or more line types, separated by commas.
dateFrom, dateToA date without a time covers the whole day in Brasília time.
statusState of the source operation. See below.

Filters apply together. A parameter the route does not know is refused with 400 and REQUEST_UNKNOWN_QUERY_PARAM. All filters in Get statement.

The status filter looks at the state of the operation that generated the line, not at the line's status field. It brings all lines of the operations in that state, including refund lines. Transfer and dispute lines are left out.

Limits

GET /transactions/limits returns the limits and fees that apply to the account now. Amounts in cents; feePercentage is a percentage (150 = 1.5%).

{
  "payment": { "enabled": true, "ticketMin": 100, "ticketMax": 1000000, "feeFixed": 105, "feePercentage": 0 },
  "withdraw": { "enabled": true, "ticketMin": 100, "ticketMax": 1000000, "feeFixed": 100, "feePercentage": 150 },
  "externalPayment": { "enabled": true, "ticketMin": 100, "ticketMax": 1000000, "feeFixed": 100, "feePercentage": 0 },
  "refund": { "enabled": true, "ticketMin": 100, "ticketMax": 1000000, "feeFixed": 100, "feePercentage": 0 },
  "internalTransfer": { "enabled": true, "ticketMin": 100, "ticketMax": 1000000, "feeFixed": 100, "feePercentage": 0 },
  "dailyWithdraw": { "limit": 1000000, "used": 12850 },
  "dailyInternalTransfer": { "limit": null, "used": 0 },
  "infraction": { "feeFixed": 500, "feePercentage": 0, "blocksBalance": true }
}
BlockDescribes
paymentCharge.
withdrawWithdrawal to a key. The minimum and the maximum apply to every Pix outflow.
externalPaymentPix copy-and-paste payment: the withdrawal limits, with its own fee.
refundRefund and deposit return, with its own fee. The maximum per operation is the withdrawal one; the minimum is not applied.
internalTransferTransfer between accounts.
dailyWithdrawDaily cap on Pix outflows and how much was already used today.
dailyInternalTransferThe same, for transfers between accounts.
infractionAnalysis fee charged when the MED dispute is rejected, and whether the disputed amount leaves the available balance while the analysis runs (blocksBalance).

For each operation, enabled says whether it is allowed, ticketMin and ticketMax are the smallest and the largest amount, and the fee adds a fixed part (feeFixed) and a percentage part (feePercentage).

In the daily caps, limit: null means no cap and 0 blocks everything. With a cap, used counts the day in Brasília time, including operations still being processed; without a cap, it comes 0.

Metrics

GET /transactions/metrics?dateFrom=2026-09-01&dateTo=2026-09-30

Without dateFrom and dateTo, the period is the last 30 days.

  • Charges count by creation date: September's conversion is the share of charges created in September that was paid, even if the payment came in October.
  • rails carries one item per payment method of the account. A method without metrics comes with available: false and no numbers; Pix with no charges in the period comes with the numbers at zero.
  • The rates (conversionRate, refundRate, disputeRate) follow the feePercentage format and come null when there is no base.
  • withdrawals adds up the withdrawals that did not fail, with the fee. deposits adds up the Pix received without a charge. pixInflow adds up paid charges and deposits.

All fields are in Get metrics.

On this page