We recommend organizing your Fireblocks Vault using one of the following structures. While they have fundamental differences, both structures use the blockchain as a single source of truth ledger.
The segregated Vault structure consists of individual vault accounts for each end client. Funds are stored in and invested from each account.
In a segregated Vault structure:
- Reconciliation is unnecessary since funds are invested directly from individual vault accounts and never transferred to other vault accounts within your Vault.
- Tracking and auditing are simplified. Compliance is easier since each transaction can be associated with the person who made it.
- On-chain transaction fees are usually considered the cost of doing business.
- Funds are available immediately to respond to changes in the market since the funds are invested directly from your end client's vault accounts.
The sweep-to-omnibus Vault structure consists of a central vault account and additional vault accounts for each end client. Funds are deposited into the end client vault accounts and then swept to the central vault account, where the funds can be invested.
In a sweep-to-omnibus Vault structure:
- Reconciliation is completed during the on-chain sweeping transaction.
- Account management is simplified by using a single vault account for treasury management and investing. You can apply the desired logic to an internal database.
- End-client deposit addresses remain private and unexposed to third parties since outbound transactions are sent from the Omnibus Deposits vault account.
- Since funds must be transferred twice (deposited then swept), you pay transfer fees twice before being able to invest the funds. We recommend sweeping funds once per day when fees cost less. This lets you deduct expected fees from the original deposited amount when you credit your end clients.
- Funds are not immediately available to respond to market changes since they should be swept only when transfer fees can be optimized.
We recommend using the following vault accounts when implementing this Vault structure:
- Intermediate vault accounts: These are the vault accounts assigned to each end client. Because you could have numerous end clients, you can use the Fireblocks API to generate as many intermediate vault accounts as needed.
- Omnibus Deposits: The central vault account where end-client funds are swept and stored.
- Withdrawal Pool: The vault account containing the funds allocated for end-client withdrawal requests. More than one Withdrawal Pool vault account may be required due to blockchain limitations.
Updated 3 months ago