Balance transactions
Balance transactions are the line-level records behind your Inttegro balance. Use them to explain why a balance changed, which payments became payout-eligible, which refunds consumed funds, and which transactions were included in a payout.
An authenticated AI agent can compare balance snapshots with recent balance transactions, orders, and payouts while keeping the investigation read-only.
MCP tools: get_balances, list_balance_transactions, get_order or get_payout
Use this page to understand the product model. Use the Balance Transactions API reference for exact fields, pagination, lookup behavior, and examples.
What balance transactions are for
A balance snapshot tells you the current aggregate amounts. Balance transactions explain the movement behind those amounts.
Use them when you need to answer:
- which payment created this balance movement;
- which refund reduced available funds;
- when a payment becomes eligible for payout;
- how much of a payment funded each refund or payout;
- why a payout included less than an operator expected; or
- what line-level evidence supports a finance or support investigation.
Do not treat balance transactions as a complete general ledger. They are Inttegro’s product-level money movement evidence for payments, refunds, availability, and payout reconciliation.
The transaction model
Each balance transaction has a semantic source. Payment transactions also show how their original amount is divided among available, pending, and permanently spent capacity.
| Field | Meaning |
|---|---|
id | Balance transaction ID. Store it as the reconciliation key for this line. |
type | Why the entry exists, currently payment or refund. It is not a debit/credit direction. |
amount | Unsigned amount in minor units. Use type and related IDs to understand the movement. |
order_id | Order associated with the source payment or refund. |
payment_id | Present when type is payment. |
refund_id | Present when type is refund. |
available_at | When payment funds become eligible for payout. Omitted when it does not apply. |
available_amount | Payment amount still available for a refund or payout. |
pending_amount | Payment amount reserved by unresolved refund or payout allocations. |
spent_amount | Payment amount permanently consumed by completed allocations. |
allocations | Every current pending or completed refund and payout allocation. Released allocations are omitted. |
claimed_at, payout_id, paid_at | Deprecated whole-transaction payout fields retained only for historical records. New integrations should inspect allocations. |
For a payment transaction, amount = available_amount + pending_amount + spent_amount. Allocation-specific fields are omitted from refund transactions because they are consumers of payment capacity rather than allocation sources.
Each allocation includes a stable bta_... ID, type, public status, investigation timestamps, and one matching nested object:
type: refundincludesrefund: { id, amount };type: payoutincludespayout: { id, amount };status: pendingmeans the amount is reserved but its outcome is unresolved; andstatus: completedmeans the amount has been permanently consumed and includescompleted_at.
Inttegro intentionally does not expose internal reservation, retry, reconciliation, group, or storage states in this response.
Payments, availability, and payouts
Payment balance transactions usually move through availability and payout stages.
- A successful payment creates balance activity for the order.
- The transaction has an
available_attimestamp when it must age before payout. - Before
available_at, the funds can appear as pending in the balance snapshot. - After
available_at, the funds can become payout-eligible if no other rule blocks them. - Refund and payout selection can reserve some or all of the available amount with pending allocations.
- A completed consumer moves its allocation amount from
pending_amounttospent_amount; a safely released consumer returns its amount toavailable_amountand is omitted from current allocations.
This is why balance transactions are essential for payout debugging. A balance can look high while transactions are still aging, already allocated to pending work, or not matched to the destination currency being paid out.
The balance transactions attached to a payout identify its source payments, but their original amounts do not necessarily add up to the payout. On each source transaction, use the nested amount of the payout allocation whose ID matches the payout. Treat the payout amount as authoritative and use How payouts use your balance when reconciling the difference.
Refunds and balance movement
Refund balance transactions connect returned money back to a refund and order. They help explain why available balance changed after support or operations accepted a refund.
When a refund is pending, Inttegro reserves the merchant funds and refundable line-item capacity needed for that refund. A successful refund consumes those funds and leaves refund-linked balance transaction evidence. A canceled pending refund can release the hold for future payout consideration.
See How refunds affect balances and payouts for the refund-specific operating model.
Balance transactions vs balances
Use both views together.
| Need | Use |
|---|---|
| Show current totals | Balances |
| Explain why totals changed | Balance transactions |
| Decide whether payout is possible | Balance snapshot, payout settings, and recent balance transactions |
| Reconcile a payout | Payout record and matching nested payout allocations on its source balance transactions |
| Investigate a refund | Refund record and refund-linked balance transactions |
| Support a customer question | Order, payment or refund, then related balance transactions |
The balance snapshot has a cutoff. If a transaction happened after includes_transactions_before, it is not represented in that snapshot yet.
Where MCP helps
MCP is useful for read-only investigation:
- fetch current balances;
- list recent balance transactions;
- inspect returned rows' available, pending, and spent amounts plus current allocations;
- look up the related order or payout when available; and
- explain differences without estimating missing history.
MCP balance-transaction listing is bounded. Use the API reference when you need exact pagination or a specific balance transaction lookup by bt_... ID.
Implementation checklist
Before relying on balance transactions in production:
- store returned
bt_...IDs where reconciliation needs line-level evidence; - normalize currency codes before comparing amounts;
- keep amounts in integer minor units;
- do not infer debit or credit direction from
amount.valuealone; - treat missing optional timestamps as absent, not zero;
- compare
available_atwith payout timing before explaining eligibility; - reconcile completed payouts through matching
payoutallocations and their nested amounts; - use
refund_idto explain refund impact; and - keep balances and balance transactions together in finance/support tooling.
Related resources
- Balance Transactions API reference - Exact lookup and pagination contract.
- Understand balances - Aggregate balance snapshots and cutoff semantics.
- How payouts use your balance - How eligible transactions are selected and reconciled.
- Refunds - How refunds reserve, consume, or release balance.
- Orders - Original commercial records that create payment and refund activity.