Create, Sign and Broadcast Transactions

Overview

A cold (offline) wallet follows a secure process for signing and sending transactions. An unsigned transaction is first crafted using the hot (online) wallet and then signed offline using a secure key. The signed transaction is sent back to the online wallet for additional verification and broadcast. This keeps sensitive keys offline, lowering the risk of unauthorized access and helping meet security rules.

The cold wallet uses two separate MPC nodes, each providing part of the signature. These nodes are stored in two different air-gapped cold wallets for extra protection. Even if one cold wallet device is compromised, a transaction still can’t be fully signed.

πŸ“˜

Note:

Remember that Hot (online) wallet and Cold (offline) wallet are separate entities.
To create a transaction in a Cold wallet, ensure you have paired the hot and cold wallet. If not, follow the steps here to pair both wallets.

Transacting with a Cold Wallet

Air-gapped cold node 1

Air-gapped cold node 2

Online (hot)
wallet infrastructure

1. Submit transaction intent
2. Policy evaluation
& approval
3. Create batch &
consume presignatures
4a. Download batch

4b. Download batch

5a. Upload batch
& sign

5b. Upload batch
& sign

6a. Export partial sigs

6b. Export partial sigs

7a. Upload partial sigs

7b. Upload partial sigs

8. Combine partials
& verify signatures
Wallet Service API

Orchestrator

MPC Policy node(s)

MPC Cold node 2

MPC Cold node 1

Wallet Client

Approver(s)

πŸ§‘β€πŸ’Ό Cold Operator 1

πŸ§‘β€πŸ’Ό Cold Operator 2

Follow the steps below to create a transaction with the Cold wallet:

  1. To create a transaction in a Cold wallet, ensure you have paired the hot and cold wallet. If not, follow the steps here to pair both wallets.

  2. Navigate to the hot wallet, and click the Accounts tab.

  3. Click the New Account button.

  4. Enter the account name and enable the Cold Storage feature.

  5. Click the newly created cold wallet account.

  6. Click the Add Asset button and select the asset you want to add to the account.

  7. Click the Transfer Funds button, and transfer some funds from another account to the cold wallet account.

  8. Approve the transactions using your Institutional Vault approver app.

πŸ“˜

Note:

Due to the nature of the Solana network, cold transactions need to be approved within ~67s, or there is a high risk of failure. Blockdaemon is working on a potential enhancement to improve this network limitation.

  1. After that, follow the same steps as above and transfer some funds from a cold wallet account to a hot wallet account.

  2. Approve the transactions using your Institutional Vault approver app.

  3. Click the Transactions tab, and select the Cold Signing tab.

  4. Click the Export Batch button.

  5. Navigate to your Cold wallet app.

  6. Click the Transactions tab, and click the Import button.

  7. Upload the transaction batch JSON file that you have downloaded from the Hot Wallet app.

  8. After that, click the Sign button and click Sign to confirm the signing operation.

  9. Click the Export button.

  10. Navigate back to your hot wallet app.

  11. Under the Cold Signing tab, click the Accept Batch.

  12. Upload the file you downloaded from the Cold wallet app and click Accept Batch.

  13. Click the History to see the transaction details. The transaction status should be changed to broadcasting > completed.

πŸ—£οΈ We Are Here to Help!

Please contact us via email or support chat if you encounter an issue, bug, or need assistance. Don't forget to include any relevant details about the problem. To request a wallet form and Institutional Vault Approver form, please click here or contact our sales team.

Updated 3 months ago