Forerunner Protocol

Decentralized real-time infrastructure for multiplayer apps. Drop-in multisynq compatibility. Residential sync nodes. Zero vendor lock-in.

Start Building — Free See Demos
Sync Nodes
Block Height
Validators
100K
Free Credits

What you can build

Multiplayer Games

Deterministic shared state with sub-200ms sync. Same Model/View pattern as Croquet — your game logic runs identically on every client.

multisynq-client

Collaborative Tools

Real-time document editing, whiteboards, design tools. Sessions are persistent — share a link and collaborators join instantly.

session sharing

Live Dashboards

Push state to any number of connected viewers. The sync network handles fan-out — you write the model, we handle the infrastructure.

pub/sub

Build in 10 lines

Standard multisynq code. One call to connect through Forerunner.

import { joinForerunner } from "forerunner-discovery.js";
import * as Multisynq from "@multisynq/client";

class MyModel extends Multisynq.Model {
    init() {
        this.count = 0;
        this.subscribe("counter", "inc", () => this.count++);
    }
}
MyModel.register("MyModel");

// One call to connect through Forerunner
const session = await joinForerunner({
    apiKey:   "frk_YOUR_KEY",
    appId:    "com.you.app",
    name:     "my-session",
    password: "secret",
    model: MyModel, view: MyView,
}, Multisynq);

How it works

1. You write multisynq code

Standard @multisynq/client — Models, Views, publish/subscribe. No new APIs to learn. If you know Croquet, you know Forerunner.

2. We route your session

The gateway picks the best sync node for your session. Sticky routing ensures all participants connect to the same node.

3. Syncs run everywhere

Cloud servers, home machines, even a Mac Mini on your desk. Anyone can run a sync node — the network grows with demand.

What can you do with Forerunner?

Real-Time Everything

From AI agents to live events, Forerunner powers real-time shared state across any category — zero backend complexity, instant sync, no vendor lock-in.

AI Agents

Collaborative prompt orchestration across distributed AI agents. Shared context, shared results.

Metaverse / XR

Shared immersive spaces with synchronized spatial state. See everyone's presence in real time.

Gaming

Multiplayer game state sync with sub-100ms latency. Leaderboards, scores, instant updates.

IoT

Real-time device telemetry and control across sensor networks. Toggle, monitor, sync.

Enterprise Collaboration

Live collaboration tools for distributed teams. Shared task boards, checklists, documents.

Dev Tools

Synchronized development environments and live debugging. Shared consoles, shared state.

Web3

Decentralized governance and real-time on-chain coordination. Vote, propose, decide together.

FinTech

Shared trading dashboards and live portfolio sync. Collaborative allocation in real time.

Telemed Monitoring

Real-time patient vitals monitoring across care teams. Shared dashboards, instant updates.

Mobility

Fleet tracking and shared ride coordination in real time. Position sync across dispatchers.

Live Events

Audience interaction with instant reactions and polls. Every emoji, every vote, synced live.

Live Demos

Open any demo in two tabs and watch them sync. Every demo includes downloadable source code — grab it and deploy your own in minutes.

Whiteboard

Collaborative drawing canvas. Multiple cursors, colors, and strokes synced across all participants.

Cursor Party

See everyone's cursor moving in real-time. Colored avatars follow each participant's mouse.

Shared Todos

Real-time collaborative task list. Add, check off, and delete todos together.

Live Polls

Create polls, vote, and see results update live. Instant tallying across all participants.

Arena

Multiplayer game arena. Move with WASD, see other players in real-time.

Music Sequencer

Collaborative beat maker with Web Audio. Compose music together in real-time.

Chat Room

Real-time messaging with presence indicators. No server needed — just the sync network.

Code Editor

Shared code editing with cursor sync. See collaborators' cursors and selections live.

Beat Maker

Collaborative drum machine. Tap out rhythms and hear what everyone creates together.

BeatSynq

Beat synchronization demo. Explore perfectly synced audio across distributed clients.

Beat Lab

Music creation lab. Layer tracks, adjust tempo, and compose with collaborators.

Pixel Canvas

Collaborative pixel art. Pick a color, paint pixels, watch the canvas come alive together.

Counter

The simplest Forerunner app. One shared number, synced across every client. Start here.


For Developers

Build on Forerunner

Ship real-time multiplayer experiences on decentralized infrastructure. Drop-in multisynq compatibility. 100K free credits to start.

Create your account

Get your API key and 100,000 free credits

Already have an account? Log in

Quick Start

Connect your multisynq app to the Forerunner network in under a minute.

// 1. Load the SDK
import { joinForerunner } from "forerunner-discovery.js";
import * as Multisynq from "@multisynq/client";

// 2. Define your model (standard multisynq)
class MyModel extends Multisynq.Model {
    init() {
        this.count = 0;
        this.subscribe("counter", "increment", () => this.count++);
    }
}
MyModel.register("MyModel");

// 3. Connect through Forerunner
const session = await joinForerunner({
    apiKey:   "frk_YOUR_API_KEY",
    appId:    "com.yourcompany.app",
    name:     "my-session",
    password: "shared-secret",
    model:    MyModel,
    view:     MyView,
}, Multisynq);

For Operators

Run a Validator

Secure the Forerunner network and earn block rewards. Validators run BFT consensus and route sessions to synchronizers.

Download for Ubuntu (x86_64) v0.1.47

Minimum Requirements

4+ Cores
CPU
8 GB
RAM
100 GB
NVMe Storage
Static IP
Public IPv4
Ubuntu
22.04+ x86_64

Validator License

500,000 MON
One-time validator license fee
Chain Monad (Chain ID 143)
Contract 0x74efddaa82974ce7edd14d56bb10368e36c2adbe
Treasury 0x59F902aBf3F9477fC45349D22a844509B2Db2825
or view full guide

What Validators Earn

Block Proposal Rewards

Validators take turns proposing blocks via BFT leader rotation. Each finalized block earns the proposing validator a base reward.

Session Routing Fees

When developers spend credits to run sessions, validators earn a portion of every settled session as routing and consensus fees.

Network Security

Licensed validators participate in consensus, vote on blocks, and maintain the integrity of the settlement ledger for all sessions.

Revenue Split per Session

70%
25%
5%
Synchronizer Validator Protocol

Check Validator License

Enter your wallet address to verify your license.


For Operators

Run a Synchronizer

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.

Linux x86_64 macOS arm64 macOS Intel Windows v0.1.47

Minimum Requirements

2+ Cores
CPU
Any modern x86_64 or ARM
4 GB
RAM
8 GB recommended
10 GB
Storage
SSD preferred
Internet
Network
NAT OK
All Major
Platform
Linux, macOS, Windows

Synchronizer License

500 MON
One-time synchronizer license fee
Chain Monad (Chain ID 143)
Contract 0x74efddaa82974ce7edd14d56bb10368e36c2adbe
Treasury 0x59F902aBf3F9477fC45349D22a844509B2Db2825
or view full guide

NAT Traversal

Running from home? No problem. Forerunner uses a relay bridge so residential nodes work out of the box.

No port forwarding

Your sync node connects outbound to the relay. No router configuration, no static IPs, no firewall rules.

Relay bridge

The built-in relay bridge maintains a persistent outbound connection. Clients connect through it transparently.

Transparent to clients

Participants connect the same way regardless of whether the sync node is in a data center or behind a home NAT.

Proven in production

The network runs sync nodes on both cloud infrastructure and residential connections, all serving sessions equally.

What Synchronizers Earn

70%

Revenue Share

Of every developer credit spend, 70% goes directly to the synchronizer that hosted the session. Revenue is settled on-chain per epoch.

Session Hosting Fees

Each real-time session consumes credits based on duration and participant count. Your share is credited automatically.

Scale With Demand

More sessions on the network means more revenue. Run multiple sync nodes to serve more sessions and maximize earnings.

Check Synchronizer License

Enter a wallet address to verify whether it holds a valid synchronizer license.

Get Started: Run a Validator

Validators require Ubuntu 22.04+ with a public static IP and open ports (9000 P2P, 8080 HTTP).

1

Download and extract

curl -LO https://forerunnerprotocol.xyz/releases/forerunner-validator-latest-linux-x86_64.tar.gz
tar xzf forerunner-validator-latest-linux-x86_64.tar.gz
chmod +x validator-node
2

Verify

./validator-node --version
# validator-node 0.1.47
3

Generate wallet

Creates ~/.forerunner/validator-wallet.json. Copy the wallet address.

./validator-node get-license
4

Get licensed

Fund wallet with 500,000 MON, pay treasury, and submit proof:

curl -X POST https://licenses.forerunnerprotocol.xyz/purchase/validator \
  -H 'Content-Type: application/json' \
  -d '{"address":"0xYOUR_WALLET","tx_hash":"0xPAYMENT_TX"}'
5

Open firewall ports

sudo ufw allow 9000/tcp   # P2P consensus
sudo ufw allow 8080/tcp  # HTTP API
6

Initialize and start

./validator-node init --data-dir ./validator-data --name "my-validator"
./validator-node start --config validator.toml \
  --discovery-gateway https://api.forerunnerprotocol.xyz
7

(Recommended) systemd service

sudo tee /etc/systemd/system/forerunner-validator.service <<'EOF'
[Unit]
Description=Forerunner Validator
After=network-online.target

[Service]
Type=simple
User=$USER
WorkingDirectory=$HOME/forerunner
ExecStart=$HOME/forerunner/validator-node start \
  --config validator.toml \
  --discovery-gateway https://api.forerunnerprotocol.xyz
Restart=always
RestartSec=5
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now forerunner-validator
8

Verify

curl http://localhost:8080/health
curl http://localhost:8080/api/v1/stats

Full guide with systemd setup and more: validators.html

Get Started: Run a Synchronizer

Choose your platform for step-by-step instructions. Takes about 10 minutes.

1

Download and extract

Apple Silicon (M1-M4) use arm64; Intel Macs use x86_64.

# Apple Silicon
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
2

Remove quarantine flag

xattr -d com.apple.quarantine synchronizer-node
3

Verify

./synchronizer-node --version
# synchronizer-node 0.1.47
4

Generate wallet

Creates ~/.forerunner/sync-wallet.json. Copy the wallet address for licensing.

./synchronizer-node get-license
5

Get licensed

Fund wallet with 500 MON, pay treasury, and submit proof:

curl -X POST https://licenses.forerunnerprotocol.xyz/purchase/synchronizer \
  -H 'Content-Type: application/json' \
  -d '{"address":"0xYOUR_WALLET","tx_hash":"0xPAYMENT_TX"}'
6

Start your node

./synchronizer-node start --validator https://api.forerunnerprotocol.xyz

# Background:
nohup ./synchronizer-node start --validator https://api.forerunnerprotocol.xyz > sync.log 2>&1 &
7

Verify it's running

curl http://localhost:7080/health
1

Download and extract

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
2

Verify

./synchronizer-node --version
# synchronizer-node 0.1.47
3

Generate wallet

Creates ~/.forerunner/sync-wallet.json. Copy the wallet address for licensing.

./synchronizer-node get-license
4

Get licensed

Fund wallet with 500 MON, pay treasury, and submit proof:

curl -X POST https://licenses.forerunnerprotocol.xyz/purchase/synchronizer \
  -H 'Content-Type: application/json' \
  -d '{"address":"0xYOUR_WALLET","tx_hash":"0xPAYMENT_TX"}'
5

Start your node

./synchronizer-node start --validator https://api.forerunnerprotocol.xyz
6

(Recommended) Set up systemd service

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 --now forerunner-sync
7

Verify it's running

curl http://localhost:7080/health
journalctl -u forerunner-sync -f
1

Download and extract

# 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
cd forerunner
2

Allow through SmartScreen

Windows may flag the unsigned binary. Click "More info" then "Run anyway", or add an exclusion in Windows Security.

3

Verify

.\synchronizer-node.exe --version
# synchronizer-node 0.1.47
4

Generate wallet

Creates %USERPROFILE%\.forerunner\sync-wallet.json.

.\synchronizer-node.exe get-license
5

Get licensed

Fund wallet with 500 MON, pay treasury, and submit proof. See full instructions.

6

Allow through Firewall

Click "Allow access" when Windows Firewall prompts for both private and public networks.

7

Start your node

.\synchronizer-node.exe start `
  --validator https://api.forerunnerprotocol.xyz `
  --api-addr 0.0.0.0:7080

# Background:
Start-Process -WindowStyle Minimized .\synchronizer-node.exe -ArgumentList "start","--validator","https://api.forerunnerprotocol.xyz"
8

Verify it's running

Invoke-RestMethod http://localhost:7080/health

For the full guide with systemd setup, NAT traversal, and more: synchronizers.html