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

# Accounts

> Accounts hold asset balances and facilitate transactions within your Bluerails Organization.

export const AccountFlowDiagram = () => {
  const TransactionsIcon = () => <svg xmlns="http://www.w3.org/2000/svg" className="h-4 w-4 inline-block mr-1 text-gray-500 dark:text-slate-400" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
      <path strokeLinecap="round" strokeLinejoin="round" d="M4 6h16M4 10h16M4 14h16M4 18h16" />
    </svg>;
  const DepositAddressIcon = () => <svg xmlns="http://www.w3.org/2000/svg" className="h-4 w-4 inline-block mr-1 text-gray-500 dark:text-slate-400" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
      <path strokeLinecap="round" strokeLinejoin="round" d="M17 9V7a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2m2 4h10a2 2 0 002-2v-6a2 2 0 00-2-2H9a2 2 0 00-2 2v6a2 2 0 002 2zm7-5a2 2 0 11-4 0 2 2 0 014 0z" />
    </svg>;
  return <div className="my-6 p-4 border border-gray-200 rounded-lg bg-white dark:bg-slate-800 dark:border-slate-700 shadow-sm overflow-x-auto">
      <div className="text-center font-semibold mb-4 text-gray-700 dark:text-slate-200">Organization Context</div>

      <div className="flex flex-col md:flex-row justify-around items-stretch md:items-center gap-8 md:gap-4">

        <div className="flex flex-col items-center justify-center text-center px-2">
          <div className="p-2 rounded-md bg-green-100 dark:bg-green-900/50 dark:border dark:border-green-700/50 mb-2 shadow-sm">
            <svg xmlns="http://www.w3.org/2000/svg" className="h-6 w-6 text-green-600 dark:text-green-400" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
              <path strokeLinecap="round" strokeLinejoin="round" d="M17 13l-5 5m0 0l-5-5m5 5V6" />
            </svg>
          </div>
          <span className="text-sm font-medium text-green-700 dark:text-green-300">Payment In</span>
          <span className="text-xs text-gray-500 dark:text-slate-400 mt-1">(via vIBAN/Crypto Addr)</span>
        </div>

        <div className="border-2 border-blue-500 dark:border-blue-600 rounded-lg p-4 min-w-[250px] text-center bg-blue-50 dark:bg-blue-900/30 relative shadow-md">
          <div className="font-semibold mb-3 text-blue-800 dark:text-blue-200">Accounts</div>

          <div className="bg-white dark:bg-slate-700 border border-gray-300 dark:border-slate-600 rounded p-3 mb-3 shadow-sm text-left text-sm space-y-1">
            <div className="font-medium text-gray-800 dark:text-slate-100">Account 1 (e.g., User Wallet)</div>
            <div className="text-gray-600 dark:text-slate-300">Balance: 100.00 USDC</div>
            <div className="text-gray-600 dark:text-slate-300">Balance: 50.00 EURC</div>
            <div className="border-t border-gray-200 dark:border-slate-500 pt-1 mt-1">
              <div className="text-xs text-gray-500 dark:text-slate-400"><TransactionsIcon /> Transactions</div>
              <div className="text-xs text-gray-500 dark:text-slate-400"><DepositAddressIcon /> Deposit Addr.</div>
            </div>
          </div>

          <div className="bg-white dark:bg-slate-700 border border-gray-300 dark:border-slate-600 rounded p-3 shadow-sm text-left text-sm space-y-1">
            <div className="font-medium text-gray-800 dark:text-slate-100">Account 2 (e.g., Operations)</div>
            <div className="text-gray-600 dark:text-slate-300">Balance: 500.00 USDC</div>
            <div className="border-t border-gray-200 dark:border-slate-500 pt-1 mt-1">
              <div className="text-xs text-gray-500 dark:text-slate-400"><TransactionsIcon /> Transactions</div>
              <div className="text-xs text-gray-500 dark:text-slate-400"><DepositAddressIcon /> Deposit Addr.</div>
            </div>
          </div>

          <div className="absolute top-1/2 -left-5 transform -translate-y-1/2 text-green-500 dark:text-green-400 hidden md:block" aria-hidden="true">➔</div>
          <div className="absolute top-1/2 -right-5 transform -translate-y-1/2 text-red-500 dark:text-red-400 hidden md:block" aria-hidden="true">➔</div>
        </div>

        <div className="flex flex-col items-center justify-center text-center px-2">
          <div className="p-2 rounded-md bg-red-100 dark:bg-red-900/50 dark:border dark:border-red-700/50 mb-2 shadow-sm">
            <svg xmlns="http://www.w3.org/2000/svg" className="h-6 w-6 text-red-600 dark:text-red-400" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
              <path strokeLinecap="round" strokeLinejoin="round" d="M7 11l5-5m0 0l5 5m-5-5v15" />
            </svg>
          </div>
          <span className="text-sm font-medium text-red-700 dark:text-red-300">Payout Out</span>
          <span className="text-xs text-gray-500 dark:text-slate-400 mt-1">(to Bank/Crypto Addr)</span>
        </div>

      </div>
    </div>;
};

## What is an Account?

An **Account** in Bluerails functions much like a digital wallet within your Organization. It's the fundamental entity used to hold balances of various assets (like stablecoins such as USDC, EURC, or potentially fiat representations) and serves as the source or destination for all fund movements.

Accounts provide a layer of abstraction, allowing you to organize funds, manage user balances, or segregate operational capital within your single Bluerails Organization.

***

## Key Characteristics

* **Belongs to Organization:** Every Account must belong to an Organization. An Organization can have many Accounts.
* **Holds Balances:** Accounts are where the balances of specific assets are recorded and tracked. A single Account can potentially hold balances for multiple different assets, allowing you to manage diverse funds efficiently
* **Supports Multiple Assets:** Designed to handle various asset types, primarily stablecoins, facilitating seamless global operations.
* **Unique Identifier:** Each Account has a unique `account_id` (prefixed with `acct_...`) assigned upon creation, used to reference it in API calls.
* **API Managed:** You can create and manage Accounts through the Bluerails API or via the dashboard, giving you programmatic control over your
  financial structure.
* **Status:** Accounts have a status (e.g., `ACTIVE`, `INACTIVE`) which determines if they can be used for transactions.

***

## Common Use Cases

The flexibility of Accounts allows for various implementation patterns:

1. **User Wallets:** If you run a platform (e.g., marketplace, neobank), you can create an individual Account for each of your end-users to hold their funds within your system.
2. **Operational Segregation:** Create distinct Accounts for different business purposes, such as:

* An account dedicated to receiving customer payments (receivables).
* An account used for making supplier payments or withdrawals (payables).
* Accounts for different regional operations or currencies.
* An operational expense account.

3. **Reconciliation & Tracking:** Use separate Accounts to easily track funds related to specific projects, features, or promotions.

***

## Role in Transactions

Accounts are central to all financial operations on Bluerails:

* **Payments (Inbound):** When funds enter your Organization (e.g., a crypto deposit or settlement from a virtual account), they are credited to the balance of a specific destination Account.
* **Payouts (Outbound):** When you send funds externally (e.g., to a bank account or crypto address), the funds are debited from the balance of a specific source Account.

<AccountFlowDiagram />

***

## Managing Accounts via API

You can programmatically manage Accounts using the Bluerails REST API. Key operations include:

* **Creating:** Provision new Accounts as needed.
* **Retrieving:** Fetch details of a specific Account by its ID.
* **Listing:** List Accounts within your Organization, often with pagination and filtering.
* **Updating:** Modify certain properties of an Account (e.g., its description or metadata).

<Info>
  Refer to the **[Account API Reference](/endpoints/account/create-account)** for detailed endpoint specifications, request/response schemas, and examples.
</Info>

***

With Accounts set up, you can start receiving funds via [Payments (Inbound)](/concepts/payments) or sending funds using [Payouts (Outbound)](/concepts/payouts).
