> ## Documentation Index
> Fetch the complete documentation index at: https://gerfaut-wallet.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Broadcast

> Hand a transaction signed on your signing device to the bitcoin network from Gerfaut, read what it does before it goes out, and follow it to confirmation.

Send a transaction your signing device signed to the network, through your backend. Gerfaut reads it back in plain words before anything leaves.

> [!WARNING]
>
> Nobody can take a transaction back once the network has it. Check the outputs and the fee on the preview before you confirm.

## Broadcast the transaction

**1. Open the Broadcast page**

**Android**

Select **More**, then **Broadcast**.

![The Broadcast screen on Android, empty: the Signed transaction or PSBT field, the Import a file and Scan a QR code buttons and the Preview button.](https://mintcdn.com/gerfaut/lxGkHstk_-7EsZEA/images/android/broadcast.webp?fit=max\&auto=format\&n=lxGkHstk_-7EsZEA\&q=85\&s=12fd453bd97bfd74ba32e30a0fc2ec89)

**Desktop**

Select **Broadcast** in the sidebar.

![The Broadcast page on desktop, empty: the Signed transaction field, the accepted formats, the Import a file and Scan a QR code buttons and the Preview button.](https://mintcdn.com/gerfaut/lxGkHstk_-7EsZEA/images/desktop/broadcast.webp?fit=max\&auto=format\&n=lxGkHstk_-7EsZEA\&q=85\&s=6f583f2595e14c4fb459b1a486b40ac9)

**2. Paste, import or scan the transaction**

Paste a PSBT (base64 or hex) or a raw transaction (hex), then select **Preview**. **Import a file** takes a `.psbt`, `.txn`, `.tx`, `.txt` or `.hex` file. **Scan a QR code** takes a `crypto-psbt` UR or a BBQr code.

**3. Read the preview**

Check the outputs, the fee and every caution under `Before you send`, as in [Check the cautions before you send](#check-the-cautions-before-you-send). When the fee reads `as the PSBT claims` or `unproven`, no backend confirmed the coins it spends, so check the fee on your signing device. On a PSBT still missing signatures, `Fee rate` starts with `≈` and reads `once signed`, the rate it pays after your signing device signs it.

**4. Select Broadcast twice**

**Broadcast** stays disabled until every input is signed and the pill reads `Ready to broadcast` or `Already in the mempool`. It stays disabled when the pill reads `Will be refused`: the network is certain to turn the transaction down, and signing it again would not change that. A coin it spends was already spent in a block, its outputs pay more than its coins are known to hold, or they pay more than the 21 million bitcoin that will ever exist. Select **Broadcast**, read the confirmation and select **Broadcast** again. A status card then follows the transaction, and names the backend that took it on desktop.

**Android**

<video autoPlay muted loop playsInline preload="metadata" src="https://mintcdn.com/gerfaut/lxGkHstk_-7EsZEA/videos/everyday-use/preview-a-transaction-android.mp4?fit=max&auto=format&n=lxGkHstk_-7EsZEA&q=85&s=71c841d658aaec0a03178a5938edf604" aria-label="Previewing a PSBT on Android: the PSBT pasted, Preview, the diagram, a red caution about a missing signature under Before you send, then Broadcast disabled. Nothing is broadcast." />

**Desktop**

<video autoPlay muted loop playsInline preload="metadata" src="https://mintcdn.com/gerfaut/lxGkHstk_-7EsZEA/videos/everyday-use/preview-a-transaction-desktop.mp4?fit=max&auto=format&n=lxGkHstk_-7EsZEA&q=85&s=82dcdc6f8e785ff3d3e621e855b8a75e" aria-label="Previewing a PSBT on desktop: the PSBT pasted, Preview, the amber Not fully signed pill, the diagram, a red caution about a missing signature under Before you send, then Broadcast disabled. Nothing is broadcast." />

## Check the cautions before you send

Gerfaut lists what it finds under `Before you send`, in red when your bitcoin is at stake and in amber otherwise.

> [!WARNING]
>
> The first two cautions below mean the transaction may not pay what your signing device showed you. Do not broadcast it.

* **Outputs left open:** An input is signed with `SIGHASH_NONE` or `SIGHASH_SINGLE`. Whoever relays or mines the transaction can then send that money elsewhere. Have your signing device sign it again over every output, with `SIGHASH_ALL`.
* **Input not what the PSBT says:** The PSBT declares another amount or address for a coin than your wallet or the backend knows. The fee your signing device showed may not be the real one. Build the transaction again in your own wallet software.
* **No signature:** An input carries no signature. The pill then reads `Not fully signed`. Send the transaction back to your signing device.
* **Input already spent:** The transaction is already in a block, or another one took the coin. Spent in a block, the coin is gone and the pill reads `Will be refused`. Spent only in the mempool, or by a transaction the backend cannot show, Broadcast stays available and the network decides.
* **Fee rate:** Far above what the chain asks for, often because of a wrong unit in the signing software.
* **Fee:** More than 10% of what the inputs bring.

> **Read the amber cautions**
>
> * **Already in the mempool:** The transaction went out before and waits to be mined. The pill reads `Already in the mempool`. Broadcasting it again does no harm, and the status card then follows it.
> * **Input not found or not checked:** The backend does not know the coin, or no backend answered. Check the amounts on your signing device.
> * **Fee unknown:** Gerfaut cannot work out the fee: the value of a coin is unknown, or the amounts do not add up. When the outputs pay more than coins whose amounts are proven, or more than all the bitcoin there will ever be, the network will refuse the transaction and Broadcast stays disabled. When they pay more than amounts nothing proves, the caution says so and the network decides.
> * **Dust:** An output below 546 sats, which most nodes refuse.
> * **Locktime:** The network does not accept the transaction before a later block or date.
> * **Spends a watched wallet:** The transaction spends coins of a wallet you watch, named in the caution.

> **Read a refusal by the node**
>
> The preview reads `The network refused this transaction.` followed by the node's own words. Gerfaut asks the next server only when one cannot be reached, so no other operator sees a refused transaction. To try another node, select another server under `Server` on the [Backend](/docs/settings/backends-and-your-own-node#use-the-public-servers) page.

## Follow the transaction

The status card asks the backend about the transaction every 30 seconds until it confirms, or until six confirmations on Android:

* **`Waiting to be mined`:** The transaction is in the backend's mempool. The desktop pill reads `In the mempool`.
* **`Confirmed`:** Mined, with the number of confirmations.
* **`Not seen`:** The backend does not have it. Broadcasting it again does no harm.

Gerfaut keeps your last ten broadcasts and lists those of the selected network on the Broadcast page. Forgetting one removes it from the list and leaves the transaction untouched.

**Android**

Select the **Check again** icon to ask the backend now. Under `Recent broadcasts`, select the **Forget this broadcast** icon to remove a transaction.

**Desktop**

Select **Refresh** to ask the backend now. Under `Past broadcasts`, select **Check** to follow an older transaction again, or **Forget** to remove it.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.