🔄End-to-End
This guide describes the end-to-end set up, investment, and withdrawal process for Fireblocks users.
1. Setting Up Fireblocks
To connect your Fireblocks workspace to OpenTrade, there are two easy steps to complete. Completing both steps typically takes 10-15 minutes.
A. Whitelist the OpenTrade Vault Contract
This enables you to interact with OpenTrade vault contracts.
A detailed guide for how to do this can be found here.
✅Whitelisting ContractsB. Configure your TAP
The TAP is Fireblocks’ rules engine. The TAP will control who in your organisation can initiate and authorise transactions with OpenTrade and which of your accounts can interact with OpenTrade. This can ultimate be done in many ways according to your specific requirements.
A detailed example of a TAP configuration that works with OpenTrade can be found here.
⚙️Configuring Your TAP3. Creating Vault Accounts
Fireblocks Vault Accounts are a collection of wallets. You may already have one configured. At a minimum, each vault account needs a wallet for
Holding the liquidity asset, USDC or EURC, depending on the vault(s) you wish to invest in
Holding the native network token for paying gas fees (ETH for Ethereum, AVAX for Avalanche
If you'd like to track OpenTrade Vault Token balances in Fireblocks, you can easily list the vault token in your workspace. A guide for how to do this can be found here.
🪙Listing a Vault TokenDedicated Client Vaults
If you wish to create a dedicated vault for each of your customers, you can simply create a vault account for each client. This can make reporting a reconciliation easier.
When performing operations on behalf of your customers, be sure to
Share each client vault wallet address with OpenTrade for whitelisting
Connect their specific vault account to OpenTrade to perform deposits and withdrawals on their behalf
Configure your TAP such that each client vault is authorised to interact with OpenTrade vault tokens. You can do this by selecting them as Source Accounts in the TAP rule.
4. Making Investments
Once your desired Fireblocks account is funded with USDC/EURC and gas tokens, you can make the loans via OpenTrade Web App. To do so:
Open the OpenTrade Web App and connect the whitelisted Fireblocks wallet via WalletConnect. A detailed guide for how to connect via WalletConnect can be found here.
Select the appropriate OpenTrade vault (e.g. Flexible Term USDC Vault)
Click “Invest”
Input the amount to be lent and click "Approve Spending Cap"
Approve the spending cap in your Fireblocks App
Confirm the amount and click "Invest"
USDC will be transferred from the wallet to the OpenTrade Vault and the wallet will receive vault tokens at the current exchange rate
The transfer will show as "Pending Advance" until the Advance Processing Time lapses, after which time it will begin accruing interest. Currently the Flexible Term USDC and EURC Vaults are set to accrue interest T+0, so any deposits made on a business day will begin accruing interest immediately
A detailed guide on the investment process with Fireblocks can be found here.
⬆️Making an Investment5. Making Withdrawal Request
Once your or your underlying client requests wishes withdraw their funds from the product, you can process a withdrawal request using the OpenTrade Web App:
Open the OpenTrade Web App and connect the whitelisted Fireblocks wallet via WalletConnect
Select the appropriate vault (e.g. Flexible Term USDC Vault)
Click “Withdraw”
Input the amount to be withdrawn click "Submit Withdrawal Request"
Approve in your Fireblocks App
USDC will be transferred from the wallet and the wallet will receive vault tokens at the current exchange rate
USDC will automatically be sent back to your wallet within timescales described below and the corresponding amount of tokens will be burned.
A detailed guide on how to perform a withdrawal request can be found here.
⬇️Making a Withdrawal RequestTracking Your/Your Clients' Balances and Positions
There are two ways in which you can keep track of and share balances and positions of yourself and/or your underlying clients:
Fireblocks UI
Through the use of segregated wallets, the stablecoin and vault token balances shown on the Fireblocks Console per wallet will correspond directly to each underlying client, as shown in the screenshot below. To learn how to list a token in Fireblocks, you can access a detailed guide here.
OpenTrade API
You can integrate the OpenTrade API to track balances and performance in real-time.
REST API can be used to return live data on each account, including current balances, interest rates, pending withdrawals by calling GET /vaultsAccount/{vaultAddress}/{accountAddress} endpoint and passing in the vault address and wallet address
GraphQL API allows you to query live and historical data over specific periods of time including balances, interest rates, transaction history, and interest accrued by calling the getPoolFlexAccountForDateRange query and passing in the vault address, wallet address, and start and end dates.
Documentation for both the REST API and graphQL APIs is available on request. Unlimited technical support can be made available during the integration period as well as during production run.
Last updated