Skip To Content
Menu
Fireblocks for Developers

Everything developers need to build on the blockchain

Fireblocks non-custodial wallets-as-a-service

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

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.

  •  

    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, []);

     

     

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
Ready for a deeper dive?

Get a Fireblocks Platform Demo

Find out how Fireblocks helps your digital asset business to grow fast and stay secure.

g2 & 4.5/5 stars