{"id":21343,"library":"fireblocks","title":"Fireblocks Python SDK","description":"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.","status":"active","version":"17.0.0","language":"python","source_language":"en","source_url":"https://github.com/fireblocks/py-sdk/tree/master","tags":["crypto","fireblocks","api","sdk","blockchain"],"install":[{"cmd":"pip install fireblocks","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"HTTP client for API calls","package":"requests","optional":false}],"imports":[{"note":"The SDK class is in the fireblocks_sdk module, not the top-level package.","wrong":"from fireblocks import FireblocksSDK","symbol":"FireblocksSDK","correct":"from fireblocks_sdk import FireblocksSDK"}],"quickstart":{"code":"from fireblocks_sdk import FireblocksSDK\nimport os\n\napi_key = os.environ.get('FIREBLOCKS_API_KEY', '')\nsecret_key = os.environ.get('FIREBLOCKS_SECRET_KEY', '')\n\nfireblocks = FireblocksSDK(secret_key, api_key)\ntry:\n    vault_accounts = fireblocks.get_vault_accounts()\n    print(vault_accounts)\nexcept Exception as e:\n    print(f\"Authentication failed: {e}\")","lang":"python","description":"Initialize SDK with API key and secret, then list vault accounts."},"warnings":[{"fix":"Pin to a specific version in requirements.txt: fireblocks==17.0.0","message":"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.","severity":"breaking","affected_versions":">=12.0.0"},{"fix":"Update code accessing otherNames items to use item['name'] and item['language'] instead of plain string.","message":"GleifData.otherNames changed from list of strings to list of objects with 'name' and 'language' fields in v17.0.0.","severity":"breaking","affected_versions":">=17.0.0"},{"fix":"When creating or updating InteracAddress objects, include autoDeposit field.","message":"InteracAddress schema now requires autoDeposit boolean field (added in v16.0.0).","severity":"breaking","affected_versions":">=16.0.0"},{"fix":"Wrap API calls in try/except and check response.json() for 'error' field.","message":"The SDK does not raise exceptions for API-level errors by default; you must check response status and error fields manually.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Use: from fireblocks_sdk import FireblocksSDK","cause":"Importing from the top-level package instead of the correct submodule.","error":"AttributeError: module 'fireblocks' has no attribute 'FireblocksSDK'"},{"fix":"Use: FireblocksSDK(secret_key, api_key)","cause":"Arguments order: secret_key first, api_key second. Common to swap them.","error":"TypeError: __init__() missing 1 required positional argument: 'api_key'"},{"fix":"Ensure API keys are generated from Fireblocks console and passed as raw strings (no extra newlines).","cause":"Invalid API key or secret key, or keys are not correctly base64-encoded.","error":"requests.exceptions.HTTPError: 401 Client Error: Unauthorized"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}