Forerunner Protocol

Validator Setup Guide | v1.0.0-rc1

1. Download

Linux x86_64

Servers, VPS, Cloud
Download

macOS ARM

M1 / M2 / M3 Macs
Download

macOS Intel

Intel Macs
Download
# Extract (Linux example) tar -xzf forerunner-v1.0.0-rc1-linux-x86_64.tar.gz cd linux-x86_64

2 Generate Node Keypair

This creates your node's P2P identity:

./validator-node keygen -o keypair.json

You'll see output like:

{ "peer_id": "12D3KooW...", "private_key": "abc123...", "public_key": "xyz789..." }
Save this! You'll need the public_key later.

3 Get Your Monad Wallet Address

If you don't have a Monad wallet yet:

./validator-node get-license

This shows your wallet address. Send this address to us to receive your license.

4 Get Your License

Two options:

Option A: Buy License (500,000 MON)

Self-service via smart contract. Instant token ID.

Buy Validator License →

Option B: Contact Representative

Reach out to your Forerunner contact for license minting. Include: wallet address, server IP, region.

You'll receive a token ID (a number like 4, 5, 6) to use in the next step.

5 Initialize Validator

Once you have your token ID, run:

./validator-node init \ --data-dir ./validator-data \ --name "my-validator-name" \ --region "us-west-1"

Region examples: us-west-1, us-east-1, eu-west-1, eu-central-1, asia-southeast-1

6 Generate Attestation

Generate the license config with your token ID:

./validator-node attest --keypair keypair.json --token-id YOUR_TOKEN_ID --toml

This outputs a complete [license] block. Copy the output.

7 Configure License

Edit the config file:

nano ./validator-data/validator.toml

Paste the [license] block from Step 6 at the bottom:

[license] token_id = 4 evm_owner = "0xbe3e..." rpc_url = "https://rpc-mainnet.monadinfra.com/rpc/..." license_contract = "0x74efddaa..." attestor_contract = "0xbcf7611..." chain_id = 143 node_pubkey = "0x..." attestation_signature = "0x..."

Save and exit: Ctrl+X, then Y, then Enter

8 Start Validator

./validator-node start \ --config ./validator-data/validator.toml \ --api-addr 0.0.0.0:8080 \ --listen-addr /ip4/0.0.0.0/tcp/9000

You should see:

INFO Starting Forerunner Protocol Validator Node INFO License verification enabled INFO Monad license verified successfully! INFO P2P listening on /ip4/0.0.0.0/tcp/9000 INFO HTTP API listening on 0.0.0.0:8080

9 Verify It's Running

curl http://localhost:8080/health

Expected response:

{"success":true,"data":"OK","error":null}
Done! Your validator is running.

Troubleshooting

"No such file or directory" error

You need to run init first (Step 5).

"License verification failed"

Check your validator.toml:

  • Is token_id the number we sent you?
  • Is evm_owner your exact wallet address?
  • Did you receive confirmation email?

Port already in use

lsof -i :8080 # Find what's using it lsof -i :9000

Quick Reference

# Generate keypair ./validator-node keygen -o keypair.json # Get wallet address ./validator-node get-license # Initialize ./validator-node init --data-dir ./validator-data --name "NAME" --region "REGION" # Start ./validator-node start --config ./validator-data/validator.toml --api-addr 0.0.0.0:8080 --listen-addr /ip4/0.0.0.0/tcp/9000 # Health check curl http://localhost:8080/health # View stats curl http://localhost:8080/api/v1/stats

Need Help?

License requests: Contact your Forerunner representative
Technical support: Reach out to your contact

Full documentation: QUICKSTART.md | VALIDATOR_SETUP.md