Definition
getblocktemplate, abbreviated GBT, is the Bitcoin Core RPC method that returns everything a miner needs to construct a block to work on. It was standardized in BIP 22 and extended by BIP 23, replacing the older getwork protocol. The key idea is decentralization of block construction: instead of a pool dictating an entire pre-built header, GBT lets the mining node receive the raw ingredients and assemble the block itself.
What the template contains
A GBT response includes the block version and active soft-fork rules, the previous block hash, the candidate transaction list with fees, the coinbase value, the hash target, the difficulty bits, the block height, timestamp constraints, size and weight limits, and — for SegWit blocks — the required witness commitment. With these fields a miner builds the coinbase transaction, computes the merkle root, fills in the header, and begins hashing. GBT also supports a 'proposal' mode so a node can ask its peer to validate a fully formed candidate.
GBT versus modern pool protocols
GBT gives the miner discretion over which transactions to include, which is valuable for censorship resistance. In practice many pools still distribute work over Stratum, where the pool selects transactions. That centralization concern is precisely what newer designs address: the Template Distribution Protocol and Job Declaration Protocol in Stratum V2 return template-building power to individual miners.
For the structured output that GBT ultimately helps a miner assemble, see block template.
In Simple Terms
getblocktemplate, abbreviated GBT, is the Bitcoin Core RPC method that returns everything a miner needs to construct a block to work on. It was standardized…
