> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kuru.io/llms.txt
> Use this file to discover all available pages before exploring further.

# AccountCore Events

> Reconstruct ID-based accounts, balances, and root-wide permissions.

Process logs in block, transaction, and log order, and retain block hashes for rollback. Account IDs are persistent numeric identities; a child has no account address.

## Identity and permissions

| Event | Reducer action |
| - | - |
| `AccountRegistered(accountId, rootAccountId, rootOwner, subaccountSeq)` | Store the ID, owner, root, and sequence; root sequence is zero |
| `SubaccountCreated(rootAccountId, subaccountId, authorizer)` | Record child creation and actor provenance |
| Signer authorization/revocation events | Update the root grant and epoch; apply it to all family members |

Creating a child does not increment the authorization epoch. Preserve the exact stored permission bits and apply role implications when evaluating effective access. Use the current exported AccountCore ABI for parameter ordering and indexed fields.

## Balances

Use deposit, withdrawal, and internal-transfer events for activity history. `SpotReserveUpdated` provides absolute free and active-order-reserved balances. Apply every snapshot in log order; the last snapshot for an ID/token within a transaction is its final state.

Deposits credit roots. Withdrawals debit roots and pay an explicit external recipient. Internal transfers move free balance between IDs in one family. A registered recipient of a withdrawal still receives an external payout, not ledger credit.

Passive inventory is separate from free and order-reserved balance. Join the market's position/band events for a complete portfolio.

## Builder fees

Positive fees credit the builder's root free balance. AccountCore can register that root during accrual. The balance snapshot precedes `BuilderFeeAccrued`; record fee attribution but do not add it to a second claim ledger or double-credit the snapshot.

Zero-fee attribution need not create a builder root. Builder withdrawals follow normal root custody events.

## Withdrawal controls

Index the limiter binding, token price-source bindings, drip configuration, withdrawal freezes, dedicated withdrawal authority/epoch, and approved-withdrawal events using their emitting contracts' current ABIs. Limiter capacity and oracle freshness depend on time, so stored events alone are not a current executable-withdrawal quote.

Use [WithdrawalLimiter](/contracts/withdrawal-limiter) for the distinction between ordinary capacity and approved payouts.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.