Data Model

Overview

Fireblocks Non-Custodial Wallets (NCWs) are hierarchical deterministic (HD) wallets. With our REST API, customers can easily create new wallets for their end users and add multiple accounts under them. Each account can contain different assets, and all transactions are signed using the end-user key generated for a specific wallet.

Data Model

  • User: represents the end user of your application. Kindly note that this entity is external to Fireblocks and is reflected only on the customer's side.
  • Device: a logical identifier that represents an entity that stores an end-user key share and can participate in MPC operations for a given wallet.
  • Wallet: represents a NCW created via the Fireblocks API.
  • Transaction: represents the transactions created in Fireblocks.
  • Message: represents the messages for a given deviceId.
  • Account: represents the different accounts under a single NCW.
  • Asset: represents the different assets under a single account.

Relationships

  • User -> Device: One to Many relation
  • Wallet -> Device: One to Many relation
  • Wallet -> Account: One to Many relation
  • Wallet -> Transaction: Many to Many relation
  • Device -> Message: One to Many relation
  • Account -> Asset: One to Many relation

📘

Device ID and wallet correlation

Each user can have multiple deviceId values, each correlating to a different Wallet (NCW) in Fireblocks. Each deviceId represents an entity that stores an end-user key share.