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

# Overview

> How accounts work and how their balance is computed.

An account is the unit of spending in Reap. Every card is issued against an account, every authorization is evaluated against an account's balance, and every settlement clears debt on an account.

## Ownership

Each account belongs to a single owner. Your project's [program mode and account ownership](/program-configuration/overview) decide what type of owner you create accounts for.

* **USER ownership.** Each account belongs to a verified individual user with their own isolated balance. The only option for consumer programs, and available in corporate programs for per-user spending.
* **COMPANY ownership.** Each account belongs to a verified company with a single pooled balance shared across all cardholders under that company. Only available in corporate programs.

<Note>
  Individual cardholders always require an approved KYC application before a card can be issued to them, even when the balance lives at the company level.
</Note>

## How balance is computed

Every account has a balance made up of three numbers:

```
availableBalance = assets - liabilities
```

* **Assets** is what backs spending. The shape depends on your [funding model](/program-configuration/funding-models). In User-Funded projects it is stablecoin deposits held in the account's wallets. In Program-Funded projects it is the Virtual Asset balances you allocate (Managed mode); under [External authorization](/transactions/external-authorization/overview) no per-user asset balance is held in Reap.
* **Liabilities** is outstanding card spend: authorizations on hold and cleared amounts that have not yet been settled.
* **Available balance** is what the cardholder can actually use at the moment of a card swipe.

Call [Get account balance](/api-reference/accounts/get-account-balance) at any time to read these values. `availableBalance` is the number you surface in your product when showing a user how much they have loaded on their card.

## Typical funding flow

<Tabs>
  <Tab title="User-Funded">
    1. [Create an account](/api-reference/accounts/create-account) with the owner type and owner ID. You get back a deposit address for each enabled chain.
    2. Share the deposit addresses with your user. They send supported stablecoins. See [Funding via Deposits](/accounts/deposits).
    3. Track deposits via the [CRYPTO\_DEPOSIT\_CREATED](/api-reference/crypto-deposit-created) and [CRYPTO\_DEPOSIT\_STATUS\_UPDATED](/api-reference/crypto-deposit-status-updated) webhooks.
    4. Once a deposit is approved, the balance updates automatically. Check it via [Get account balance](/api-reference/accounts/get-account-balance).
  </Tab>

  <Tab title="Program-Funded">
    1. Your project has a project-level master collateral account, provisioned at setup. Fund it with stablecoin deposits. See [Funding via Deposits](/accounts/deposits).
    2. [Create an account](/api-reference/accounts/create-account) for each verified user or company. Accounts in Program-Funded do not have their own deposit addresses.
    3. [Post deposits, withdrawals, and settlements](/virtual-assets/postings) against each account to keep its Virtual Asset balances in sync with what the user has on your side.
    4. Call [Get account balance](/api-reference/accounts/get-account-balance) at any time. Balance updates as you allocate and as the user spends.
  </Tab>
</Tabs>

## Assets breakdown

The [assets endpoint](/api-reference/accounts/get-account-assets) shows what is held in the account, broken down per chain and per token (or per Virtual Asset symbol in Program-Funded projects).

Only approved balances are included. Deposits that are still being confirmed on chain do not count toward `assets` or `availableBalance`. They surface in the deposit and activity feeds until approval, at which point both values update.

## Activity

The [activity feed](/api-reference/activities/list-activities) gives a chronological record of all fund movements on an account: deposits, card transactions, virtual asset postings, and more. Filter by account or activity type to scope it to a specific user, or use it to power a transaction history view in your product.
