The Vault balance architecture is designed to be agnostic to any specific financial product, following the same principle as the Vault system. We provide a flexible balance model that allows products to dynamically create account partitions, called addresses, according to their need. At the same time, payment integrations can post funds to accounts without having knowledge of the product internal structure and its balance partitions. Our balances model, coupled with the flexibility of the Smart Contract system, enables the definition of any financial product, both conventional financial institution products as well as innovative products.
The Vault balance model consists of a series of dimensions to enable flexible representation of any account structure:
Financial institution account space: In this space, accounts exist either as assets or liabilities.
Asset: Each account’s balance space is first partitioned by assets such as cash, commercial money. Custom types can be defined such as loyalty scheme points.
Denominations: Each asset space is then subdivided in dominations.
Addresses: Denominations are divided into addresses, and every denomination space always has a default address. A contract can dynamically create additional addresses that further partition the denomination space to enable representation of any account structure.
Phases: Every address has three phases: Committed, Pending In, or Pending Out. Phases represent transition states for Postings; for example, Pending Out is commonly used for card authorisations.