Multisig Coordination Dashboard
Simulate the wallet generating a PSBT and passing it directly to the widget.
Simulate a user clicking a deep-link from a co-signer to join an existing room.
Install via package manager to use with modern build tools like Vite, Webpack, or Angular:
Or drop the Web Component bundle directly into your HTML via CDN:
You can render the component directly in your DOM. It requires zero framework dependencies.
| Attribute | Description |
|---|---|
network |
Sets the Bitcoin network. Options: bitcoin, testnet, signet. (Default: bitcoin) |
hide-header |
If true, hides the top "SigningRoom.io" header and network badges for a cleaner white-label embed. |
relay-endpoint |
(Optional) Overrides the default relay server URL. |
view |
(Optional) Set to inject to load into a specific flow context. |
room-id |
(Optional) The public ID of an existing room to join automatically. |
decryption-key |
(Optional) The private decryption key required to unlock the room. |
Layout Tip: The widget is fully responsive but requires a parent container with a minimum height of 600px to properly display the signer dashboard.
If your application already holds the Unsigned PSBT in memory, you can inject it directly into the component to instantly create a new room without file uploads. This is typically done by programmatically creating the element.
Listen for the transactionFinalized CustomEvent to capture the fully signed transaction, raw state, and generated audit logs.
Event Payload Structure:
Listen for the signingError CustomEvent to catch parsing issues, network mismatches, or room expiration events.