go-livepeer orchestrator running on Arbitrum One,
registered on-chain, visible in the Explorer, and ready to receive video transcoding jobs.
This is a learning path — it makes opinionated choices so you can get to a working node in about
an hour. When you want to change those choices, the how-to guides
cover each step in depth.
We’ll use Docker and GPU video transcoding throughout. Adding AI inference is a separate
step once this is working — see Add AI inference.
Before you start
You need:| Requirement | Details |
|---|---|
| GPU | NVIDIA with NVENC (GTX 1060+ for transcoding) |
| OS | Linux (recommended for production) |
| Docker | Docker Engine + NVIDIA Container Toolkit |
| Wallet funds | ETH and LPT on Arbitrum One |
| Network | Port 8935/tcp open to the public internet |
| RPC | An Arbitrum One endpoint (Alchemy or Infura free tier) |
Step 1 — Confirm your GPU and Docker
sudo apt-get install -y nvidia-container-toolkit && sudo systemctl restart docker).
Step 2 — Get an Arbitrum One RPC URL
Create a free app at Alchemy (select Arbitrum → Mainnet) and copy the HTTPS URL. Verify it points at Arbitrum One — the chain ID must be0xa4b1 (42161):
0x1 result means you’re on Ethereum L1 — switch to an Arbitrum endpoint.
Step 3 — Start the node
Rungo-livepeer in combined orchestrator + transcoder mode. On first start it creates an Ethereum
account and prompts for a passphrase.
-pricePerUnit 1000— wei per pixel, not ETH. (Setting this in ETH prices you far above market.)-maxSessions 10— concurrent transcode sessions; tune later in Configure.-serviceAddr— the public address gateways will reach. A domain name is more resilient than a bare IP.
Step 4 — Fund the wallet, stake LPT, and activate
Find your orchestrator address in the startup logs, then send it ETH on Arbitrum (≥ 0.05 ETH for gas) and LPT. Once both are in the wallet, open the CLI:- Select the bond/stake option and stake your LPT (two transactions:
approve, thenbond). - Select “Invoke multi-step ‘become an orchestrator’” and set:
| Prompt | Suggested start | Meaning |
|---|---|---|
| Reward Cut | 10 | You keep 10% of LPT inflation; delegators get 90% |
| Fee Cut | 95 | You keep 95% of ETH fees; delegators get 5% |
| Service address | YOUR_PUBLIC_IP:8935 | Must match -serviceAddr exactly |
Your node enters the active set at the start of the next round (~22h) — and only if your total
stake is in the top 100. Check the current threshold on the
Explorer before acquiring LPT.
Step 5 — Verify
Open explorer.livepeer.org/orchestrators and search your address. Confirm:- Status is Active (may show Registered until the next round),
- Service URI matches your
-serviceAddr, - Stake, Reward Cut, and Fee Cut match what you set.
8935 is blocked —
see the FAQ.
Step 6 — Confirm reward calling
go-livepeer calls reward() automatically each round by default. Make sure it isn’t disabled:
-reward=false. A missed round forfeits that round’s LPT
permanently — there’s no catch-up.
You’re live
Your orchestrator is on mainnet and discoverable. Where to go next:Set competitive pricing
The biggest lever on whether gateways actually select you.
Add AI inference
Earn from AI pipelines alongside transcoding.
Monitor your node
Metrics, dashboards, and an alert for missed reward calls.
Not receiving jobs?
Work through the four common causes.