# `FireblocksSdk.Api.EmbeddedWallet`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/embedded_wallet.ex#L1)

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).

# `add_asset`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/embedded_wallet.ex#L230)

```elixir
@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`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/embedded_wallet.ex#L145)

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

Assign a specific Non-Custodial Wallet to a user.

**operationId:** `assignEmbeddedWallet`

# `create_account`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/embedded_wallet.ex#L168)

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

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

**operationId:** `CreateEmbeddedWalletAccount`

# `create_wallet`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/embedded_wallet.ex#L101)

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

Create a new Non-Custodial Wallet.

**operationId:** `CreateEmbeddedWallet`

# `get_account`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/embedded_wallet.ex#L178)

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

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

**operationId:** `GetEmbeddedWalletAccount`

# `get_addresses`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/embedded_wallet.ex#L297)

```elixir
@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` (`t:String.t/0`) - Cursor to the next page of results

* `:pageSize` (`t: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` (`t:boolean/0`) - When set, filters addresses by their enabled/disabled status

# `get_asset`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/embedded_wallet.ex#L220)

```elixir
@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`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/embedded_wallet.ex#L245)

```elixir
@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`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/embedded_wallet.ex#L461)

```elixir
@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` (`t:boolean/0`) - When `true`, returns the public key in compressed format

# `get_asset_public_key_info_alt`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/embedded_wallet.ex#L497)

> This function is deprecated. Use get_asset_public_key_info/6 instead — this is a legacy internal endpoint.

```elixir
@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` (`t:boolean/0`) - When `true`, returns the public key in compressed format

# `get_device`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/embedded_wallet.ex#L349)

```elixir
@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`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/embedded_wallet.ex#L383)

```elixir
@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`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/embedded_wallet.ex#L395)

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

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

**operationId:** `GetEmbeddedWalletLatestBackup`

# `get_public_key_info`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/embedded_wallet.ex#L431)

```elixir
@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` (`t: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` (`t:boolean/0`) - When `true`, returns the public key in compressed format

# `get_supported_assets`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/embedded_wallet.ex#L48)

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

Retrieve all available supported assets for Non-Custodial Wallets.

**operationId:** `GetEmbeddedWalletSupportedAssets`

## Options

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

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

* `:pageSize` (`t: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`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/embedded_wallet.ex#L111)

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

Get a Non-Custodial Wallet by its ID.

**operationId:** `GetEmbeddedWallet`

# `get_wallet_setup_status`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/embedded_wallet.ex#L156)

```elixir
@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`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/embedded_wallet.ex#L202)

```elixir
@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` (`t:String.t/0`) - Cursor to the next page of results

* `:pageSize` (`t: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`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/embedded_wallet.ex#L331)

```elixir
@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` (`t:String.t/0`) - Cursor to the next page of results

* `:pageSize` (`t: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`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/embedded_wallet.ex#L83)

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

List all Non-Custodial Wallets.

**operationId:** `GetEmbeddedWallets`

## Options

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

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

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

* `:pageSize` (`t: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`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/embedded_wallet.ex#L256)

```elixir
@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`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/embedded_wallet.ex#L371)

```elixir
@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` (`t:boolean/0`) - Required. Whether the device should be enabled (`true`) or disabled (`false`)

# `update_wallet_status`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/embedded_wallet.ex#L133)

```elixir
@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` (`t:boolean/0`) - Required. Whether the wallet should be enabled (`true`) or disabled (`false`)

---

*Consult [api-reference.md](api-reference.md) for complete listing*
