Understanding Presigned Bitcoin Transactions
What is a Presigned Bitcoin Transaction?
A presigned Bitcoin transaction is a fully formed transaction that has been signed by the sender but has not yet been broadcast to the Bitcoin network. Think of it like a signed check that you keep in your drawer instead of immediately giving it to someone. The funds are committed, and the transaction is valid, but it only takes effect once it's released into the network.
How Does It Look?
A raw, signed Bitcoin transaction is a long string of hexadecimal characters. This string contains all the information needed to execute the transaction: the sender's address (inputs), the recipient's address (outputs), the amount, and the digital signature that proves ownership of the funds. Here’s a simplified example of what it might look like:
02000000000101b110155b1b9f13f887127a7c8b2f9a784ca0181efd70f73e5de2b2e45d49807f0100000017160014e6fa27edac0471f43f408377b3a5bd0bd5c0fb8efdffffff03102700000000000017a91412b59e2a7a5c5a17c1cade66d299668f3c43e08387e02e0000000000001976a914ef596990496fef9a45ce0af7514ea599169dcd6788aca67b8c060000000017a914da6f35de0ae98385fb999b7268550e02963fa946870247304402205af9c4954c5dfb5a44aab9842d99948010b37bb004acbda31fbd8c9bf8bd61fd0220446b1842a984f73ebec7042cdaa115b7bb54b4b12e24ed7252707305c99f3525012103a51e150c20885d476d4d95b9adee7d08a0ec65520314d8e95474582a3ec6fc5a00000000
The Concept: Sign Now, Broadcast Later
The key idea is the separation between signing and broadcasting. By signing a transaction, you authorize the movement of your bitcoin. However, you can hold onto this signed transaction and decide when (or if) to broadcast it. This is the core of what services like GARD.PW can utilize. It allows for creating conditional or time-delayed payments, acting as a form of a digital dead man's switch or a programmable trust mechanism.
How to create a presigned transaction offline
In practice you will use two environments: an offline signer that holds your private keys, and an online, watching-only wallet. You build an unsigned transaction (or a PSBT) on the online machine, move it to the offline machine to sign, then bring the signed result back online to broadcast. The signed file or raw hex you keep is your presigned transaction.
Electrum (desktop)
- On an offline computer, install Electrum and create a new wallet. Keep this machine offline permanently and back up the seed.
- Export a watching-only wallet to your online computer (Wallet → Information → copy the Master Public Key, or File → Save Copy → “Watching-only”).
- On the online computer, open the watching-only wallet, build the payment (Send tab → Preview), then Save/Export the unsigned transaction/PSBT to a file.
- Move the file to the offline computer. In Electrum: Tools → Load transaction → From file → Sign → save the signed transaction (you can also copy the raw hex).
- Bring the signed transaction back to your Gard Server.
Docs: Electrum: Cold Storage · Electrum: Command line flow
Sparrow Wallet
- Create an offline wallet on an air‑gapped machine and a matching watching‑only wallet on an online machine (import xpubs/descriptors).
- On the online wallet, build the payment and click Create/Save PSBT.
- Transfer the .psbt file to the offline machine; open it in Sparrow and Sign.
- Export the finalized transaction (or signed PSBT), transfer back a copy of the transaction, and back to your Gard Server.
Docs: Sparrow: Quick Start · Air‑gapped signing via PSBT
Bitcoin Core (PSBT)
- Online: create a PSBT using
walletcreatefundedpsbt
. - Offline: sign the PSBT with
walletprocesspsbt
(setsign=true
). - Return online and
finalizepsbt
to extract the transaction hex, then insert into to your Gard Server along with the addersses it watches for
Docs: walletcreatefundedpsbt · walletprocesspsbt · finalizepsbt
Safety tips
- Test with a small amount first and verify addresses on a trusted device.
- Keep the offline computer truly offline; transfer files via QR/SD/USB you trust.
- Double‑check fees and timelocks before signing. Store the signed hex (or file) securely.