> For the complete documentation index, see [llms.txt](https://docs.hemi.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hemi.xyz/foundational-topics/nodes-and-clients/node-guides.md).

# Node Guides

## Proof-of-Proof Miners (PoP Miners)

#### 🌐 Overview

* PoP Miners embed Hemi headers — L2 keystones — into Bitcoin blocks, effectively “anchoring” Hemi state to Bitcoin’s security.
* PoP Miners receive Hemi headers from a BFG, create BTC transactions with those headers, and forward them to Bitcoin for inclusion in blocks.
* Successful PoP Miners are earn rewards on the Hemi network, incentivizing them to maintain network operation.

#### **🙋‍♂️ Who might run a PoP Miner?**

* **Network Miners and Operators:** Operators or enthusiasts who want to earn rewards by using their Bitcoin node connectivity. More PoP miners = stronger finality guarantees.

#### **🏁 Requirements**

**➡️ View complete instructions via the** [**PoP Miner tutorial.**](/how-to-tutorials/using-hemi/pop-mining/setup-part-1.md)

***

## Bitcoin Finality Governor (BFG)

#### **🌐 Overview**

* BFG nodes look for Proof-of-Proof (PoP) transactions that embed Hemi headers into Bitcoin, determining if Hemi blocks have attained Bitcoin-level finality.
* BFG nodes serve as the “checkpoint” mechanism for finality by confirming whether competing versions of Hemi blocks exist on-chain and identifying possible reorgs. The nodes then supply Hemi data to PoP Miners, parse resulting PoP transactions and communicate finality info to BSS nodes.

#### **🙋‍♂️ Who might run a BFG node?**

* **PoP Miners:** A custom BFG daemon can notify your local PoP miner and this will broadcast them to your Electrs+bitcoind setup so you don't rely on Hemi Labs — or any third party — which may be congested.
* **Enterprise Node Operators:** Exchanges, large dApp platforms, or custodial services that need independent, verifiable finality checks on Hemi transactions.

#### **🏁 Requirements**

* A PostgreSQL database, bfgd expects the sql scripts in `./database/bfgd/scripts/` to be run to set up your schema.
* A connection to:
  * An Electrs node on the proper Bitcoin network (testnet or mainnet).
  * bitcoind
  * bfgd

**➡️ View complete instructions via the** [**hemilabs GitHub repo.**](https://github.com/hemilabs/heminetwork?tab=readme-ov-file#%EF%B8%8F-running-bfgd)

***

## Bitcoin-Secure Sequencers (BSS Nodes)

#### 🌐 Overview

* BSS nodes combine Hemi transactions with Ethereum mainnet batches, creating a hybrid solution that inherits Bitcoin security signals (via BFG) and uses Ethereum’s smart contract capabilities.
* These nodes coordinate staking, unstaking, and slashing operations to secure the network, while incorporating finality checkpoints from the BFG. BSS nodes also facilitate cross-chain asset transfers by ensuring that Hemi’s on-chain transactions align with Ethereum-based bridging logic.

#### **🙋‍♂️ Who might run a BSS node?**

* **Validator/Sequencer Operators:** Entities responsible for generating Hemi blocks and maintaining chain consensus.

#### **🏁 Requirements**

* Connect to a live [bfgd](https://github.com/hemilabs/heminetwork/blob/main/cmd/bfgd) instance.

**➡️ View complete instructions via the** [**hemilabs GitHub repo.**](https://github.com/hemilabs/heminetwork?tab=readme-ov-file#%EF%B8%8F-running-bssd)

***

## Modified Geth Node

#### **🌐 Overview**

* Hemi Network runs a specialized Geth implementation that supports extended functionalities, enabling seamless interaction between Hemi’s chain state and Ethereum’s mainnet.
* This modified Geth node manages Ethereum transactions and block headers in a way tailored for Hemi’s bridging protocols. The node also consolidates Ethereum state so that BSS nodes (and other Hemi components) can quickly verify or execute cross-chain logic.

#### **🏁 Requirements**

* Clone the [Hemi Network GitHub](https://github.com/hemilabs/heminetwork) and follow instructions for the Modified Geth build.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.hemi.xyz/foundational-topics/nodes-and-clients/node-guides.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
