Step-by-step guide to broadcasting a raw Bitcoin transaction using online tools, Bitcoin Core, and block explorers. Includes fixes for stuck and unconfirmed transactions.
import InfoBox from '@components/shortcodes/InfoBox.astro';
You signed a Bitcoin transaction. Now what? It needs to reach the network. Broadcasting is the act of sending your signed transaction to Bitcoin nodes so miners can include it in a block. If your transaction never gets broadcast - or gets broadcast but sits unconfirmed - nothing happens. Your bitcoin stays where it is.
This guide covers every method to broadcast a transaction, from browser tools to command-line, and what to do when things go wrong.
When you broadcast a transaction, your wallet or tool sends the raw transaction hex to one or more Bitcoin nodes. Those nodes validate it (checking signatures, inputs, and fee) and relay it to their peers. Within seconds, your transaction propagates across thousands of nodes and lands in the mempool - the waiting room for unconfirmed transactions.
From there, miners pick it up based on fee priority and include it in the next block they mine. One confirmation takes roughly 10 minutes. Six confirmations (about an hour) is considered irreversible for most purposes.
If broadcasting fails, the transaction never enters the mempool and effectively does not exist on the network.
The simplest option. Paste your raw transaction hex into a web form and click submit.
Popular tools:
How to use:
If you run your own full node, this is the most private method. No third party sees your transaction before the network does.
bitcoin-cli sendrawtransaction "YOUR_RAW_TX_HEX"
If the transaction is valid, Bitcoin Core returns the TXID. If not, it returns an error explaining why (insufficient fee, double spend, invalid signature, etc.).
You can also test without broadcasting:
bitcoin-cli testmempoolaccept '["YOUR_RAW_TX_HEX"]'
This checks whether the transaction would be accepted into the mempool without actually sending it.
Most desktop wallets handle broadcasting automatically when you click "Send." But if you have a pre-signed transaction (from an air-gapped device or multisig setup), you can broadcast it manually:
Electrum: Tools > Load Transaction > From text/file > Broadcast
Sparrow: File > Import Transaction > Broadcast Transaction
These wallets connect to Electrum servers or your own node to relay the transaction.
For developers or automated systems, you can broadcast via JSON-RPC or REST APIs:
curl -X POST https://blockstream.info/api/tx -d "RAW_TX_HEX"
Or using the mempool.space API:
curl -X POST https://mempool.space/api/tx -d "RAW_TX_HEX"
Both return the TXID on success.
A broadcast transaction that sits unconfirmed for hours is not a broadcast failure - it is a fee problem. The transaction reached the mempool, but miners are prioritizing higher-fee transactions.
Check the status:
Fix options:
For a detailed walkthrough, see our stuck transaction fix guide.
If a broadcast tool returns an error instead of a TXID, the transaction was not accepted. Common reasons:
| Error | Meaning | Fix |
|---|---|---|
| Missing inputs | The UTXO you are spending no longer exists | Check if it was already spent in another transaction |
| Fee too low | Below the minimum relay fee (1 sat/vB) | Recreate with a higher fee |
| Transaction already in mempool | You already broadcast it | Check the TXID on a block explorer |
| Double spend | Another transaction already spent the same input | One of your transactions will be dropped |
| Non-final | Timelock has not expired | Wait until the specified block height or timestamp |
Broadcasting reveals your IP address to the first node that receives your transaction. If an observer controls that node, they can link your IP to your transaction.
Mitigations:
Broadcasting is the last step between signing a transaction and getting it confirmed. For most users, your wallet handles it automatically. But when transactions get stuck, when you are working with cold storage or multisig setups, or when privacy is critical - knowing how to broadcast manually is essential.
The tools are free, the process takes seconds, and it puts you in direct control of your transactions. That is the point of Bitcoin.