Bank Account

API Documentation

An account is an object with the ability to hold, send, and receive funds. Accounts at Column are unique and powerful as they both serve as a dynamic and real-time ledger and contain the properties of a “normal” bank account. Entities can have any number of accounts, with one or multiple account numbers.

The account object in our data model is fully agnostic of the legal bank account structure you choose to implement. Accounts can be tailored to your individual use case, from individual, FDIC-insured DDA accounts to virtual accounts under a single FBO account. They’re designed to give you visibility into granular transfer activities within Column, providing transparency and operational efficiency.

A Demand Deposit Account (DDA) is what we consider a legal bank account. This is a standalone account with one or many account numbers. A virtual account is not a legal bank account, but an object used for ledgering transactions. A "For the Benefit of" (FBO) account describes a compilation of entities and account objects under a single root entity. Column will work with you to determine the best account model for your program and ensure you understand all legal implications of your account structure. Checkout our use case guides for additional details.

Root Accounts

Root accounts are accounts owned by a Root Entity, or the entity responsible for the platform. The funds in these accounts are directly owned by you or your company. When you create your platform, two important root accounts will be created automatically.

  • Overdraft reserve account: This account is used to cover negative balances that overdraftable accounts may have on your platform. Learn more here.
  • Program reserve account: For most money movement use cases, you must hold a percentage of your volume in a program reserve account. Your reserve requirement is determined by Column.


An account can have three balances:

  • available_balance: This balance is the amount of money that is available to spend. If the account is not enabled for overdrafts, any requests to move money for an amount greater than the available balance will fail.
  • pending_balance: This balance is the total amount of transfers that are in a pending state. These transfers will affect the available_balance upon settlement unless they are returned or canceled prior to completion.
  • locked_balance: This balance is the total amount of locked funds in a root entity account. The locked balance is posted on the account but cannot be withdrawn. Read more about overdrafts below to learn about why a root entity account balance may be locked.


You can enable accounts to be overdraftable. However, all accounts can only be overdrawn by the amount in your overdraft reserve root account. The total amount of overdrafts on a platform is represented by the locked_balance on the overdraft reserve root account.

See the overdraft section for more details.