Skip to main content

Accounting & Statements

The accounting API provides unified financial data across all blockchains — real-time balances, historical statements, and a transaction-level ledger for reconciliation and compliance.

Real-Time Balances

Get current balances across vaults and accounts:

curl -H "Authorization: Bearer $TOKEN" \
"https://api.carabaas.com/api/v1/accounting/balances?organizationId=djk2wDuMhsx9KR2r7JgBQW"

Historical Statements

Pull balance snapshots for a date range — incoming balance, deposits, withdrawals, outgoing balance, and fees:

curl -H "Authorization: Bearer $TOKEN" \
"https://api.carabaas.com/api/v1/accounting/statements?startDate=2026-04-01&endDate=2026-04-30"

Filter Options

ParameterDescription
startDateStart date (YYYY-MM-DD)
endDateEnd date (YYYY-MM-DD)
vaultIdFilter by vault
accountIdFilter by account
networkFilter by network
filter[asset]Filter by asset

Accounting Transactions

A unified ledger of every financial event — deposits, withdrawals, fees, and internal movements:

curl -H "Authorization: Bearer $TOKEN" \
"https://api.carabaas.com/api/v1/accounting/transactions?organizationId=djk2wDuMhsx9KR2r7JgBQW"

Response Example

{
"data": [
{
"id": "66245",
"vaultId": "d9JKtJKKjHKcpFkgstJ8nz",
"accountIndex": 2,
"address": "0x1405...401c",
"blockchainHash": "0xd7a9...97fc",
"account": "a",
"type": "payin_confirmed",
"asset": "c1_t0xCaC5...3bB9",
"amount": "100000000",
"amountFormatted": {
"asset": {
"name": "PYUSD Sepolia",
"decimals": 6,
"type": "erc20",
"network": "ethereum-sepolia"
},
"value": "100"
},
"status": "CONFIRMED",
"network": "ethereum-sepolia",
"createdAt": "2026-04-15T08:28:37.375Z",
"financedAt": "2026-04-15T08:28:36.000Z"
}
],
"pagination": { "page": 0, "pageSize": 25 },
"hasMore": true
}

Transaction Types

TypeLedgerDescription
payin_confirmedBalanceIncoming deposit confirmed on-chain
payout_processingFreezeAmount reserved for pending withdrawal
payout_confirmedBalanceWithdrawal confirmed on-chain
payout_confirmedFreezeReserved amount released after confirmation
payout_feeBalanceNetwork fee deducted from the sending address

Ledger Model

The platform uses a double-entry ledger for withdrawals:

  • Balance — confirmed on-chain position
  • Freeze — amounts reserved for pending outgoing transactions
  • Available balance = Balance - Freeze

This prevents double-spending by reserving funds immediately when a transaction is created, before it reaches the blockchain.

Key Fields

FieldDescription
typeOperation type (see table above)
amountRaw amount in smallest unit (wei, satoshi, etc.)
amountFormattedHuman-readable value with asset metadata
accounta = actual balance, freeze = reserved amount
statusCONFIRMED (on-chain), IN_BLOCK, INIT (pending)
financedAtBlock timestamp (when the event happened on-chain)
createdAtPlatform timestamp (when the event was recorded)
blockchainHashOn-chain transaction hash (absent for freeze entries)

Top Vault Addresses

Get the top addresses by balance for a vault:

curl -H "Authorization: Bearer $TOKEN" \
https://api.carabaas.com/api/v1/accounting/vaults/{vaultId}/top

See Also