Fireblocks Python SDK

raw JSON →
17.0.0 verified Mon Apr 27 auth: no python

Official Python SDK for the Fireblocks API, providing access to vaults, transactions, compliance, trading, tokenization, and more. Current version 17.0.0 (2026-04-20). Breaking changes are frequent (major version bumps every few weeks); minor releases are feature-driven. Requires Python >=3.8.

pip install fireblocks
error AttributeError: module 'fireblocks' has no attribute 'FireblocksSDK'
cause Importing from the top-level package instead of the correct submodule.
fix
Use: from fireblocks_sdk import FireblocksSDK
error TypeError: __init__() missing 1 required positional argument: 'api_key'
cause Arguments order: secret_key first, api_key second. Common to swap them.
fix
Use: FireblocksSDK(secret_key, api_key)
error requests.exceptions.HTTPError: 401 Client Error: Unauthorized
cause Invalid API key or secret key, or keys are not correctly base64-encoded.
fix
Ensure API keys are generated from Fireblocks console and passed as raw strings (no extra newlines).
breaking Frequent breaking updates: The SDK releases major versions often (e.g., v14->v15->v16->v17 in one month). Always pin your version and review changelogs before upgrading.
fix Pin to a specific version in requirements.txt: fireblocks==17.0.0
breaking GleifData.otherNames changed from list of strings to list of objects with 'name' and 'language' fields in v17.0.0.
fix Update code accessing otherNames items to use item['name'] and item['language'] instead of plain string.
breaking InteracAddress schema now requires autoDeposit boolean field (added in v16.0.0).
fix When creating or updating InteracAddress objects, include autoDeposit field.
gotcha The SDK does not raise exceptions for API-level errors by default; you must check response status and error fields manually.
fix Wrap API calls in try/except and check response.json() for 'error' field.

Initialize SDK with API key and secret, then list vault accounts.

from fireblocks_sdk import FireblocksSDK
import os

api_key = os.environ.get('FIREBLOCKS_API_KEY', '')
secret_key = os.environ.get('FIREBLOCKS_SECRET_KEY', '')

fireblocks = FireblocksSDK(secret_key, api_key)
try:
    vault_accounts = fireblocks.get_vault_accounts()
    print(vault_accounts)
except Exception as e:
    print(f"Authentication failed: {e}")