Skip to main content

Fireblocks Auto Generated SDK

Project description

PyPI version

Fireblocks SDK

The Fireblocks SDK allows developers to seamlessly integrate with the Fireblocks platform and perform a variety of operations, including managing vault accounts and executing transactions securely.

For detailed documentation and additional resources, please refer to the Fireblocks Developer Portal.

Warning This package is currently in a beta stage and should be used at your own risk. The provided interfaces might go through backwards-incompatibale changes. For a more stable SDK, please use the Fireblocks Python SDK

Requirements.

Python >=3.7

Endpoint responses

Endpoint responses have been enriched to now include more information. Any response reom an endpoint will now include the following properties: response: urllib3.HTTPResponse body: typing.Union[Unset, Schema] headers: typing.Union[Unset, TODO] Note: response header deserialization has not yet been added

Installation & Usage

If the python package is hosted on a repository, you can install directly using:

pip install fireblocks

Then import the package:

import fireblocks_client

Usage

Using Environment Variables
You can initialize the SDK using environment variables from your .env file or by setting them programmatically:

// Set the environment variables
os.environ["FIREBLOCKS_BASE_PATH"] = 'https://sandbox-api.fireblocks.io/v1'
os.environ["FIREBLOCKS_API_KEY"] = '<api-key>'
os.environ["FIREBLOCKS_SECRET_KEY"]  = open("./fireblocks_secret.key", "r").read()

Providing Local Variables
Alternatively, you can directly pass the required parameters when initializing the Fireblocks API instance:

FIREBLOCKS_API_SECRET_PATH = "./fireblocks_secret.key";

// Initialize a Fireblocks API instance with local variables
config = Configuration(api_key="my-api-key", base_path="https://sandbox-api.fireblocks.io/v1",secret_key=open(FIREBLOCKS_API_SECRET_PATH, "r").read())
vault_api = vaults_api.VaultsApi(config);

Examples

Create a Vault Account
To create a new vault account, you can use the following function:

create_vault_account_response = vault_api.create_vault_account(body={"name": "New Vault"})

Create a Transaction
To make a transaction between vault accounts, you can use the following function:

tx_request = tx_api_instance.create_transaction(
        body=TransactionRequest(
            source=TransferPeerPath(id="0", type="VAULT_ACCOUNT"),
            destination=DestinationTransferPeerPath(
                id="0", type="VAULT_ACCOUNT"
            ),
            assetId="ETH_TEST3",
            amount="0.001",
        )
    )

Documentation for API Endpoints

All URIs are relative to https://developers.fireblocks.com/reference/

Class Method HTTP request Description
AuditLogsApi get_audits get /audits Get audit logs
BlockchainsAssetsApi get_supported_assets get /supported_assets List all asset types supported by Fireblocks
ContractsApi add_asset_to_contract post /contracts/{contractId}/{assetId} Add an asset to a contract
ContractsApi create_contract post /contracts Create a contract
ContractsApi delete_contract delete /contracts/{contractId} Delete a contract
ContractsApi get_asset_in_contract get /contracts/{contractId}/{assetId} Find a contract asset
ContractsApi get_contract_by_id get /contracts/{contractId} Find a specific contract
ContractsApi get_contracts get /contracts List contracts
ContractsApi remove_asset_from_contract delete /contracts/{contractId}/{assetId} Delete a contract asset
ExchangeAccountsApi convert_assets post /exchange_accounts/{exchangeAccountId}/convert Convert exchange account funds from the source asset to the destination asset. Coinbase (USD to USDC, USDC to USD) and Bitso (MXN to USD) are supported conversions.
ExchangeAccountsApi get_exchange_account_asset get /exchange_accounts/{exchangeAccountId}/{assetId} Find an asset for an exchange account
ExchangeAccountsApi get_exchange_account_by_id get /exchange_accounts/{exchangeAccountId} Find a specific exchange account
ExchangeAccountsApi get_exchange_accounts get /exchange_accounts List exchange accounts
ExchangeAccountsApi internal_transfer post /exchange_accounts/{exchangeAccountId}/internal_transfer Internal tranfer for exchange accounts
ExternalWalletsApi add_asset_to_external_wallet post /external_wallets/{walletId}/{assetId} Add an asset to an external wallet.
ExternalWalletsApi create_external_wallet post /external_wallets Create an external wallet
ExternalWalletsApi delete_external_wallet delete /external_wallets/{walletId} Delete an external wallet
ExternalWalletsApi get_asset_in_external_wallet get /external_wallets/{walletId}/{assetId} Get an asset from an external wallet
ExternalWalletsApi get_external_wallet_by_id get /external_wallets/{walletId} Find an external wallet
ExternalWalletsApi get_external_wallets get /external_wallets List external wallets
ExternalWalletsApi remove_asset_from_external_wallet delete /external_wallets/{walletId}/{assetId} Delete an asset from an external wallet
ExternalWalletsApi set_customer_ref_id_for_external_wallet post /external_wallets/{walletId}/set_customer_ref_id Set an AML customer reference ID for an external wallet
FiatAccountsApi deposit_funds_from_linked_dda post /fiat_accounts/{accountId}/deposit_from_linked_dda Deposit funds from DDA
FiatAccountsApi get_fiat_account_by_id get /fiat_accounts/{accountId} Find a specific fiat account
FiatAccountsApi get_fiat_accounts get /fiat_accounts List fiat accounts
FiatAccountsApi redeem_funds_to_linked_dda post /fiat_accounts/{accountId}/redeem_to_linked_dda Redeem funds to DDA
GasStationsApi get_gas_station get /gas_station Get gas station settings
GasStationsApi get_gas_station_by_asset_id get /gas_station/{assetId} Get gas station settings by asset
GasStationsApi update_gas_station_configuration put /gas_station/configuration Edit gas station settings
GasStationsApi update_gas_station_configuration_by_asset_id put /gas_station/configuration/{assetId} Edit gas station settings for an asset
InternalWalletsApi create_internal_wallet post /internal_wallets Create an internal wallet
InternalWalletsApi create_internal_wallet_asset post /internal_wallets/{walletId}/{assetId} Add an asset to an internal wallet
InternalWalletsApi delete_internal_wallet delete /internal_wallets/{walletId} Delete an internal wallet
InternalWalletsApi delete_internal_wallet_asset delete /internal_wallets/{walletId}/{assetId} Delete a whitelisted address from an internal wallet
InternalWalletsApi get_internal_wallet_asset get /internal_wallets/{walletId}/{assetId} Get an asset from an internal wallet
InternalWalletsApi get_internal_wallet_by_id get /internal_wallets/{walletId} Get assets for internal wallet
InternalWalletsApi get_internal_wallets get /internal_wallets List internal wallets
InternalWalletsApi set_customer_ref_id_for_internal_wallet post /internal_wallets/{walletId}/set_customer_ref_id Set an AML/KYT customer reference ID for an internal wallet
NFTsApi get_nft get /nfts/tokens/{id} List token data by ID
NFTsApi get_nfts get /nfts/tokens List tokens by IDs
NFTsApi get_ownership_tokens get /nfts/ownership/tokens List all owned tokens (paginated)
NFTsApi list_owned_collections get /nfts/ownership/collections List owned collections (paginated)
NFTsApi refresh_nft_metadata put /nfts/tokens/{id} Refresh token metadata
NFTsApi update_ownership_tokens put /nfts/ownership/tokens Refresh vault account tokens
NFTsApi update_token_ownership_status put /nfts/ownership/tokens/{id}/status Update token ownership status
NetworkConnectionsApi check_third_party_routing_for_network_connection get /network_connections/{connectionId}/is_third_party_routing/{assetType} Retrieve third-party network routing validation by asset type.
NetworkConnectionsApi create_network_connection post /network_connections Creates a new network connection
NetworkConnectionsApi create_network_id post /network_ids Creates a new Network ID
NetworkConnectionsApi delete_network_connection delete /network_connections/{connectionId} Deletes a network connection by ID
NetworkConnectionsApi delete_network_id delete /network_ids/{networkId} Deletes specific network ID.
NetworkConnectionsApi get_network_connection_by_id get /network_connections/{connectionId} Get a network connection
NetworkConnectionsApi get_network_connections get /network_connections List network connections
NetworkConnectionsApi get_network_id_by_id get /network_ids/{networkId} Returns specific network ID.
NetworkConnectionsApi get_network_ids get /network_ids Returns all network IDs, both local IDs and discoverable remote IDs
NetworkConnectionsApi set_discoverability_for_network_id patch /network_ids/{networkId}/set_discoverability Update network ID's discoverability.
NetworkConnectionsApi set_network_id_name patch /network_ids/{networkId}/set_name Update network ID's name.
NetworkConnectionsApi set_routing_policy_for_network_connection patch /network_connections/{connectionId}/set_routing_policy Update network connection routing policy.
NetworkConnectionsApi set_routing_policy_for_network_id patch /network_ids/{networkId}/set_routing_policy Update network id routing policy.
OTABetaApi get_ota_status get /management/ota Returns current OTA status
OTABetaApi set_ota_status post /management/ota Enable or disable transactions to OTA
OffExchangesApi add_off_exchange post /off_exchange/add add collateral
OffExchangesApi get_off_exchange_collateral_accounts get /off_exchange/collateral_accounts/{mainExchangeAccountId} Find a specific collateral exchange account
OffExchangesApi get_off_exchange_settlement_transactions get /off_exchange/settlements/transactions get settlements transactions from exchange
OffExchangesApi remove_off_exchange post /off_exchange/remove remove collateral
OffExchangesApi settle_off_exchange_trades post /off_exchange/settlements/trader create settlement for a trader
PaymentsPayoutApi create_payout post /payments/payout Create a payout instruction set
PaymentsPayoutApi execute_payout_action post /payments/payout/{payoutId}/actions/execute Execute a payout instruction set
PaymentsPayoutApi get_payout_by_id get /payments/payout/{payoutId} Get the status of a payout instruction set
PaymentsCrossBorderSettlementApi create_xb_settlement_config post /payments/xb-settlements/configs Create a new cross-border settlement configuration
PaymentsCrossBorderSettlementApi create_xb_settlement_flow post /payments/xb-settlements/flows Create a new cross-border settlement flow
PaymentsCrossBorderSettlementApi delete_xb_settlement_config delete /payments/xb-settlements/configs/{configId} Delete a cross-border settlement configuration
PaymentsCrossBorderSettlementApi execute_xb_settlement_flow_action post /payments/xb-settlements/flows/{flowId}/actions/execute Execute cross-border settlement flow
PaymentsCrossBorderSettlementApi get_xb_settlement_config_by_id get /payments/xb-settlements/configs/{configId} Get a specific cross-border settlement configuration
PaymentsCrossBorderSettlementApi get_xb_settlement_configs get /payments/xb-settlements/configs Get all the cross-border settlement configurations
PaymentsCrossBorderSettlementApi get_xb_settlement_flow_by_id get /payments/xb-settlements/flows/{flowId} Get specific cross-border settlement flow details
PaymentsCrossBorderSettlementApi update_xb_settlement_config put /payments/xb-settlements/configs/{configId} Edit a cross-border settlement configuration
PolicyEditorBetaApi get_active_policy get /tap/active_policy Get the active policy and its validation
PolicyEditorBetaApi get_draft get /tap/draft Get the active draft
PolicyEditorBetaApi publish_draft post /tap/draft Send publish request for a certain draft id
PolicyEditorBetaApi publish_policy_rules post /tap/publish Send publish request for a set of policy rules
PolicyEditorBetaApi update_draft put /tap/draft Update the draft with a new set of rules
TransactionsApi cancel_transaction post /transactions/{txId}/cancel Cancel a transaction
TransactionsApi create_transaction post /transactions Create a new transaction
TransactionsApi drop_transaction post /transactions/{txId}/drop Drop ETH transaction by ID
TransactionsApi estimate_network_fee get /estimate_network_fee Estimate the required fee for an asset
TransactionsApi estimate_transaction_fee post /transactions/estimate_fee Estimate transaction fee
TransactionsApi freeze_transaction post /transactions/{txId}/freeze Freeze a transaction
TransactionsApi get_transaction_by_external_id get /transactions/external_tx_id/{externalTxId}/ Find a specific transaction by external transaction ID
TransactionsApi get_transaction_by_id get /transactions/{txId} Find a specific transaction by Fireblocks transaction ID
TransactionsApi get_transactions get /transactions List transaction history
TransactionsApi set_confirmation_threshold_for_transaction post /transactions/{txId}/set_confirmation_threshold Set confirmation threshold by transaction ID
TransactionsApi set_confirmation_threshold_for_transaction_by_hash post /txHash/{txHash}/set_confirmation_threshold Set confirmation threshold by transaction hash
TransactionsApi unfreeze_transaction post /transactions/{txId}/unfreeze Unfreeze a transaction
TransactionsApi validate_address get /transactions/validate_address/{assetId}/{address} Validate destination address
TravelRuleBetaApi get_vaspby_did get /screening/travel_rule/vasp/{did} Get VASP details
TravelRuleBetaApi get_vasps get /screening/travel_rule/vasp Get All VASPs
TravelRuleBetaApi travel_rule_api_controller_update_vasp put /screeening/travel_rule/vasp/update Add jsonDidKey to VASP details
TravelRuleBetaApi validate_full_travel_rule_transaction post /screening/travel_rule/transaction/validate/full Validate Full Travel Rule Transaction
TravelRuleBetaApi validate_travel_rule_transaction post /screening/travel_rule/transaction/validate Validate Travel Rule Transaction
UsersApi get_users get /users List users
UsersGroupsBetaApi create_user_group post /users_groups Create users group
UsersGroupsBetaApi delete_user_group delete /users_groups/{groupId} Delete users group
UsersGroupsBetaApi get_user_group get /users_groups/{groupId} Get users group
UsersGroupsBetaApi get_user_groups get /users_groups List users groups
UsersGroupsBetaApi update_user_group put /users_groups/{groupId} Update users group
VaultsApi activate_asset_for_vault_account post /vault/accounts/{vaultAccountId}/{assetId}/activate Activate a wallet in a vault account
VaultsApi create_legacy_address_for_vault_account_asset post /vault/accounts/{vaultAccountId}/{assetId}/addresses/{addressId}/create_legacy Convert a segwit address to legacy format
VaultsApi create_vault_account post /vault/accounts Create a new vault account
VaultsApi create_vault_account_asset post /vault/accounts/{vaultAccountId}/{assetId} Create a new wallet
VaultsApi create_vault_account_asset_address post /vault/accounts/{vaultAccountId}/{assetId}/addresses Create new asset deposit address
VaultsApi get_asset_wallets get /vault/asset_wallets List asset wallets (Paginated)
VaultsApi get_max_spendable_amount get /vault/accounts/{vaultAccountId}/{assetId}/max_spendable_amount Get the maximum spendable amount in a single transaction.
VaultsApi get_paged_vault_accounts get /vault/accounts_paged List vault acounts (Paginated)
VaultsApi get_public_key_info get /vault/public_key_info/ Get the public key information
VaultsApi get_public_key_info_for_address get /vault/accounts/{vaultAccountId}/{assetId}/{change}/{addressIndex}/public_key_info Get the public key for a vault account
VaultsApi get_vault_account_asset get /vault/accounts/{vaultAccountId}/{assetId} Get the asset balance for a vault account
VaultsApi get_vault_account_asset_addresses get /vault/accounts/{vaultAccountId}/{assetId}/addresses Get asset addresses
VaultsApi get_vault_account_asset_unspent_inputs get /vault/accounts/{vaultAccountId}/{assetId}/unspent_inputs Get UTXO unspent inputs information
VaultsApi get_vault_account_by_id get /vault/accounts/{vaultAccountId} Find a vault account by ID
VaultsApi get_vault_accounts get /vault/accounts List vault accounts
VaultsApi get_vault_asset_by_id get /vault/assets/{assetId} Get vault balance by asset
VaultsApi get_vault_assets get /vault/assets Get asset balance for chosen assets
VaultsApi hide_vault_account post /vault/accounts/{vaultAccountId}/hide Hide a vault account in the console
VaultsApi set_auto_fuel_for_vault_account post /vault/accounts/{vaultAccountId}/set_auto_fuel Turn autofueling on or off
VaultsApi set_customer_ref_id_for_vault_account post /vault/accounts/{vaultAccountId}/set_customer_ref_id Set an AML/KYT customer reference ID for a vault account
VaultsApi set_customer_ref_id_for_vault_account_asset_address post /vault/accounts/{vaultAccountId}/{assetId}/addresses/{addressId}/set_customer_ref_id Assign AML customer reference ID
VaultsApi unhide_vault_account post /vault/accounts/{vaultAccountId}/unhide Unhide a vault account in the console
VaultsApi update_vault_account put /vault/accounts/{vaultAccountId} Rename a vault account
VaultsApi update_vault_account_asset_address put /vault/accounts/{vaultAccountId}/{assetId}/addresses/{addressId} Update address description
VaultsApi update_vault_account_asset_balance post /vault/accounts/{vaultAccountId}/{assetId}/balance Refresh asset balance data
Web3ConnectionsApi create post /connections/wc Create a new Web3 connection.
Web3ConnectionsApi get get /connections List all open Web3 connections.
Web3ConnectionsApi remove delete /connections/wc/{id} Remove an existing Web3 connection.
Web3ConnectionsApi submit put /connections/wc/{id} Respond to a pending Web3 connection request.
WebhooksApi resend_webhooks post /webhooks/resend Resend failed webhooks
WebhooksApi resend_webhooks_for_transaction post /webhooks/resend/{txId} Resend failed webhooks for a transaction by ID

Documentation For Models

Documentation For Authorization

Authentication schemes defined for the API:

bearerTokenAuth

  • Type: Bearer authentication (JWT)

ApiKeyAuth

  • Type: API key
  • API key parameter name: X-API-Key
  • Location: HTTP header

Author

support@fireblocks.com support@fireblocks.com support@fireblocks.com support@fireblocks.com support@fireblocks.com support@fireblocks.com support@fireblocks.com support@fireblocks.com support@fireblocks.com support@fireblocks.com support@fireblocks.com support@fireblocks.com support@fireblocks.com support@fireblocks.com support@fireblocks.com support@fireblocks.com support@fireblocks.com support@fireblocks.com support@fireblocks.com support@fireblocks.com support@fireblocks.com support@fireblocks.com

Notes for Large OpenAPI documents

If the OpenAPI document is large, imports in fireblocks_client.apis and fireblocks_client.models may fail with a RecursionError indicating the maximum recursion limit has been exceeded. In that case, there are a couple of solutions:

Solution 1: Use specific imports for apis and models like:

  • from fireblocks_client.apis.default_api import DefaultApi
  • from fireblocks_client.model.pet import Pet

Solution 1: Before importing the package, adjust the maximum recursion limit as shown below:

import sys
sys.setrecursionlimit(1500)
import fireblocks_client
from fireblocks_client.apis import *
from fireblocks_client.models import *

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fireblocks-0.0.1.tar.gz (304.8 kB view hashes)

Uploaded Source

Built Distribution

fireblocks-0.0.1-py3-none-any.whl (1.2 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page