Wallets are organized by recipient and currency. The API aggregates all internal wallets for a recipient into a single view per currency — you do not need to deal with individual wallet IDs.
From payment to balance
Payment confirmed
A transaction is paid. The net amount (after fees and split) is credited to the recipient’s wallet.
Pending balance
Immediately after payment, the amount enters as pending. It cannot be withdrawn yet.
Withdrawal request
You request a withdrawal from the withdrawable balance. The withdrawal enters as
requested and awaits approval. See withdrawal flow.Balance stages
The balance query returns four values per currency, all in cents (integers):Available balance: already-released amount, summed across all wallets for the currency.
Pending balance: amount credited but still within the release period. Cannot be withdrawn.
Blocked balance: amount on hold (e.g., due to a dispute/chargeback or reserve). Reduces how much can be withdrawn.
Withdrawable balance: how much can actually be withdrawn right now. Calculated from
available - blocked, applying the percentage withdrawal limit configured for your account and currency. This is the value to check before calling the withdrawal endpoint.Endpoints
All requests use thex-api-key header (see Authentication).
| Method | Route | Description |
|---|---|---|
GET | /wallets/owner/{ownerId}/balance | Recipient’s aggregated balance per currency |
GET | /withdrawals/config | Withdrawal fees and minimum amount |
POST | /withdrawals | Request a withdrawal |
GET | /withdrawals | List withdrawals (paginated) |
GET | /withdrawals/{id} | Retrieve a withdrawal by ID |
POST | /withdrawals/{id}/cancel | Cancel a withdrawal that has not yet been approved |
The detailed wallet statement (ledger entries, period summary) is covered in Wallets.
Check balance
Recipient ID, in
rec_... format.Request
Response 200
balances contains one item per currency. If the recipient has no wallets, the array is empty. Values are in cents: 150000 = R$ 1,500.00.Withdrawal configuration
Before requesting a withdrawal, fetch the configuration to know the fee and minimum amount. Monetary values are in cents.Filters the configuration by currency (ISO 4217, 3 letters, e.g.
BRL). Optional.Request
Response 200
Percentage fee applied to the requested withdrawal amount.
Fixed withdrawal fee, in cents (e.g.
367 = R$ 3.67).Minimum amount to request a withdrawal, in cents. Requests below this value are rejected.
Request a withdrawal
Requests a withdrawal for a recipient in a given currency. The withdrawal aggregates the balance across all wallets for that currency and enters with statusrequested, awaiting approval.
This endpoint returns 201 Created and accepts the optional
Idempotency-Key header to prevent duplicate withdrawals on retries. See Conventions.Recipient ID, in
rec_... format.Gross withdrawal amount, in cents. Must be an integer greater than 0.
Withdrawal currency (ISO 4217, exactly 3 letters, e.g.
BRL). Optional — defaults to BRL when omitted.Request
Response 201
netAmount is the amount the recipient actually receives: amount - fee. The fee is calculated at the time of the request based on the withdrawal configuration.Withdrawal flow
A withdrawal moves through the following statuses:cancelled (cancelled by the merchant before approval), rejected (declined during review), and failed (processing failure).
requested
requested
Initial state immediately after the request. Awaiting manual approval. This is the only status in which a withdrawal can be cancelled via API.
approved
approved
The withdrawal was approved during review and moves on to processing.
processing
processing
The payment is being executed to the destination bank account.
paid
paid
Withdrawal complete. The
paidAt field is populated and pspTransferId may contain the transfer reference.cancelled / rejected / failed
cancelled / rejected / failed
cancelled: cancelled by the merchant while still in requested. rejected: declined during review. failed: failure during processing.List withdrawals
Returns a paginated list of withdrawals for the account, with an optional filter by status.Filter by status. Values:
requested, approved, processing, paid, cancelled, rejected, failed. Optional.Page number.
Number of items per page (maximum 100).
Request
Response 200
Retrieve withdrawal by ID
Returns the full details of a withdrawal, including the status history (statusHistory).
Withdrawal ID, in
wdr_... format.Request
Response 200
Cancel a withdrawal
Cancels a withdrawal only while it is inrequested status (not yet approved).
This endpoint accepts the optional
Idempotency-Key header.Withdrawal ID, in
wdr_... format.Cancellation reason (at least 1 character). Optional — a default reason is recorded when omitted.
Request
Response 200
Test in sandbox
In the sandbox you can simulate balance release and withdrawal settlement without moving real funds.Sandbox overview
How the test environment works.
Simulate events
Force transitions to test the withdrawal flow.
See also
Wallets
Balance, statement, and period summary.
Fees
How fees are calculated.
Split
Splitting amounts between recipients.
Webhooks
Receive real-time withdrawal notifications.

