Everything developers need to build on the blockchain
Explore the Fireblocks platform to build with security and scale without limits with our APIs, SDKs, guides, and tutorials.

Build seamless on-chain experiences with embedded wallets
Create and embed secure non-custodial MPC wallets into your iOS, Android, or Web application. Fireblocks Wallet SDKs provide the building blocks to customize our non-custodial key management solution to your requirements.
Fireblocks’ New Developer APIs: Build on Blockchain Without Complexity
Blockchain innovation is accelerating, offering new opportunities for developers to create secure applications. However, integrating blockchain infrastructure is getting increasingly complex. With more fragmentation, developers often have to juggle multiple tools, workarounds, and technical intricacies to manage network data, retrieve asset properties, and execute transactions effectively. This slows down innovation, increases operational overhead, and diverts […]
Helping builders develop and deploy faster
-
-
Easy-to-use API references
Leverage robust REST APIs to programmatically launch new products on Fireblocks' capabilities. Explore our APIs via OpenAPI 3.0 (Swagger) or using Postman.
API Overview -
Versatile SDKs
Get started with the SDK you need. Use pre-built components and API libraries to create applications for a variety of use cases.
SDKs and Dev Tools -
Event-driven developer webhooks
Get real-time notifications for events happening within your Fireblocks workspace and ensure that all relevant event types are broadcasted to your designated endpoint.
Configure webhooks
-
Easy-to-use API references
-
import { Fireblocks, BasePath } from "@fireblocks/ts-sdk"; import fs from "fs"; import path from "path"; const secretKey = fs .readFileSync(path.resolve(__dirname, "fireblocks_secret.key"), "utf8") .split(String.raw`\n`) .join("\n"); const fireblocks = new Fireblocks({ secretKey, apiKey:'api-key', basePath:BasePath.US }); //create vault await fireblocks.vaults.createVaultAccount({ createVaultAccountRequest: { name: "QuickStartVaultAccount" } }); //create tx await fireblocks.transactions.createTransaction({ transactionRequest: { assetId: "BTC", source: { id: "1", type: "VAULT_ACCOUNT" }, destination: { id: "2", type: "VAULT_ACCOUNT" }, amount: 1 } });
Build in your preferred language
Get access to guides, see examples of a basic API scripts, and use code examples in your languages and tools.
Build fast without compromising on security
Fireblocks designed a security system that layers advanced cryptography and hardware defenses to protect all attack surfaces and eliminate the reliance on a single security technology – resulting in a truly secure environment for storing, transferring, and issuing digital assets.
One platform to build across the blockchain ecosystem
Provide your users with access to any blockchain from a single wallet while maintaining the highest level of security. Fireblocks has the leading blockchain support with over 60 EVM and non-EVM chains.
-
const ethers = require("ethers") const { FireblocksWeb3Provider, ChainId } = require("@fireblocks/fireblocks-web3-provider") const fireblocksWeb3Provider = new FireblocksWeb3Provider({ privateKey: process.env.FIREBLOCKS_API_PRIVATE_KEY_PATH, apiKey: process.env.FIREBLOCKS_API_KEY, vaultAccountIds: process.env.FIREBLOCKS_VAULT_ACCOUNT_IDS, chainId: ChainId.Ethereum, }); const provider = new ethers.providers.Web3Provider(fireblocksWeb3Provider); /* . . <--------- The rest of your usual ethers.js code ---------> . . */
-
module.exports = { solidity: "0.8.17", networks: { sepolia: { url: "https://sepolia.drpc.org", fireblocks: { privateKey: process.env.FIREBLOCKS_API_PRIVATE_KEY_PATH, apiKey: process.env.FIREBLOCKS_API_KEY, vaultAccountIds: process.env.FIREBLOCKS_VAULT_ACCOUNT_IDS, } }, }, };
-
import { FireblocksConnectionAdapter } from "fireblocks/solana-web3-adapter"; import { sendAndConfirmTransaction, Transaction } from "@solana/web3.js"; const fireblocksConnectionConfig: FireblocksConnectionAdapterConfig = { apiKey: process.env.FIREBLOCKS_API_KEY, apiSecretPath: process.env.FIREBLOCKS_SECRET_KEY_PATH, vaultAccountId: 0, }; const fireblocksAdapter = await FireblocksConnectionAdapter.create( clusterApiUrl("mainnet-beta"), fireblocksConnectionConfig, ); const transaction = new Transaction(); transaction.add( SystemProgram.transfer({ fromPubkey: accountPublicKey, toPubkey: recipient, lamports: LAMPORTS_PER_SOL * 0.1, }), ); await sendAndConfirmTransaction(fireblocksAdapter, transaction, []);
Seamless Integration with Popular Developer Tools
Empower your workflow with tools designed to integrate effortlessly with leading open source libraries.
Join the Fireblocks' developer community!
Get inspired, ask questions, browse developer-specific topics where inspiration meets collaboration.
trusted by 1,800+ of the world’s leading organizations