Create a Wallet

Overview

A wallet is an object you manage on Fireblocks' servers for your end-users. Wallets can have multiple keys (ECDSA and EdDSA) and an unlimited number of wallet accounts. Each wallet account has a single asset type under it. For instance:

  • walletId-1
    • walletAccount-1
      • BTC
      • ETH
    • walletAccount-2
      • FTM
      • TRON

You may create the wallet for your end users at any point. However, we have seen that many NCW customers find it convenient to create a wallet for their end users during their onboarding process.

Multiple wallets and wallet accounts

Theoretically, your end-user can have multiple wallets, but that does not matter in the Fireblocks view since Fireblocks does not hold any personally identifiable information (PII) about your end-users. However, for simplicity in our demos, we assume a one-to-one relationship between an end-user and a wallet.

Creating a wallet

await admin.NCW.createWallet()
curl --request POST \
     --url https://api.fireblocks.io/v1/ncw/wallets \
     --header 'accept: application/json'

📘

Note

The curl example does not provide the authentication example.

Creating a wallet in the backend demo app

  1. Under device.service.ts, call the await admin.NCW.createWallet(); function.
  2. Call the await admin.NCW.createWalletAccount(walletId) function to create a wallet account.
  3. Associate the appropriate user with the walletId value you created above.