The Fireblocks Network is a secure transfer network that allows you to instantly find, connect, and move digital assets across exchanges, fiat providers, liquidity partners, and counterparties.
To use FIREBLOCKS with expand.network SDK, follow these steps:-
Step 1: Installation
User needs to install the expand.network SDK using the following command:
npm i expand-network
Step 2: Wallet Initialisation
const { WalletFireblocks, prepareTransaction } = require('expand-network');
const xApiKey = 'YOUR_API_KEY'; //Replace this with your API key
const dotenv = require('dotenv');
const fs = require('fs');
const path = require('path');
const apiSecret = fs.readFileSync(path.resolve("SECRET_KEY_FILE_PATH"), "utf8");
async function initialiseFireblocksWallet(){
const options = {
apiSecret: apiSecret,
apiKey: "FIREBLOCKS_API_KEY", //Replace this with your Fieblocks API key
}
const wallet = new WalletFireblocks(options);
return wallet;
}
const wallet = await initialiseFireblocksWallet(); //Initialise the wallet
Step 3: Prepare Transaction
// Preparing the approve transaction from expand.network
const preparedTx = await prepareTransaction("https://api.expand.network/fungibletoken/approve", {
"from": "FIREBLOCKS_WALLET_ADDRESS",
"tokenAddress":"0x6B175474E89094C44Da98b954EedeAC495271d0F",
"amount": "10000",
"to": "SPENDER_WALLET_ADDRESS",
"gas": "100000",
"chainId": "1", // Replace with other chainId to toggle between chains
"xApiKey": "YOUR_API_KEY", // Replace this with your API Key
});
Step 4: Sign Transaction
// Sign the transaction locally using sdk client
const signedTx = await wallet.signTransaction(preparedTx);
console.log(signedTx);
Step 5: Send Transaction
// Send the signed transaction
const tx = await wallet.sendTransaction(signedTx);
console.log(tx);
Sample code to approve a fungible token using Fireblocks Wallet: