FireblocksSdk.Api.EmbeddedWallet (FireblocksSdk v0.2.1)

Copy Markdown View Source

Embedded Wallets (NCW) API module for Fireblocks SDK.

Implements all operations under the /v1/ncw/wallets base path as defined in the Fireblocks OpenAPI specification (tag: Embedded Wallets).

Summary

Functions

Add an asset to a specific account within a Non-Custodial Wallet.

Assign a specific Non-Custodial Wallet to a user.

Create a new account under a specific Non-Custodial Wallet.

Create a new Non-Custodial Wallet.

Get a specific account under a specific Non-Custodial Wallet.

Get addresses for a specific asset under a specific account within a Non-Custodial Wallet.

Get a specific asset under a specific account within a Non-Custodial Wallet.

Get the balance of a specific asset under a specific account within a Non-Custodial Wallet.

Get the public key of an asset associated with a specific account within a Non-Custodial Wallet, identified by its BIP44 change and address index.

Get the public key of an asset using the legacy internal path format.

Get a specific device registered to a specific Non-Custodial Wallet.

Get the key setup state of a specific device under a specific Non-Custodial Wallet.

Get wallet latest backup details, including the deviceId and backup time.

Get the public key information based on derivation path and signing algorithm within a Non-Custodial Wallet.

Retrieve all available supported assets for Non-Custodial Wallets.

Get a Non-Custodial Wallet by its ID.

Get the key setup state for a specific Non-Custodial Wallet, including required algorithms and device setup status.

Retrieve assets for a specific account under a specific Non-Custodial Wallet.

Get a paginated list of registered devices for a specific Non-Custodial Wallet.

List all Non-Custodial Wallets.

Refresh the balance of a specific asset under a specific account within a Non-Custodial Wallet.

Update the enabled/disabled status of a specific device for a Non-Custodial Wallet.

Update the enabled/disabled status of a specific Non-Custodial Wallet.

Functions

add_asset(wallet_id, account_id, asset_id, idempotency_key \\ "")

@spec add_asset(String.t(), String.t(), String.t(), String.t()) :: map()

Add an asset to a specific account within a Non-Custodial Wallet.

operationId: AddEmbeddedWalletAsset

assign_wallet(wallet_id, idempotency_key \\ "")

@spec assign_wallet(String.t(), String.t()) :: map()

Assign a specific Non-Custodial Wallet to a user.

operationId: assignEmbeddedWallet

create_account(wallet_id, idempotency_key \\ "")

@spec create_account(String.t(), String.t()) :: map()

Create a new account under a specific Non-Custodial Wallet.

operationId: CreateEmbeddedWalletAccount

create_wallet(idempotency_key \\ "")

@spec create_wallet(String.t()) :: map()

Create a new Non-Custodial Wallet.

operationId: CreateEmbeddedWallet

get_account(wallet_id, account_id)

@spec get_account(String.t(), String.t()) :: map()

Get a specific account under a specific Non-Custodial Wallet.

operationId: GetEmbeddedWalletAccount

get_addresses(wallet_id, account_id, asset_id, opts \\ [])

@spec get_addresses(String.t(), String.t(), String.t(), keyword()) :: map()

Get addresses for a specific asset under a specific account within a Non-Custodial Wallet.

operationId: GetEmbeddedWalletAddresses

Options

  • :pageCursor (String.t/0) - Cursor to the next page of results

  • :pageSize (integer/0) - Number of items per page (min 1, max 100)

  • :sort - Field to sort by: :address or :createdAt The default value is :createdAt.

  • :order - Sort direction: :asc or :desc The default value is :asc.

  • :enabled (boolean/0) - When set, filters addresses by their enabled/disabled status

get_asset(wallet_id, account_id, asset_id)

@spec get_asset(String.t(), String.t(), String.t()) :: map()

Get a specific asset under a specific account within a Non-Custodial Wallet.

operationId: GetEmbeddedWalletAsset

get_asset_balance(wallet_id, account_id, asset_id)

@spec get_asset_balance(String.t(), String.t(), String.t()) :: map()

Get the balance of a specific asset under a specific account within a Non-Custodial Wallet.

operationId: GetEmbeddedWalletAssetBalance

get_asset_public_key_info(wallet_id, account_id, asset_id, change, address_index, opts \\ [])

@spec get_asset_public_key_info(
  String.t(),
  String.t(),
  String.t(),
  non_neg_integer(),
  non_neg_integer(),
  keyword()
) :: map()

Get the public key of an asset associated with a specific account within a Non-Custodial Wallet, identified by its BIP44 change and address index.

operationId: GetEmbeddedWalletPublicKeyInfoForAddress

Options

  • :compressed (boolean/0) - When true, returns the public key in compressed format

get_asset_public_key_info_alt(wallet_id, account_id, asset_id, change, address_index, opts \\ [])

This function is deprecated. Use get_asset_public_key_info/6 instead — this is a legacy internal endpoint.
@spec get_asset_public_key_info_alt(
  String.t(),
  String.t(),
  String.t(),
  non_neg_integer(),
  non_neg_integer(),
  keyword()
) :: map()

Get the public key of an asset using the legacy internal path format.

operationId: getPublicKeyInfoForAddressNcw

This endpoint is marked x-internal in the specification. Prefer get_asset_public_key_info/6 for all new integrations.

Options

  • :compressed (boolean/0) - When true, returns the public key in compressed format

get_device(wallet_id, device_id)

@spec get_device(String.t(), String.t()) :: map()

Get a specific device registered to a specific Non-Custodial Wallet.

operationId: GetEmbeddedWalletDevice

get_device_setup_status(wallet_id, device_id)

@spec get_device_setup_status(String.t(), String.t()) :: map()

Get the key setup state of a specific device under a specific Non-Custodial Wallet.

operationId: GetEmbeddedWalletDeviceSetupState

get_latest_backup(wallet_id)

@spec get_latest_backup(String.t()) :: map()

Get wallet latest backup details, including the deviceId and backup time.

operationId: GetEmbeddedWalletLatestBackup

get_public_key_info(wallet_id, opts \\ [])

@spec get_public_key_info(
  String.t(),
  keyword()
) :: map()

Get the public key information based on derivation path and signing algorithm within a Non-Custodial Wallet.

operationId: getPublicKeyInfoNcw

Options

  • :derivationPath (String.t/0) - Required. Full BIP44 derivation path as a JSON-stringified integer array (first element must be 44)

  • :algorithm - Required. Signing algorithm: MPC_ECDSA_SECP256K1, MPC_ECDSA_SECP256R1, or MPC_EDDSA_ED25519

  • :compressed (boolean/0) - When true, returns the public key in compressed format

get_supported_assets(opts \\ [])

@spec get_supported_assets(keyword()) :: map()

Retrieve all available supported assets for Non-Custodial Wallets.

operationId: GetEmbeddedWalletSupportedAssets

Options

  • :onlyBaseAssets (boolean/0) - When true, only base assets are returned The default value is true.

  • :pageCursor (String.t/0) - Cursor to the next page of results

  • :pageSize (integer/0) - Number of items per page (max 400) The default value is 200.

  • :order - Sort direction: :asc or :desc The default value is :asc.

get_wallet(wallet_id)

@spec get_wallet(String.t()) :: map()

Get a Non-Custodial Wallet by its ID.

operationId: GetEmbeddedWallet

get_wallet_setup_status(wallet_id)

@spec get_wallet_setup_status(String.t()) :: map()

Get the key setup state for a specific Non-Custodial Wallet, including required algorithms and device setup status.

operationId: getEmbeddedWalletSetupStatus

list_assets(wallet_id, account_id, opts \\ [])

@spec list_assets(String.t(), String.t(), keyword()) :: map()

Retrieve assets for a specific account under a specific Non-Custodial Wallet.

operationId: getEmbeddedWalletAssets

Options

  • :sort - Field to sort by: :assetId or :createdAt The default value is :assetId.

  • :pageCursor (String.t/0) - Cursor to the next page of results

  • :pageSize (integer/0) - Number of items per page (max 400) The default value is 200.

  • :order - Sort direction: :asc or :desc The default value is :asc.

list_devices(wallet_id, opts \\ [])

@spec list_devices(
  String.t(),
  keyword()
) :: map()

Get a paginated list of registered devices for a specific Non-Custodial Wallet.

operationId: getEmbeddedWalletDevicesPaginated

Options

  • :sort - Field to sort by The default value is :createdAt.

  • :pageCursor (String.t/0) - Cursor to the next page of results

  • :pageSize (integer/0) - Number of items per page (max 400) The default value is 200.

  • :order - Sort direction: :asc or :desc The default value is :asc.

list_wallets(opts \\ [])

@spec list_wallets(keyword()) :: map()

List all Non-Custodial Wallets.

operationId: GetEmbeddedWallets

Options

  • :sort - Field to sort by The default value is :createdAt.

  • :enabled (boolean/0) - When set, filters wallets by their enabled/disabled status

  • :pageCursor (String.t/0) - Cursor to the next page of results

  • :pageSize (integer/0) - Number of items per page (max 400) The default value is 200.

  • :order - Sort direction: :asc or :desc The default value is :asc.

refresh_asset_balance(wallet_id, account_id, asset_id)

@spec refresh_asset_balance(String.t(), String.t(), String.t()) :: map()

Refresh the balance of a specific asset under a specific account within a Non-Custodial Wallet.

operationId: RefreshEmbeddedWalletAssetBalance

update_device_status(wallet_id, device_id, params, idempotency_key \\ "")

@spec update_device_status(String.t(), String.t(), keyword(), String.t()) :: map()

Update the enabled/disabled status of a specific device for a Non-Custodial Wallet.

operationId: updateEmbeddedWalletDeviceStatus

Options

  • :enabled (boolean/0) - Required. Whether the device should be enabled (true) or disabled (false)

update_wallet_status(wallet_id, params, idempotency_key \\ "")

@spec update_wallet_status(String.t(), keyword(), String.t()) :: map()

Update the enabled/disabled status of a specific Non-Custodial Wallet.

operationId: updateEmbeddedWalletStatus

Options

  • :enabled (boolean/0) - Required. Whether the wallet should be enabled (true) or disabled (false)