root@vps:~/grin-node-toolkit$
$ sudo ./grin-node-toolkit.sh --info
$ █
Node Setup Public API Explorer Mining Pool Wallet Portal
11 Live Demo Sites
|
~15min Pruned node (snapshot, US VPS)
|
~1hr Full archive node (snapshot)
↓ scroll down

The Story Behind the Toolkit

$ git log --oneline --origin
# The problem that started everything

issue: Grin PIBD sync — was broken, slow, unreliable
symptom: Node stalls mid-sync for days. Sometimes loops.
context: Several spare Linux VPS servers sitting idle.

# The initial fix
idea: Clone chain_data from a running node instead of syncing
result: Pruned node up in ~15 min (US VPS). Every time.
# PIBD is now fixed in recent grin releases,
# but normal pruned sync still takes 3–4 hours.
# Snapshot method stays the fastest way.

# The master node concept
vision: Keep one server with fresh chain_data for others to clone
future: Stream chain_data from master nodes → full sync in 4–5 min

# Then the addons happened
realised: Same VPS can run API, explorer, faucet, mining pool...
goal: Open source + newbie-friendly. Explore Grin magics.
✓ status: active development
"
I had several spare Linux VPS servers and kept running into the same wall: Grin's PIBD sync was broken — nodes would stall, loop, or fail silently after days of waiting. Even now that PIBD is fixed, a normal pruned node sync still takes 3–4 hours. I just wanted a fast way to spin up a test node on a spare VPS. So I wrote a script to clone chain_data from a running node instead. Pruned node up in ~15 minutes on a US VPS. Full archive in about an hour. I kept going from there.
— Noobvie
master node network — how it grows
step-1 You run the toolkit, build a node, share chain_data
step-2 Register your server in grinmasternodes.json ↗
step-3 New nodes can pick any master node as bootstrap source
future Wallet clients stream chain_data directly → 4–5 min full sync

One Tool. Everything You Need.

grin-node-toolkit — main menu
Core Modules
1) Setup Grin New Node
2) Manage Nginx Server
3) Share Chain Data + Schedule
4) Publish Node API (Foreign API)
Wallet Services
5) Grin Wallet Services Hub
├ 051 Private Web Wallet
├ 052 Grin Drop (faucet/donation)
├ 053 WooCommerce Gateway
└ 054 Payment Processor
Infrastructure
6) Global Grin Health (stats + peer map)
7) Mining Services (stratum + pool)
8) Admin & Maintenance Centre

✓ Ubuntu 22.04+ Rocky/Alma 10+
✓ Mainnet + Testnet on same server
⚡
Pruned Node in ~15 Minutes
Snapshot download skips the 3–4 hr normal sync. Pruned node ready in ~15 min on a US VPS, ~30–45 min elsewhere. Full archive node takes ~1 hr. Both testnet and mainnet can run on the same server simultaneously.
⬡
Become a Community Master Node
Share your chain snapshot via nginx so others can bootstrap from your server. Every master node strengthens the Grin network.
◆
Full Infrastructure Stack
Public API, block explorer, mining stratum, pool manager, wallet faucet — each module is independent and self-contained.
🔒
Security Built In
fail2ban, rate limiting, IP filtering, firewall audit, SSL via Let's Encrypt — all configured from the same interactive menu.

11 Sites Built With This Toolkit

Every site below was deployed semi-automatically using grin-node-toolkit on a VPS. No manual server configuration.

01
Full Node Archive
Full Grin mainnet archive node — complete chain history. Serves snapshots so other nodes can bootstrap worldwide without syncing from scratch.
mainnet full-archive live ↗
fullmain.grin.money ↗
02
Prune Node Mainnet
Pruned mainnet node — ~5 GB footprint. Provides chain snapshots in pruned mode for lightweight bootstrapping of new nodes.
mainnet pruned live ↗
prunemain.grin.money ↗
03
Prune Node Testnet
Pruned testnet node for developers. Safe environment to test wallets, transactions, and integrations without using real GRIN.
testnet pruned live ↗
prunetest.grin.money ↗
04
Grin Explorer
Block explorer cloned from grincoin.org. The toolkit automates cloning, building, and deploying a full explorer — nginx, SSL, and systemd service in one step.
explorer mainnet live ↗
scan.grin.money ↗
05
Public API Mainnet
Grin node Foreign API (/v2/foreign) exposed via nginx HTTPS. Free to use for wallets, explorers, and tooling queries on mainnet.
api mainnet live ↗
api.grin.money ↗
06
Public API Testnet
Testnet node Foreign API endpoint. Ideal for wallet developers who need a reliable testnet node without running their own infrastructure.
api testnet live ↗
testapi.grin.money ↗
07
Grin Global Health
Live peer map, network stats, hashrate/difficulty charts, node version distribution. Stats collected every 5 minutes from the global Grin network.
stats peer-map live ↗
world.grin.money ↗
08
Free Grin Coin Portal
GRIN faucet and donation portal. Interactive 3-step slatepack claim flow, rate-limited per address. Try Grin for free — no registration needed.
faucet wallet live ↗
drop.grin.money ↗
09
Solo Mining Pool
Private solo mining pool for your own rigs and friends, book-keeping history and charts. Demo login is disabled — browse it freely.
mining solo live ↗
solo.grin.money ↗
10
GrinScan Explorer
The toolkit's own block explorer covering both mainnet and testnet — live chain height, blocks, hashrate, difficulty, and peer stats straight from your node's API. Self-hosted, no third-party dependency.
explorer mainnet testnet live ↗
grinscan.org ↗
11
Floonet Nostr Relay
Grin-native Nostr relay (floonet-rs) — ecosystem transport for the Goblin wallet. Pay-by-username slatepacks ride as encrypted Nostr events, so the relay only ever sees ciphertext. Open to write, no registration.
wss://relay.grin.money
nostr relay goblin live ↗
relay.grin.money ↗

Why Use the Toolkit?

01
$ node --snapshot --faster
PIBD is fixed in recent releases, but a normal pruned sync still takes 3–4 hrs. Snapshot from a master node gets a pruned node running in ~15 min (US VPS) or ~1 hr for full archive — SHA256 verified.
02
$ network --strengthen
Every new node you run increases Grin's decentralisation. Share your chain data and become a master node that others can bootstrap from.
03
$ infra --full-stack
From a single VPS, run a node, expose a public API, host a block explorer, manage a mining stratum, and deploy a wallet portal.
04
$ binaries --official-only
All binaries come directly from the official grin ↗ and grin-wallet ↗ releases. No forks, no third-party binaries.
05
$ security --built-in
fail2ban, ufw/iptables rules, per-IP rate limiting, SSL Let's Encrypt, nginx audit, and firewall review — all from the menu. No manual config.
06
$ personal --use-case
Not just for server admins. Build your own private wallet portal, personal explorer, or testnet sandbox on a $2/mo VPS — in under an hour.

Active Development ongoing

New modules are being added regularly. All grin node + wallet binaries used are official releases — no forks, no third-party executables.

// shipped modules
✓Setup Grin node (mainnet + testnet) from snapshot
✓Nginx server manager + Let's Encrypt SSL
✓Share chain data + auto-scheduled snapshots
✓Publish Foreign API over HTTPS
✓Grin Drop — faucet + donation portal (Node.js)
✓Global Grin Health dashboard + peer map
✓Mining services — stratum + pool setup
✓Admin centre — backup, firewall, nginx audit
✓Block explorer deploy (clone grincoin.org style)
✓Floonet Nostr relay deploy — transport for Goblin wallet
// coming soon
○Mining Portal — full pool + stratum web UIsoon
○Grin Web Wallet — personal self-hostedsoon
○Public WASM Web Wallet — browser-based, no installsoon
○WooCommerce Plugin — accept GRIN in your shopsoon
○Payment Processor — invoice + checkout flowsoon
○AlmaLinux 10 / Rocky Linux support improvementssoon
ℹ  All grin node and wallet binaries downloaded by this toolkit are the official releases from github.com/mimblewimble/grin and github.com/mimblewimble/grin-wallet. No third-party forks. SHA256 checksums are verified before installation.

Interactive Menu Demo

Click a menu item to see what the toolkit does. This is a live simulation of the bash interface.

grin-node-toolkit — requirements
--os Ubuntu 22.04+ / Rocky Linux 10+ / AlmaLinux 10+
--disk 10 GB min (pruned) · 25 GB for full archive
--access Root or sudo — required for nginx, systemd, firewall
--deps curl · wget · jq · tar · tmux — auto-installed if missing
--vps Any low-cost SSD VPS works — ~$2/mo is enough
--net Mainnet + testnet scripted to run simultaneously on the same server — independent ports, dirs, and services
root@vps:~/grin-node-toolkit$

From Node to Community Master Node

A master node shares its chain snapshot so others can bootstrap in minutes rather than days. Here's the step-by-step path.

grin-node-toolkit --become-master-node
step-01 --build-node Menu 1: Install node binary, download snapshot, launch in tmux
step-02 --nginx-server Menu 2: Setup nginx fileserver, add domain, SSL via Let's Encrypt
step-03 --share-chain-data Menu 3A+B: Configure nginx to serve .tar.gz chain snapshot publicly
step-04 --schedule-snapshots Menu 3E: Cron job to auto-rebuild and re-share snapshot on schedule
step-05 --publish-api Menu 4: Expose /v2/foreign over HTTPS for wallets and explorers
step-06 --register-in-community Fork repo → add your host URL → submit pull request to join master node list