Serving metered RPC: jumpgate relay
Serve keyed, metered RPC with jumpgate relay.
How you got here: Desktop app What a box needs 1. Create the controller key 2. Pair a box 4. Watch it
Show previous steps 5
Install 1
- Desktop app
Download the desktop app for your OS and open it.
The macOS zip holds Jumpgate.app and Jumpgate Terminal.app; Windows has jumpgate-tray.exe and jumpgate.exe; Linux has install.sh. Every download carries both Linux agents.
Show image

Illustration from the jumpgate.app demo, with made-up boxes; not a screenshot of the app.
Getting started 4
- What a box needs
A Debian or Ubuntu box with systemd, reachable as root over SSH.
Setup needs root (or passwordless sudo with --sudo) and checks Linux, systemd and disk first. The node itself runs as an unprivileged account.
- 1. Create the controller key
Create the key that signs every command to your boxes.
jumpgate keys init stores it in the Keychain, Credential Manager, Secret Service, 1Password or an owner-only file. It never leaves your computer.
Show image
The TUI, from its test snapshot; empty rows removed. - 2. Pair a box
Install the agent on a box and confirm its host key.
You confirmed the box's fingerprint, and jumpgate installed jumpgate-agent.service and a restricted tunnel user. The box now takes only signed commands.
Show image
The TUI, from its test snapshot; empty rows removed. - 4. Watch it
Watch sync, peers, disk and logs.
jumpgate status and jumpgate logs, the TUI or the app all show the same readings from the same server.
Show image

Illustration from the jumpgate.app demo, with made-up boxes; not a screenshot of the app.

jumpgate relay serves keyed, metered RPC as a process of its own. It never opens the controller's config, key or SSH executor, which keeps the internet-facing proxy away from the key that controls your fleet.
jumpgate relay --relay-bind 127.0.0.1:8545 --billing-socket /run/jumpgate-billing/billing.sock --meter
- It takes its settings from flags and
JUMPGATE_*environment variables. - The relay token comes from a file named by
JUMPGATE_RELAY_TOKEN_FILE, readable only by you (chmod 600), or fromJUMPGATE_RELAY_TOKEN; never from a flag. - Bind it to loopback or the interface your proxy reaches, never to
0.0.0.0. - With metering on, a call can be refused with
402(out of credits),403(account not provisioned) or503(the credit ledger did not answer).