{
  "$schema": "https://degreesofsatoshi.com/encyclopedia/schemas/article-v1.json",
  "schemaVersion": "1.0.0",
  "id": "bitcoin-stratum-mining",
  "canonical": "https://degreesofsatoshi.com/encyclopedia/bitcoin-stratum-mining/",
  "collection": "bitcoin",
  "title": "Stratum mining: how pool jobs reach mining hardware",
  "description": "Understand Stratum mining communication, the role of a pool or proxy and what Stratum V2’s optional job declaration changes.",
  "aliases": [
    "stratum v1 vs v2 bitcoin",
    "stratum v1 vs v2 bitcoin 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": "Stratum is a family of protocols used to send mining jobs to devices and submit their results upstream. It is different from Bitcoin’s peer-to-peer block and transaction network. Stratum V2 separates mining communication, job declaration and template distribution into related protocols. Basic V2 mining support does not by itself prove that a miner selects the transactions in its candidate blocks.",
    "claimId": "bitcoin-stratum-mining-quick-answer",
    "sourceIds": [
      "x425-btc-dev-mining",
      "x425-btc-stratum-overview"
    ]
  },
  "keyFacts": [
    {
      "label": "Mining protocol",
      "value": "Distributes jobs and accepts shares",
      "sourceIds": [
        "x425-btc-stratum-mining"
      ],
      "id": "mining-protocol",
      "claimId": "bitcoin-stratum-mining-fact-mining-protocol"
    },
    {
      "label": "Job declaration",
      "value": "Supports declaring custom block templates",
      "sourceIds": [
        "x425-btc-stratum-overview"
      ],
      "id": "job-declaration",
      "claimId": "bitcoin-stratum-mining-fact-job-declaration"
    },
    {
      "label": "Template distribution",
      "value": "Supplies candidate block information",
      "sourceIds": [
        "x425-btc-stratum-overview"
      ],
      "id": "template-distribution",
      "claimId": "bitcoin-stratum-mining-fact-template-distribution"
    }
  ],
  "prerequisites": [
    "bitcoin-mining-pools",
    "how-bitcoin-mining-works"
  ],
  "sections": [
    {
      "id": "roles",
      "heading": "Follow the path from a device to a pool",
      "sourceIds": [
        "x425-btc-stratum-overview"
      ],
      "paragraphs": [
        "A mining device receives work from an upstream pool or proxy. A proxy can combine connections or provide monitoring. The pool checks submitted shares and coordinates block propagation; the device’s main job is hashing the supplied work.",
        "A template provider supplies candidate-block information. A job declarator can arrange custom work with the pool. One software system may perform several roles, but those roles are still conceptually distinct."
      ]
    },
    {
      "id": "example",
      "heading": "A V2 connection does not establish every optional feature",
      "sourceIds": [
        "x425-btc-stratum-overview"
      ],
      "paragraphs": [
        "Suppose a farm upgrades its device-to-pool connection to the V2 mining protocol but does not run or connect a job declarator. The protocol specification explicitly allows mining without miner transaction selection. Calling the connection V2 does not prove that the farm now chooses the block contents.",
        "To assess that capability, inspect the actual template, declaration and pool support in the deployed path rather than inferring it from a single version label."
      ]
    },
    {
      "id": "security",
      "heading": "Transport protection has a defined scope",
      "sourceIds": [
        "x425-btc-stratum-security",
        "x425-btc-stratum-mining"
      ],
      "paragraphs": [
        "V2 specifies authenticated encryption and a secure session setup, with a mandatory handshake for remote upstream access and a local-network exception described in the specification. These protections address observation and alteration of messages in transit.",
        "They do not guarantee that a pool will pay its account balances, that hardware will be profitable or that a proposed block satisfies Bitcoin consensus. Those questions require separate checks."
      ]
    }
  ],
  "faq": [
    {
      "question": "Is Stratum the protocol ordinary Bitcoin wallets use to send payments?",
      "answer": "No. Stratum mining protocols coordinate candidate work and share submission. Bitcoin transaction relay and wallet payment interfaces perform different jobs.",
      "sourceIds": [
        "x425-btc-stratum-overview",
        "x425-btc-dev-p2p-network"
      ]
    },
    {
      "question": "Does encrypted mining traffic remove the need to trust a payout operator?",
      "answer": "No. Transport security protects the communication channel. It does not ensure the pool’s accounting, solvency or fulfillment of its payout obligations.",
      "sourceIds": [
        "x425-btc-stratum-security",
        "x425-btc-pool-payouts"
      ]
    }
  ],
  "claims": [
    {
      "id": "bitcoin-stratum-mining-quick-answer",
      "articleSlug": "bitcoin-stratum-mining",
      "statement": "Stratum is a family of protocols used to send mining jobs to devices and submit their results upstream. It is different from Bitcoin’s peer-to-peer block and transaction network. Stratum V2 separates mining communication, job declaration and template distribution into related protocols. Basic V2 mining support does not by itself prove that a miner selects the transactions in its candidate blocks.",
      "sourceIds": [
        "source-d5271fde58f8f665",
        "source-394deea2671f4cfb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-d5271fde58f8f665",
          "locator": "Mining; Solo Mining; Pool Mining; Block Prototypes"
        },
        {
          "sourceId": "source-394deea2671f4cfb",
          "locator": "3. Protocol Overview: Mining Protocol, Job Declaration Protocol, Template Distribution Protocol and roles"
        }
      ],
      "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 StratumV2 protocol roles and secure-session requirements. Mining-only support can operate without transaction selection; job declaration/template distribution are separate. Remote handshake versus local exception is accurately scoped, and transport authentication does not guarantee pool payment."
        ]
      }
    },
    {
      "id": "bitcoin-stratum-mining-fact-mining-protocol",
      "articleSlug": "bitcoin-stratum-mining",
      "statement": "Mining protocol: Distributes jobs and accepts shares",
      "sourceIds": [
        "source-45e6674e99f8e04e"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-45e6674e99f8e04e",
          "locator": "5.1 Job; 5.3.11–14 SubmitShares messages; 5.3.17 SetNewPrevHash; 5.3.21 SetTarget"
        }
      ],
      "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 StratumV2 protocol roles and secure-session requirements. Mining-only support can operate without transaction selection; job declaration/template distribution are separate. Remote handshake versus local exception is accurately scoped, and transport authentication does not guarantee pool payment."
        ]
      }
    },
    {
      "id": "bitcoin-stratum-mining-fact-job-declaration",
      "articleSlug": "bitcoin-stratum-mining",
      "statement": "Job declaration: Supports declaring custom block templates",
      "sourceIds": [
        "source-394deea2671f4cfb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-394deea2671f4cfb",
          "locator": "3. Protocol Overview: Mining Protocol, Job Declaration Protocol, Template Distribution Protocol and roles"
        }
      ],
      "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 StratumV2 protocol roles and secure-session requirements. Mining-only support can operate without transaction selection; job declaration/template distribution are separate. Remote handshake versus local exception is accurately scoped, and transport authentication does not guarantee pool payment."
        ]
      }
    },
    {
      "id": "bitcoin-stratum-mining-fact-template-distribution",
      "articleSlug": "bitcoin-stratum-mining",
      "statement": "Template distribution: Supplies candidate block information",
      "sourceIds": [
        "source-394deea2671f4cfb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-394deea2671f4cfb",
          "locator": "3. Protocol Overview: Mining Protocol, Job Declaration Protocol, Template Distribution Protocol and roles"
        }
      ],
      "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 StratumV2 protocol roles and secure-session requirements. Mining-only support can operate without transaction selection; job declaration/template distribution are separate. Remote handshake versus local exception is accurately scoped, and transport authentication does not guarantee pool payment."
        ]
      }
    }
  ],
  "sources": [
    {
      "id": "x425-btc-dev-mining",
      "label": "Mining",
      "publisher": "Bitcoin developer documentation",
      "url": "https://developer.bitcoin.org/devguide/mining.html",
      "locator": "Mining; Solo Mining; Pool Mining; Block Prototypes",
      "note": "Hardware work, candidate blocks and pool shares; historical examples are not current equipment recommendations.",
      "version": "Developer guide; historical implementation details require qualification",
      "checkedAt": "2026-10-02T18:53:53.955Z",
      "contentSha256": "543e25621d1ef8d36da57d86b94ee8196b156ff4c0c3a6e3d071933f1a632b17",
      "recordId": "source-d5271fde58f8f665"
    },
    {
      "id": "x425-btc-stratum-overview",
      "label": "Protocol Overview",
      "publisher": "Stratum V2 specification",
      "url": "https://stratumprotocol.org/specification/03-protocol-overview/",
      "locator": "3. Protocol Overview: Mining Protocol, Job Declaration Protocol, Template Distribution Protocol and roles",
      "note": "Separate mining, job declaration and template distribution protocols.",
      "checkedAt": "2026-10-02T18:53:58.669Z",
      "contentSha256": "bf6115d24c6c10b56043a8d16fb482ea744496889e6fb36916800e6262af14fe",
      "recordId": "source-394deea2671f4cfb",
      "version": null
    },
    {
      "id": "x425-btc-stratum-mining",
      "label": "Mining Protocol",
      "publisher": "Stratum V2 specification",
      "url": "https://stratumprotocol.org/specification/05-mining-protocol/",
      "locator": "5.1 Job; 5.3.11–14 SubmitShares messages; 5.3.17 SetNewPrevHash; 5.3.21 SetTarget",
      "note": "Mining jobs, channel types, share submission and custom-job support.",
      "checkedAt": "2026-10-02T18:53:58.669Z",
      "contentSha256": "34d7d92253d260aab89db2c148a56951951792ae1da249b21f3527082027a63d",
      "recordId": "source-45e6674e99f8e04e",
      "version": null
    },
    {
      "id": "x425-btc-stratum-security",
      "label": "Protocol Security",
      "publisher": "Stratum V2 specification",
      "url": "https://stratumprotocol.org/specification/04-protocol-security/",
      "locator": "4 Protocol Security; 4.1 Motivation for Authenticated Encryption with Associated Data; 4.5 Authenticated Key Agreement Handshake",
      "note": "Authenticated encrypted transport and its threat boundaries.",
      "checkedAt": "2026-10-02T18:53:58.786Z",
      "contentSha256": "2d887598ba93260c97fe6825aeafefd383f3012b25641abca91664f63f0890b8",
      "recordId": "source-da110f1187fa1a35",
      "version": null
    },
    {
      "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-pool-payouts",
      "label": "Bitcoin Mining Pools: 101",
      "publisher": "f2pool",
      "url": "https://f2pool.io/mining/insights/20200318-mining-pools-101/",
      "locator": "Mining pool payouts; Why do miners use a mining pool?; When should I consider solo mining?",
      "note": "Historical 2020 explanation used for share-based reward mechanics and statistical variance; not current subsidy, price, fees, payouts or pool recommendation.",
      "version": "Published 2020-03-18; historical example",
      "checkedAt": "2026-10-02T18:54:53.532Z",
      "contentSha256": "3803c5893982d51adf5977a2a9f1b2432930f29a0891ad97a56c8fada01bef81",
      "recordId": "source-1277587efaa94027"
    }
  ],
  "related": {
    "articles": [
      "bitcoin-mining-pools",
      "how-bitcoin-mining-works",
      "bitcoin-rejected-mining-shares",
      "can-bitcoin-be-frozen"
    ],
    "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. “Stratum mining: how pool jobs reach mining hardware.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/bitcoin-stratum-mining/"
}
