{
  "$schema": "https://degreesofsatoshi.com/encyclopedia/schemas/article-v1.json",
  "schemaVersion": "1.0.0",
  "id": "bitcoin-transaction-broadcasting",
  "canonical": "https://degreesofsatoshi.com/encyclopedia/bitcoin-transaction-broadcasting/",
  "collection": "bitcoin",
  "title": "Broadcasting a signed Bitcoin transaction: what acceptance proves",
  "description": "Distinguish a signed Bitcoin transaction, a local mempool test, network broadcast and block inclusion, including privacy and retry implications.",
  "aliases": [
    "broadcast bitcoin transaction",
    "broadcast bitcoin transaction explained"
  ],
  "dates": {
    "published": "2026-10-02",
    "modified": "2026-10-02",
    "verified": "2026-10-02T19:29:20.637Z",
    "dataAsOf": "2026-10-02"
  },
  "authorship": {
    "publisher": "Degrees of Satoshi editorial project",
    "process": "AI-assisted research and drafting with a separate automated source-verification pass; no external expert or named human review is implied."
  },
  "quickAnswer": {
    "text": "Broadcasting submits a signed Bitcoin transaction to a network-connected node for validation and relay. A local acceptance result does not guarantee every peer accepts it or that a miner includes it. Core separates testmempoolaccept, which tests local rules, from sendrawtransaction, which submits the transaction. Repeated manual rebroadcast can also reveal information about the transaction’s origin.",
    "claimId": "bitcoin-transaction-broadcasting-quick-answer",
    "sourceIds": [
      "x425-btc-core-testmempoolaccept",
      "x425-btc-core-sendrawtransaction",
      "x425-btc-dev-p2p-network"
    ]
  },
  "keyFacts": [
    {
      "label": "Test",
      "value": "Local acceptance check without submission",
      "sourceIds": [
        "x425-btc-core-testmempoolaccept"
      ],
      "id": "test",
      "claimId": "bitcoin-transaction-broadcasting-fact-test"
    },
    {
      "label": "Broadcast",
      "value": "Submit the serialized transaction to a node",
      "sourceIds": [
        "x425-btc-core-sendrawtransaction"
      ],
      "id": "broadcast",
      "claimId": "bitcoin-transaction-broadcasting-fact-broadcast"
    },
    {
      "label": "Settlement",
      "value": "Inclusion requires a later chain event",
      "sourceIds": [
        "x425-btc-dev-block-chain"
      ],
      "id": "settlement",
      "claimId": "bitcoin-transaction-broadcasting-fact-settlement"
    }
  ],
  "prerequisites": [
    "partially-signed-bitcoin-transactions",
    "bitcoin-stuck-transactions"
  ],
  "sections": [
    {
      "id": "artifact",
      "heading": "A transaction ID is not the transaction itself",
      "sourceIds": [
        "x425-btc-core-sendrawtransaction",
        "x425-btc-dev-transactions"
      ],
      "paragraphs": [
        "A node needs the serialized transaction, including the required authorization data, to evaluate a new submission. An identifier is useful for lookup, but it is not a file from which an unknown transaction can always be reconstructed.",
        "Signing can happen on a different device from broadcasting. The relay device does not need to learn the private key merely to submit an already signed transaction."
      ]
    },
    {
      "id": "local",
      "heading": "Read a test result at its actual scope",
      "sourceIds": [
        "x425-btc-core-testmempoolaccept"
      ],
      "paragraphs": [
        "The cited Core RPC checks both consensus and local policy rules, and can report a rejection reason. For a package, parent ordering and package conditions also matter. A successful result describes what that node would accept under the observed conditions.",
        "For example, a test at one moment can pass before another transaction spends the same input. The earlier result does not reserve the output or a place in a future block."
      ]
    },
    {
      "id": "track",
      "heading": "Preserve the transaction before retrying",
      "sourceIds": [
        "x425-btc-core-sendrawtransaction",
        "x425-btc-dev-payment-processing"
      ],
      "paragraphs": [
        "After submission, record the transaction ID and inspect the relevant outputs and later confirmation state. If a network call times out, the node may have received the transaction even though your application missed the response. Check before creating a separate payment.",
        "Core warns that manual rebroadcast can leak origin information because its behavior differs from normal relay of transactions already known to the node. More submission services are not automatically better privacy or guaranteed faster confirmation."
      ]
    }
  ],
  "faq": [
    {
      "question": "Does testmempoolaccept send my transaction?",
      "answer": "No. It evaluates local acceptance rules and returns a result. Core provides sendrawtransaction for submission. A successful test is not a broadcast receipt, miner commitment or confirmation.",
      "sourceIds": [
        "x425-btc-core-testmempoolaccept",
        "x425-btc-core-sendrawtransaction"
      ]
    },
    {
      "question": "Can someone else broadcast a transaction I signed offline?",
      "answer": "Yes, if they possess the complete valid signed transaction. Broadcasting does not require your private key; that is why you should review and control the signed payment before handing it to a relay.",
      "sourceIds": [
        "x425-btc-electrum-cold",
        "x425-btc-core-sendrawtransaction"
      ]
    }
  ],
  "claims": [
    {
      "id": "bitcoin-transaction-broadcasting-quick-answer",
      "articleSlug": "bitcoin-transaction-broadcasting",
      "statement": "Broadcasting submits a signed Bitcoin transaction to a network-connected node for validation and relay. A local acceptance result does not guarantee every peer accepts it or that a miner includes it. Core separates testmempoolaccept, which tests local rules, from sendrawtransaction, which submits the transaction. Repeated manual rebroadcast can also reveal information about the transaction’s origin.",
      "sourceIds": [
        "source-916dfd4428737738",
        "source-4d4d250c55f548e4",
        "source-37b2d756ababbeec"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-916dfd4428737738",
          "locator": "Description; Result: allowed, reject-reason"
        },
        {
          "sourceId": "source-4d4d250c55f548e4",
          "locator": "Description; Arguments; Result"
        },
        {
          "sourceId": "source-37b2d756ababbeec",
          "locator": "Peer Discovery; Connecting To Peers; Initial Block Download; Block Broadcasting; Transaction Broadcasting"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "Educational explanation. Product-specific behavior is scoped to the cited documentation, checked 2026-10-02.",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read Core29 testmempoolaccept and sendrawtransaction descriptions/results. Local policy acceptance does not reserve inputs or guarantee mining; manual rebroadcast privacy warning, complete serialized transaction and response uncertainty are accurately scoped."
        ]
      }
    },
    {
      "id": "bitcoin-transaction-broadcasting-fact-test",
      "articleSlug": "bitcoin-transaction-broadcasting",
      "statement": "Test: Local acceptance check without submission",
      "sourceIds": [
        "source-916dfd4428737738"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-916dfd4428737738",
          "locator": "Description; Result: allowed, reject-reason"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read Core29 testmempoolaccept and sendrawtransaction descriptions/results. Local policy acceptance does not reserve inputs or guarantee mining; manual rebroadcast privacy warning, complete serialized transaction and response uncertainty are accurately scoped."
        ]
      }
    },
    {
      "id": "bitcoin-transaction-broadcasting-fact-broadcast",
      "articleSlug": "bitcoin-transaction-broadcasting",
      "statement": "Broadcast: Submit the serialized transaction to a node",
      "sourceIds": [
        "source-4d4d250c55f548e4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-4d4d250c55f548e4",
          "locator": "Description; Arguments; Result"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read Core29 testmempoolaccept and sendrawtransaction descriptions/results. Local policy acceptance does not reserve inputs or guarantee mining; manual rebroadcast privacy warning, complete serialized transaction and response uncertainty are accurately scoped."
        ]
      }
    },
    {
      "id": "bitcoin-transaction-broadcasting-fact-settlement",
      "articleSlug": "bitcoin-transaction-broadcasting",
      "statement": "Settlement: Inclusion requires a later chain event",
      "sourceIds": [
        "source-190b9fe0eec933dc"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-190b9fe0eec933dc",
          "locator": "Block Height And Forking; Transaction Data; Proof Of Work; Consensus Rule Changes"
        }
      ],
      "scope": {
        "collection": "bitcoin",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:29:20.637Z",
        "reviewer": "Independent automated verification — Codex /root/verify_ethereum_100, separate from the Bitcoin drafting agent",
        "notes": [
          "Read Core29 testmempoolaccept and sendrawtransaction descriptions/results. Local policy acceptance does not reserve inputs or guarantee mining; manual rebroadcast privacy warning, complete serialized transaction and response uncertainty are accurately scoped."
        ]
      }
    }
  ],
  "sources": [
    {
      "id": "x425-btc-core-testmempoolaccept",
      "label": "testmempoolaccept RPC",
      "publisher": "Bitcoin Core",
      "url": "https://bitcoincore.org/en/doc/29.0.0/rpc/rawtransactions/testmempoolaccept/",
      "locator": "Description; Result: allowed, reject-reason",
      "note": "Local admission checks do not broadcast or promise miner inclusion.",
      "version": "Bitcoin Core 29.0 RPC reference; not a recommendation to install an old release",
      "checkedAt": "2026-10-02T18:53:56.573Z",
      "contentSha256": "b5432a56d9df8f0c9585638ab1d48863e0c0c1ce1bf281aec6fa5dc3102c1218",
      "recordId": "source-916dfd4428737738"
    },
    {
      "id": "x425-btc-core-sendrawtransaction",
      "label": "sendrawtransaction RPC",
      "publisher": "Bitcoin Core",
      "url": "https://bitcoincore.org/en/doc/29.0.0/rpc/rawtransactions/sendrawtransaction/",
      "locator": "Description; Arguments; Result",
      "note": "Submitting serialized signed transactions, fee guardrails and rebroadcast privacy warning.",
      "version": "Bitcoin Core 29.0 RPC reference; not a recommendation to install an old release",
      "checkedAt": "2026-10-02T18:53:56.420Z",
      "contentSha256": "c1402d0c9c6677bd967fdd20dbb650991a8169c30e1a6598fbed3ac4defbd08a",
      "recordId": "source-4d4d250c55f548e4"
    },
    {
      "id": "x425-btc-dev-p2p-network",
      "label": "P2P Network",
      "publisher": "Bitcoin developer documentation",
      "url": "https://developer.bitcoin.org/devguide/p2p_network.html",
      "locator": "Peer Discovery; Connecting To Peers; Initial Block Download; Block Broadcasting; Transaction Broadcasting",
      "note": "Peer connections, initial download and block/transaction relay.",
      "version": "Developer guide; historical implementation details require qualification",
      "checkedAt": "2026-10-02T18:53:53.860Z",
      "contentSha256": "9240934092827c46470cd7a2443aa657af262b400e3b86f43cd83e34963e12c7",
      "recordId": "source-37b2d756ababbeec"
    },
    {
      "id": "x425-btc-dev-block-chain",
      "label": "Block Chain",
      "publisher": "Bitcoin developer documentation",
      "url": "https://developer.bitcoin.org/devguide/block_chain.html",
      "locator": "Block Height And Forking; Transaction Data; Proof Of Work; Consensus Rule Changes",
      "note": "Chain validation, block timing, proof of work and accepted-chain context.",
      "version": "Developer guide; historical implementation details require qualification",
      "checkedAt": "2026-10-02T18:53:53.957Z",
      "contentSha256": "4d0bca201a3d75bf36bcf1d22e756ef6f25fe72c522d62c79a355b65a0f1ce1b",
      "recordId": "source-190b9fe0eec933dc"
    },
    {
      "id": "x425-btc-dev-transactions",
      "label": "Transactions",
      "publisher": "Bitcoin developer documentation",
      "url": "https://developer.bitcoin.org/devguide/transactions.html",
      "locator": "Introduction; Spending An Output; P2PKH Script Validation; Multisig; Transaction Fees And Change; Avoiding Key Reuse",
      "note": "Inputs, outputs, authorization, change, coinbase exceptions and fee accounting.",
      "version": "Developer guide; historical implementation details require qualification",
      "checkedAt": "2026-10-02T18:53:53.759Z",
      "contentSha256": "2f3fc474d51880e6c7fd4c25f747f8d8d8da49a493ab82af8ff4916fa490d6b8",
      "recordId": "source-b282fdecc069b74d"
    },
    {
      "id": "x425-btc-dev-payment-processing",
      "label": "Payment Processing",
      "publisher": "Bitcoin developer documentation",
      "url": "https://developer.bitcoin.org/devguide/payment_processing.html",
      "locator": "Requesting Payments; Verifying Payment; Issuing Refunds",
      "note": "Payment request interpretation, confirmation checks and refund destination risks; historical protocol sections are dated.",
      "version": "Developer guide; historical implementation details require qualification",
      "checkedAt": "2026-10-02T18:53:53.958Z",
      "contentSha256": "b65d66f9a2ea6dc98bfc010c0349afdb7a066b837f76248436322344dbb043f9",
      "recordId": "source-5100780ba9c0cc55"
    },
    {
      "id": "x425-btc-electrum-cold",
      "label": "Cold Storage",
      "publisher": "Electrum",
      "url": "https://electrum.readthedocs.io/en/latest/coldstorage.html",
      "locator": "Create an offline wallet; Create a watching-only version of your wallet; Create an unsigned transaction; Get your transaction signed; Broadcast your transaction",
      "note": "Electrum offline signing workflow and separation of watch-only and signing devices.",
      "checkedAt": "2026-10-02T18:53:56.455Z",
      "contentSha256": "f2cbfc12c3786bf15734a1822ac509c5c3e3ae1763a84aac7a851e3892a65ff1",
      "recordId": "source-cf3812de54f14280",
      "version": null
    }
  ],
  "related": {
    "articles": [
      "partially-signed-bitcoin-transactions",
      "bitcoin-stuck-transactions",
      "bitcoin-software-upgrades",
      "bitcoin-message-signatures"
    ],
    "dossiers": [],
    "wallets": []
  },
  "revisionHistory": [
    {
      "date": "2026-10-02",
      "kind": "published",
      "summary": "First publication after primary-source research and separate automated verification."
    }
  ],
  "citation": "Degrees of Satoshi editorial project. “Broadcasting a signed Bitcoin transaction: what acceptance proves.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/bitcoin-transaction-broadcasting/"
}
