Skip to main content
For Fireblocks’ recommended embedded wallet solution, see Dynamic Embedded Wallets. The documentation below covers the legacy Embedded Wallet APIs and SDKs.
This page focuses on setting up webhook notifications for the Fireblocks Non-Custodial Wallet (NCW). For more information about additional events sent by the Fireblocks webhook service, visit our Developer Portal’s API Reference.
Multi-party computation (MPC) operations involve communication between several participants. This collaboration occurs over multiple rounds of communication, creating an asynchronous process. To facilitate this communication, your system needs to expose the POST /api/webhook REST API endpoint to receive webhook notifications generated by Fireblocks. Each notification carries essential data to the Software Development Kit (SDK), which handles the asynchronous process. In addition to managing these aspects, the Fireblocks webhook service also delivers notifications about events occurring within your workspace. This provides you with timely updates about relevant activities.

Configuring Webhook URLs

To configure URLs for webhook notifications:
  1. In the Fireblocks Console, go to Settings > General, then scroll down to the Configure Webhook URL heading and select Manage URLs.
  2. On the Configure Webhook URL window, enter a URL to define the HTTPS endpoint, then press Enter. Each webhook URL must be a complete, globally available HTTPS address, such as https://example.com.
  3. Select Save.
Once your webhook is connected to your Fireblocks workspace, you will start receiving notifications for events in that workspace.

Receiving Webhook Notifications

Validation

You can validate Fireblocks webhook events by validating the signature attached in the request header: Fireblocks-Signature: Base64(RSA512(_WEBHOOK_PRIVATE_KEY_, SHA512(eventBody))) Copy this public key to validate the above signature in Sandbox workspaces:

Response

The Fireblocks server will look for a response to confirm the webhook notification was received. All webhook events should receive an HTTP-200 (OK) response. If no response is received, Fireblocks will resend the request several times. The retry schedule is 15, 45, 105, 225, 465, 945, 1905, 3825, 7665, and 15345 seconds.

Code Examples

These examples are not production-ready and are used only for reference. Please follow our security guidelines for secure API interaction.

Immediate Webhooks

In order to send the transaction statuses in a chronological order, some transactions updates may be shortly delayed by a few seconds. In order to deliver a great user experience, Fireblocks also provides the NCW_TRANSACTION_STATUS_UPDATED webhook type, which is being sent immediately, without any delays. Although these may not be received in a chronological order, it will provide you with a notification that a transaction is PENDING_SIGNATURE immediately without any delays, allowing you to start the signing ceremony as soon as possible.