Skip to main content
Find your symptom or question below. Each entry is self-contained.

Orchestrator: not receiving jobs

This is the most common question after activation. There are four distinct causes — work through all of them before concluding the network is at fault.
Gateways only route to the top orchestrators by total LPT stake (self + delegated). If your stake is below the 100th orchestrator’s, you won’t receive jobs. Find the current threshold on the Explorer, then increase your stake (self-bond more, or attract delegators with a competitive rewardCut) and re-activate via livepeer_cli if needed.
Gateways select on stake and price. If your price is well above market, jobs go elsewhere with no error in your logs. -pricePerUnit is wei per pixel — a common mistake is entering an ETH value (e.g. 0.0001), which is orders of magnitude too high. Check market rates at tools.livepeer.cloud and update via livepeer_cli. See Set pricing.
Running in orchestrator mode does not auto-register the node. Activation is a one-time on-chain step: run livepeer_cli, choose the multi-step “become an orchestrator” flow, set your cuts, price, service address, and stake. Each step is an on-chain transaction needing ETH for gas.
Gateways read your address from the chain but can’t connect. Open port 8935/tcp in your firewall (sudo ufw allow 8935/tcp), configure NAT/port-forwarding or cloud security groups, then verify from another machine: curl -k https://YOUR_PUBLIC_IP:8935/status. Any response means it’s reachable. If your IP changed, update the service URI in livepeer_cli (costs gas) — or register a domain name instead of a bare IP.

Orchestrator: installation & GPU

The driver is below the minimum, or (in Docker) the NVIDIA Container Toolkit isn’t installed. Check nvidia-smi for the driver version; update if needed. For Docker, verify with docker run --gpus all nvidia/cuda:12.0-base nvidia-smi, and install the toolkit if it fails: sudo apt-get install -y nvidia-container-toolkit && sudo systemctl restart docker.
The node hit its session limit. Raise -maxSessions, or if it appears at startup with -nvidia, the GPU itself hit its hardware NVENC session cap (consumer cards cap at 3–5). See the NVENC limits table.
Confirm -ethUrl is an Arbitrum One endpoint (chain ID 0xa4b1), not Ethereum L1. Test it with an eth_chainId call. If rate-limited, switch providers or upgrade the plan; check the API key hasn’t expired.
Your current public IP differs from the address registered on-chain. Update the service URI in livepeer_cli, or override locally with -serviceAddr YOUR_PUBLIC_IP:8935. Use a domain name to avoid this when your IP changes.

Orchestrator: AI pipelines

Usually the NVIDIA Container Toolkit isn’t configured, the GPU lacks VRAM for the model, the image tag doesn’t match the go-livepeer version, or a host port conflicts. Check docker logs <container>. For OOM, load a smaller model or use a higher-VRAM GPU.
If go-livepeer can’t load a valid config it won’t advertise AI capabilities. Verify the JSON is well-formed, model_id matches a Livepeer-verified Hugging Face model, the runner is reachable (curl http://localhost:8000/health), and restartaiModels.json is not hot-reloaded.
Multiple warm models add up. Set some to "warm": false to load on demand, or enable SFAST optimization to reduce VRAM. Don’t combine SFAST and DEEPCACHE, and avoid DEEPCACHE on Lightning/Turbo models.

Orchestrator: earnings

In a split O-T setup, only the orchestrator process should call reward() — add -reward=false to all transcoder processes (and drop -ethUrl from transcoders sharing the wallet). Ensure the wallet has enough ETH for gas. A combined node handles reward calls automatically.
Explorer indexing can lag minutes to hours (allow up to 24h for new nodes). LPT rewards only mint if a reward call was made that round. Confirm you’re on Arbitrum One, not a testnet.

General questions

An orchestrator is the on-chain participant — it holds staked LPT, is registered, receives routing, sets pricing, and calls rewards. A transcoder is a compute process that does the actual encoding/inference and has no on-chain identity. Most solo setups run both in one process with -orchestrator -transcoder.
There’s no fixed minimum. The active set is the top 100 by total stake; the effective minimum is the 100th orchestrator’s stake, which moves over time. Check the Explorer.
Yes for video transcoding. AI inference requires Linux (AI runner containers, aiModels.json).
Possible, but you must port-forward 8935, handle dynamic IPs (use dynamic DNS), and have enough upload bandwidth. A VPS or data center is strongly recommended for production.
No — one bonded position per wallet maps to one orchestrator. Use separate wallets to split.
Not from switching itself — earnings stay attributed to your position. The risk is timing: claiming or moving before your orchestrator calls reward() for the round can skip that round. See Manage your delegation.

Still stuck?

Discord

The most active real-time support. Search before posting.

Forum

Longer-form troubleshooting.

GitHub Issues

Confirmed bugs in go-livepeer.