Host real-time sessions on the Forerunner network. Run a sync node from anywhere — even your home computer. Earn fees for every session you serve.
Pre-built synchronizer binaries for all major platforms. Current release: v0.1.47
Follow these steps to download, install, and run a synchronizer node on your platform. The full process takes about 10 minutes.
Download the binary for your Mac and extract it. Apple Silicon (M1/M2/M3/M4) use arm64; older Intel Macs use x86_64.
# Apple Silicon (M1/M2/M3/M4) curl -LO https://forerunnerprotocol.xyz/releases/forerunner-synchronizer-latest-darwin-arm64.tar.gz tar xzf forerunner-synchronizer-latest-darwin-arm64.tar.gz # Intel Mac curl -LO https://forerunnerprotocol.xyz/releases/forerunner-synchronizer-latest-darwin-x86_64.tar.gz tar xzf forerunner-synchronizer-latest-darwin-x86_64.tar.gz
macOS blocks unsigned binaries by default. Remove the quarantine attribute so the binary can run.
xattr -d com.apple.quarantine synchronizer-node
Check that the binary runs and shows the current version.
./synchronizer-node --version # Expected output: synchronizer-node 0.1.47
This creates a new wallet at ~/.forerunner/sync-wallet.json. Keep this file safe — it's your node's identity on-chain.
./synchronizer-node get-license
The output will show your wallet address. Copy it — you'll need it for licensing.
Fund wallet with 500 MON, pay treasury, and submit proof. Details in the licensing section below.
Launch your node. It will auto-register with the validator network and start accepting sessions immediately.
# Minimal start (auto-discovers validators via gateway) ./synchronizer-node start # Or with explicit validator registration ./synchronizer-node start \ --validator https://api.forerunnerprotocol.xyz \ --api-addr 0.0.0.0:7080
Your sync node is now live. To run it in the background:
nohup ./synchronizer-node start > synchronizer.log 2>&1 &
curl http://localhost:7080/health
# Expected: {"status":"ok"}
Download the pre-built binary for Linux x86_64 and make it executable.
curl -LO https://forerunnerprotocol.xyz/releases/forerunner-synchronizer-latest-linux-x86_64.tar.gz tar xzf forerunner-synchronizer-latest-linux-x86_64.tar.gz chmod +x synchronizer-node
./synchronizer-node --version # Expected output: synchronizer-node 0.1.47
Creates a new wallet at ~/.forerunner/sync-wallet.json. Keep this file safe.
./synchronizer-node get-license
Copy the wallet address shown — you'll need it for licensing.
Fund wallet with 500 MON, pay treasury, and submit proof.
# Minimal start ./synchronizer-node start # With explicit validator ./synchronizer-node start \ --validator https://api.forerunnerprotocol.xyz \ --api-addr 0.0.0.0:7080
For production, run the synchronizer as a system service so it auto-restarts on crashes or reboots.
sudo tee /etc/systemd/system/forerunner-sync.service <<'EOF' [Unit] Description=Forerunner Synchronizer After=network-online.target Wants=network-online.target [Service] Type=simple User=$USER WorkingDirectory=$HOME/forerunner ExecStart=$HOME/forerunner/synchronizer-node start \ --validator https://api.forerunnerprotocol.xyz \ --api-addr 0.0.0.0:7080 Restart=always RestartSec=5 LimitNOFILE=65536 [Install] WantedBy=multi-user.target EOF sudo systemctl daemon-reload sudo systemctl enable forerunner-sync sudo systemctl start forerunner-sync
# Direct check curl http://localhost:7080/health # Or if using systemd sudo systemctl status forerunner-sync journalctl -u forerunner-sync -f
Download the Windows build and unzip it. You can use PowerShell or the Explorer right-click menu.
# PowerShell Invoke-WebRequest https://forerunnerprotocol.xyz/releases/forerunner-synchronizer-latest-windows-x86_64.zip -OutFile forerunner-sync.zip Expand-Archive forerunner-sync.zip -DestinationPath forerunner
Windows SmartScreen may flag the binary since it's unsigned. Click "More info" then "Run anyway", or add an exclusion in Windows Security > Virus & threat protection > Exclusions.
cd forerunner .\synchronizer-node.exe --version # Expected output: synchronizer-node 0.1.47
Creates a new wallet at %USERPROFILE%\.forerunner\sync-wallet.json.
.\synchronizer-node.exe get-license
Copy the wallet address shown — you'll need it for licensing.
Fund wallet with 500 MON, pay treasury, and submit proof.
When starting for the first time, Windows Firewall may prompt you to allow network access. Click "Allow access" for both private and public networks.
# Minimal start .\synchronizer-node.exe start # With explicit validator .\synchronizer-node.exe start ` --validator https://api.forerunnerprotocol.xyz ` --api-addr 0.0.0.0:7080
To run in the background, use Task Scheduler or run in a minimized PowerShell window:
Start-Process -WindowStyle Minimized -FilePath .\synchronizer-node.exe -ArgumentList "start","--validator","https://api.forerunnerprotocol.xyz"
Invoke-RestMethod http://localhost:7080/health # Expected: status: ok
Grab the latest synchronizer binary for your platform from the downloads section above (Linux, macOS arm64/x86_64, or Windows), or build from source with cargo build -p synchronizer-node --release.
Run the license command to create your synchronizer wallet. This generates a keypair at ~/.forerunner/sync-wallet.json.
./synchronizer-node get-license
Send at least 500 MON to the wallet address printed in the previous step.
Transfer 500 MON from your wallet to the Forerunner treasury address.
Treasury: 0x59F902aBf3F9477fC45349D22a844509B2Db2825
Call the licensing endpoint with your wallet address and the transaction hash from step 4.
curl -X POST https://licenses.forerunnerprotocol.xyz/purchase/synchronizer \
-H 'Content-Type: application/json' \
-d '{"address":"0xYOUR_WALLET","tx_hash":"0xPAYMENT_TX"}'
Launch the synchronizer binary. It auto-registers with the validator network and begins accepting sessions immediately.
./synchronizer-node start --config synchronizer.toml
Running a sync node from home? No problem. Forerunner uses a relay bridge so residential nodes work out of the box with zero networking configuration.
Your sync node connects outbound to the relay server. No router configuration, no static IPs, no firewall rules.
The built-in relay-bridge.js maintains a persistent outbound connection to the relay. Clients connect through it transparently.
Session participants connect the same way regardless of whether the sync node is in a data center or behind a home NAT.
The network currently runs 4 sync nodes — 2 on cloud infrastructure, 2 on residential connections — all serving sessions equally.
Enter a wallet address to verify whether it holds a valid synchronizer license on Monad.
Synchronizer operators earn revenue for every session they serve. The more sessions your node handles, the more you earn.
Of every developer credit spend, 70% goes directly to the synchronizer that hosted the session. Revenue is settled on-chain per epoch.
Each real-time session consumes credits based on duration and participant count. As the developer-facing fee is deducted, your share is credited automatically.
More sessions on the network means more revenue for operators. Run multiple sync nodes to serve more sessions and maximize your earnings.