Nodes

Run a Ghost node.

Earn sats from the node reward pool. Set your own mempool policy. Decentralise mining. No whitelisting, no permission, no minimum stake.

Ghost's own node — forked from Bitcoin Core, built well beyond it.

A Ghost node runs ghostd — Ghost's own daemon, forked from Bitcoin Core v30 — with ghost-pool and ghost-pay alongside it on the same box. It validates Bitcoin mainnet like any full node, then adds a mesh layer, an incentive layer, and a privacy layer that stock Bitcoin Core doesn't have — every feature below is built into the Ghost binaries, and every one toggles in config.

Opt into more. Earn more shares.

The reward pool is split by capability shares. Every node that meets the uptime gate gets at least one share; each capability you opt into — and prove via random peer challenges — adds more. Five capabilities, maximum fifteen shares.

Solo, private pool, or public pool.

Every node decides how its hashpower is used and who may point miners at it. Pick one of three modes — switch any time from the node dashboard. No account, no sign-up, no KYC.

Set it at install with --mining-mode solo|pool|public, or change it later in the node dashboard under Mining.

Name your pool. Every block you find carries a tag in its coinbase, visible on any block explorer. By default it reflects the mode (- G H O S T - PublicPool), but you can set a custom name — - G H O S T - YourPool — from the node dashboard's Pool Setup (ASCII, up to 30 characters). It's how your pool gets recognised on-chain.

One rule: stay up.

Before any node's shares count toward payout, it must maintain 95% uptime over the trailing 7 days. Measured by peer health-ping receipts, tamper-resistant by mesh cross-validation. This is the only gatekeeper in the system — everything else is capability-based and opt-in.

window
7 days
trailing, rolling
threshold
95%
of samples must be online
consequence
no payout
until you climb back above 95%

What you need.

Ghost runs its own Bitcoin full node (ghostd) plus the pool and Pay daemons on the same box. Minimum specs scale with the capabilities you opt into — a pruned Bitcoin-only node is far cheaper than a full-archive node with Pay enabled.

Config RAM Disk Bandwidth Notes
Minimum 4 GB 700 GB SSD 1 Mbps ↑↓ Full Bitcoin validation + Ghost consensus. No archive, no Pay.
Recommended 8 GB 1 TB SSD 10 Mbps ↑↓ Comfortable margin. Enables Pay. Headroom for mesh gossip and share traffic.
Archive 16 GB 2 TB SSD 50 Mbps ↑↓ Full historical block serving. Pass archive challenges under load.
Public mining +2 GB +10 Mbps ↑ Add to any config. Share-propagation latency matters; low-ping bandwidth helps.
A home server, PC or laptop running Bitcoin Ghost can be a Ghost node. Tor is supported for operators who want to stay off clearnet — the mesh counts Tor and clearnet nodes identically.

From zero to node in five steps.

Full walkthrough in the operator docs; this is the sketch.

  1. 1
    Run the installer
    One command installs ghostd, ghost-pool and ghost-pay with signed binaries and systemd units:
    curl -sSL https://get.bitcoinghost.org | sudo bash -s -- --payout-address bc1q…
    The script verifies the GPG release signature before writing anything. Prefer to do it by hand? Grab the tarball from the downloads page and verify it yourself.
  2. 2
    Choose your sync
    Full initial block download (the default) validates every block from genesis — fully trustless. In a hurry? --sync fast loads a verified assumeUTXO snapshot at height 910000 and back-fills history behind it, so the node is usable in minutes rather than days.
  3. 3
    Configure capabilities
    Edit pool.toml — set public_address, pick your mempool policy.profile, flip archive_mode, [ghost_pay], and public_mining to match what you want to offer.
  4. 4
    Add seed peers + start
    Drop a few mainnet seed nodes into seed_nodes and run systemctl start ghost-pool. The mesh does peer discovery from there.
  5. 5
    Pass the gate
    Stay online. After ~7 days of 95%+ uptime, you're eligible for the reward pool. Each capability verifies over the same window via random peer challenges.

Join the mesh.

Every node makes the pool harder to capture. Get the binary, spin it up, help Ghost run forever on its own.