Skip to content
TLDBunker

Use case

Run your own Bitcoin full node on a VPS

The short answer

A Bitcoin full node runs bitcoind to independently verify every block and transaction, so you trust your own copy of the chain instead of someone else's. On our disk-optimised Pro plan you can prune to a few gigabytes or keep the full chain, route it through Tor, and back your own BTCPay or Lightning node.

Recommended plan: Pro — 4 vCPU / 8 GB / 120 GB NVMe

Verify your own payments instead of trusting a third party's node

Prune to a few GB, or keep the full indexed chain on a disk plan

Route bitcoind entirely through Tor for privacy and reachability

Back a self-hosted BTCPay or Lightning node with your own trusted source

No KYC on the host; order with a 32-character ID and pay in Monero

Why run your own node

The point of a full node is a single word: verification. Instead of asking someone else’s server whether a payment is valid, bitcoind checks every rule itself — signatures, block subsidy, no double-spends — against a copy of the chain you control. “Don’t trust, verify” stops being a slogan the moment your wallet talks to your own node.

A VPS is a natural home for this. A node wants to be online continuously, keep a stable set of peers, and stay synced so it’s ready when you are. That’s awkward on a laptop that sleeps and roams; it’s exactly what an always-on server does well. And because the host is no-KYC and paid in crypto, renting the machine doesn’t tie your node back to your identity.

Choose your disk footprint

The big decision is pruned versus full, because it decides how much disk you rent.

  • Pruned (prune=550 and up): bitcoind validates the whole chain during sync but only keeps the most recent blocks, discarding the rest. You get full validation in a few gigabytes — perfect for backing a wallet or a Lightning node.
  • Full + index (txindex=1): keeps the entire chain and a transaction index so you can look up any historical transaction. This is what a BTCPay server or an explorer needs, and it’s why we recommend our disk-heavy Pro plan for it.

The full chain is large — hundreds of GB — and grows steadily, so size the volume with headroom. Pruning cuts that requirement dramatically.

Install bitcoind

The commands below install Bitcoin Core from the release tarball on a fresh Ubuntu server. Always verify the release signatures against the Bitcoin Core maintainers’ keys before running anything — the project publishes them for exactly this reason.

# on a fresh VPS (Ubuntu 24.04), as a non-root user
sudo apt update && sudo apt install -y wget gnupg

# download the release + checksums (set VER to the current version)
VER=27.0
wget https://bitcoincore.org/bin/bitcoin-core-$VER/bitcoin-$VER-x86_64-linux-gnu.tar.gz
# VERIFY signatures/hashes before extracting — see bitcoincore.org
tar -xzf bitcoin-$VER-x86_64-linux-gnu.tar.gz
sudo install -m 0755 bitcoin-$VER/bin/* /usr/local/bin/

Create a minimal ~/.bitcoin/bitcoin.conf. This example runs a pruned node bound to localhost, which is the safe default for a node that feeds services on the same box:

# ~/.bitcoin/bitcoin.conf
server=1
daemon=1
# pruned: keep ~5 GB of recent blocks. Use txindex=1 instead for a full node.
prune=5000
# only accept RPC from this machine; use a cookie or rpcauth for real credentials
rpcbind=127.0.0.1
rpcallowip=127.0.0.1

Start it and watch the initial block download progress:

bitcoind
bitcoin-cli getblockchaininfo | grep -E 'blocks|headers|verificationprogress'

verificationprogress climbs toward 1.0 as the node validates history. The initial block download runs once and is the slow part; after that the node stays in sync on its own.

Put it behind Tor

Running over Tor gives the node a stable, IP-free identity and lets it accept inbound peers without exposing a public port on your VPS. Install Tor, grant bitcoind access to the control port, and it handles the rest:

sudo apt install -y tor
sudo usermod -aG debian-tor "$USER"   # allow control-port access

Then add to bitcoin.conf:

proxy=127.0.0.1:9050
listen=1
onlynet=onion
torcontrol=127.0.0.1:9051

With onlynet=onion, bitcoind talks only to other nodes over Tor and publishes its own v3 onion service automatically. Check bitcoin-cli getnetworkinfo to confirm the onion address is live.

Secure the box

Because RPC is bound to localhost, nothing node-related needs to face the public internet — Tor handles peer connectivity. Keep it that way: disable password SSH in favour of keys, run a firewall that denies inbound by default, and never expose the RPC port to 0.0.0.0. If you must reach the node remotely, tunnel over SSH rather than opening the port.

What this pairs with

A validating node is the foundation other privacy infrastructure sits on. Point a Lightning daemon or a self-hosted BTCPay server at it so your payments are verified against your own source of truth. Running a Nostr relay on the same host is a natural companion for a sovereign, self-hosted setup — different service, same principle of owning your own infrastructure.

We rent you a reliable, private, disk-heavy server; the node — and the trust that comes from verifying for yourself — is yours.

Get started

Plans that fit this workload

Nano

Tor relay, WireGuard, small nodes

$5 /mo

  • CPU 1 vCPU
  • RAM 2 GB
  • SSD 25 GB NVMe
  • NET 2 TB transfer
Choose Nano
Most popular

Standard

Self-hosting, Nextcloud, trading bots

$12 /mo

  • CPU 2 vCPU
  • RAM 4 GB
  • SSD 60 GB NVMe
  • NET 4 TB transfer
Choose Standard

Pro

Monero/Bitcoin nodes, heavier workloads

$24 /mo

  • CPU 4 vCPU
  • RAM 8 GB
  • SSD 120 GB NVMe
  • NET 8 TB transfer
Choose Pro

Max

Seedbox, multi-service, teams

$48 /mo

  • CPU 8 vCPU
  • RAM 16 GB
  • SSD 240 GB NVMe
  • NET 16 TB transfer
Choose Max

Prices are per month billed monthly. Commit longer and save — 10% off 6 months · 20% off 12 months.

Pay with XMR · BTC · BTC-LN · USDT · LTC. No email required to order.

Frequently asked questions

Pruned or full node — which should I run?

Run a pruned node if you just want to validate the chain and feed a wallet or Lightning node; it keeps recent blocks and discards old ones. Run a full, txindex node if you need to serve historical lookups — for example behind a BTCPay server or a block explorer.

How much disk and bandwidth does it need?

A pruned node fits in a handful of gigabytes; the full chain is much larger (hundreds of GB, and pruning cuts this drastically). Bandwidth is heavy during the initial sync, then modest — budget a few hundred GB a month if you keep inbound peers enabled.

How long does the initial block download take?

The initial block download validates the entire history from genesis, so it is CPU- and I/O-bound rather than a simple copy. On a VPS it typically runs from several hours to a day depending on cores, disk speed and peers. It runs once; after that the node just keeps up with new blocks.

Can I run the node entirely over Tor?

Yes. bitcoind speaks Tor natively: point it at the local Tor control port and it will make outbound connections and publish a v3 onion service so peers can reach you. That hides your node's IP and lets it stay reachable without opening a public port on the VPS.

Spin up a VPS with no email in minutes

A 32-character ID, a Monero payment, and you are online. No name, no email, no KYC.