Balance Floor and Ceiling and Linked Accounts

Accounts can have a minimum and maximum balance, referred to as the balance floor and balance ceiling. These attributes can be used to implement a number of features, including pool accounts.

Balance Floor and Ceiling can be set while creating an account using POST /v0/accounts

Balance Floor

An account's balance floor consists of two attributes:

  • balance: the minimum balance the account can have
  • linked_account_id: the ID of the linked account used to maintain the minimum balance

The balance floor creates a lower limit for the available balance of that account. Any transaction that would put the available balance of the account below its balance floor triggers a just-in-time (JIT) funding transaction from the linked account in order to bring the balance back up to the floor.

Balance Ceiling

The balance ceiling creates an upper limit for the available balance. Any transaction that would put the available balance of the account above its balance ceiling triggers a just-in-time (JIT) funding transaction (also known as a sweep transaction) to the linked account in order to bring the balance back down to the ceiling.

Example Use Cases

Pool Account

There are a number of use cases where you want an account that always has a zero balance, and gets its funds from another account. For example, you many have a single pool account containing the funds for multiple business expense cards. In this case, each card's account would be set up like:

balance_floor: {
    "balance": 0,
    "linked_account_id": "{POOL_ACCOUNT_ID}"
}
balance_ceiling: {
    "balance": 0,
    "linked_account_id": "{POOL_ACCOUNT_ID}"
}

All credits and debits to any of the card accounts would flow through to the pool account. Refer to the Business Expense Cards for more details.