Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.bloobank.com/llms.txt

Use this file to discover all available pages before exploring further.

A wallet represents the balance of an operational account on Bloobank. Each wallet is identified by a unique walletId and operates in a specific currency. Every financial operation — receiving, sending, reconciliation, balance lookup — happens in the context of a wallet. Other entities (Pix-In, Pix-Out, etc.) reference the source or destination wallet.

Key concepts

Identity

Each wallet has a unique, persistent walletId generated by Bloobank at creation time.

Balance

The balance is split into three views: total, available, and locked.

Multi-currency

Each wallet operates in a specific currency (ccy). To move more than one currency, use distinct wallets.

Versioning

The walVersion field enables optimistic concurrency control on balance-dependent operations.

Wallet structure

FieldTypeDescription
idstringUnique wallet identifier.
namestringHuman-readable internal name for operational use.
kindstringWallet type (e.g. operational, escrow).
statusstringCurrent wallet state (e.g. active, suspended).
walVersionintegerCurrent wallet version, incremented on every movement.
createdAtstringCreation date in UTC ISO 8601.
updatedAtstringLast update in UTC ISO 8601.
TODO (needs to be filled manually): Internal documentation does not yet enumerate the possible values of kind and status on the wallet. The fields exist on the model, but the constants must be confirmed with the product team before publishing the list of accepted values.

Wallet balance

A wallet’s balance is broken down into three complementary views:
FieldDescription
amountTotal balance recorded on the wallet, summing all positions.
availableBalance effectively available to start new operations.
lockedBalance held by in-flight operations (e.g. Pix-Out in processing).
Whenever an operation starts, the involved amount leaves available and enters locked until final confirmation. On completion, the balance returns to the correct state: released on failure, or definitively debited on success.
All balance values are represented as integers, in the smallest unit of the currency (cents for BRL). To convert to a human-readable value, divide by the number of decimal places indicated in decimals (2 for BRL).

Money structure

The amount, available, and locked fields are objects of type Money:
{
  "ccy": "BRL",
  "decimals": 2,
  "value": 15000
}
FieldDescription
ccyISO currency code (e.g. BRL, USD).
decimalsCurrency decimal places (2 for BRL).
valueInteger value in the smallest unit. 15000 = BRL 150.00.

Use cases

Display the wallet balance in real time for the operator, separating what is available for immediate use from what is held by in-flight transactions.
Compare amount, available, and locked at end of day to ensure all movements were reconciled correctly.
Before initiating a Pix-Out, validate that available covers the transfer amount. This avoids rejections due to insufficient funds.
Track variations of available throughout the day to detect anomalous activity or unexpected holds.

Next steps

Wallet Balance

Endpoint to fetch the current balance of a wallet.

Pix - Cash-in

Receive funds via Pix into a wallet.

Pix - Cash-out

Send funds via Pix from a wallet.