Fireblocks Embedded Wallet
website·Indexed 40 days ago
https://ncw-developers.fireblocks.comDeveloper documentation for the Fireblocks Embedded Wallet, featuring a 2-of-2 MPC signature scheme. Includes guides on SDK initialization, MPC key generation, transaction flows, and backup and recovery across Web, Android, and iOS platforms. Covers asset management, OAuth SSO configuration, and detailed error handling for JavaScript, Android, and iOS SDKs.
What's inside Fireblocks
- Backup and recovery features allow the creation of an encrypted copy of an end-user key share, which is stored by Fireblocks. This is critical for users who lose their device or migrate to a new one. The process uses AES encryption where the user must generate and securely preserve a recovery passphrase. Fireblocks does not mandate a specific storage method for the passphrase (e.g., iCloud, Google Drive, or local storage).
Overview of Fireblocks Embedded Wallet (EW)
The Fireblocks Embedded Wallet (EW), formerly known as Non-Custodial Wallet (NCW), is a solution that allows businesses to integrate digital asset management into their applications. It enables end users to maintain full control over their funds and tokens without relying on a third-party custodian. The solution uses multi-party computation (MPC) technology to ensure security and privacy, allowing users to control their private keys and utilize a simplified backup and recovery process that replaces long seed phrases/mnemonics with a user-defined recovery passphrase.Overview of Fireblocks MPC Signing Algorithms
Fireblocks workspaces support non-custodial wallets using two MPC algorithms:MPC_ECDSA_SECP256K1(ECDSA) andMPC_EDDSA_ED25519(EdDSA). These algorithms determine which assets can be added to a wallet: ECDSA is used for assets like Bitcoin and Ethereum, while EdDSA is used for assets like Solana and Algorand. A wallet can be configured to have ECDSA keys only, EdDSA keys only, or both.Overview of Fireblocks NCW Disaster Recovery
The Fireblocks Non-Custodial Wallet (NCW) uses a 2-of-2 MPC signature scheme where one key share (Key Share #2) is generated on the user's device and the other (Key Share #1) is generated by Fireblocks. The Disaster Recovery (DR) feature allows businesses to regenerate Key Share #1 if Fireblocks is unavailable, ensuring users can still access their funds via a Full Key Takeover process.Overview of Fireblocks Embedded Wallet multi-device support
The Fireblocks Embedded Wallet (EW) allows multiple devices to be associated with a single wallet. All associated devices share the same balance and can initiate or sign transactions.
Key Constraints:
- Device Limit: Each wallet is limited to a maximum of 10 devices. To maintain performance, old or unused devices should be disabled via the enabledevice endpoint if this limit is reached.
- Signing Logic: While multiple devices can sign transactions, only one device can sign a specific transaction. If multiple devices attempt to sign the same transaction simultaneously, only one will succeed; others will time out.
Overview of Full Key Takeover for Embedded Wallets
The Full Key Takeover feature allows end-users of Fireblocks Embedded Wallets to export their entire private key. This ensures censorship resistance, allowing users to access their funds and transact on the blockchain even if Fireblocks or the customer service is discontinued.
Security Warning: Once a private key is exported, Fireblocks no longer controls the security of the key material. The end-user assumes full responsibility for securing the key to prevent loss or theft.
Overview of Fireblocks Embedded Wallet (EW) Architecture
The Fireblocks Embedded Wallet (EW), formerly known as Non-Custodial Wallet (NCW), uses a minimalistic architecture designed for flexibility. It provides SDKs for Android, iOS, and Web that handle MPC (Multi-Party Computation) key provisioning, signing, and backup/recovery. The default architecture is client-only, meaning the SDK communicates directly with Fireblocks APIs without requiring a mandatory backend server.Connect Fireblocks Embedded Wallets to Web3 dApps
The Fireblocks Web3 Wallet Link enables users to connect their Fireblocks Embedded Wallet addresses directly to Web3 applications (dApps). This allows users to interact with dApps for activities such as managing NFTs and claiming rewards without requiring a separate third-party wallet application.Implement multi-device support for Embedded Wallets
The Fireblocks Embedded Wallet (EW) supports multi-device and multi-platform usage. Multiple devices can be authorized to perform actions using the same wallet, including signing transactions and executing wallet takeovers.Enable User Takeover (Private Key Export)
The User Takeover Ability allows users to export their full cryptographic keys. This enables users to move their assets to different wallets or services independently, though it requires careful security consideration.Distinguish between Fireblocks EW SDKs and Fireblocks SDK
When implementing Fireblocks EW, it is critical to use the correct SDK based on the target environment and required operations:
- Fireblocks EW client SDKs (also known as EW SDK or EW Core SDK): These are platform-specific SDKs designed for use within your client application implementation.
- Fireblocks SDK: Used for administrative EW operations. This SDK is initialized using an API user's private key and operates under specific roles, such as EW Admin or EW Signer.
Implement a backend proxy server for Fireblocks EW
While the Fireblocks EW architecture is client-only by default, developers can optionally implement a backend proxy server. This is typically used for advanced requirements such as request validation, rate limiting, or implementing custom business logic between the client SDK and Fireblocks APIs.