For sandbox/testing environments, use the following endpoint:
https://sandbox-fireblocks.deframe.io
This guide explains how clients with Fireblocks custody can integrate with our Smart Wallet and Strategy system, including deposits, withdrawals, position tracking, and recommended security best practices.
Overview
The integration leverages Smart Wallets to provide segregated user accounts while keeping your Omnibus wallet isolated from strategy bytecode execution. This architecture ensures maximum security by preventing your main operational wallet from signing potentially untrusted transactions.
Prerequisites
Before starting the integration, ensure you have:
A Fireblocks account with API access
Understanding of Fireblocks Transaction Authorization Policy (TAP)
To safely interact with strategy bytecode while isolating your Omnibus wallet, Fireblocks must be configured with dedicated roles and policies.
Creating Roles
To ensure clean separation of responsibilities and secure execution:
Role
Description
Initiator
The API user or service responsible for submitting strategy-related transactions to Fireblocks. This user will call Fireblocks when signing strategy bytecode.
Earn Owner
A dedicated vault that acts as the Smart Wallet Owner. This address serves as the signer for smart wallet transactions, providing security segmentation from your main operational wallet.
Creating Policies
Two policies must be configured in Fireblocks to ensure automated, safe signing of transactions:
Contract Call Policy
Setting
Value
Initiator
The API user created for strategy operations
Source
Earn Owner vault
Signer
Co-signer (for automatic signing)
Typed Message Policy
Setting
Value
Initiator
The API user created for strategy operations
Source
Earn Owner vault
Signer
Co-signer (for automatic signing)
2. Smart Wallet Creation
Each user receives their own segregated smart wallet. Create one by calling:
Request Body:
Parameter
Type
Description
owner
string
Who will be the owner of the smart wallet
chainId
number
The blockchain network ID
Response:
3. Store the Smart Wallet Mapping
You must store the mapping between your internal user IDs and their smart wallet addresses:
This mapping enables you to:
Display user balances and yield
Track user performance
Execute operations on behalf of users
4. Deposit Flow
When a user wants to deposit into a strategy (e.g., 100 USDC):
Step 1: Transfer Funds to Smart Wallet
Transfer the deposit amount from your Omnibus wallet to the user's smartWalletAddress.