1. Point at a reliable Arbitrum RPC
-ethUrl connects the node to Arbitrum One. The community-run LiveInfra SPE
endpoint is free for verified orchestrators. Free tiers from Alchemy (300M compute units/mo) or
Infura (100K req/day) also work for most operators. Public endpoints like arb1.arbitrum.io/rpc
are for testing only — a dropped connection during round initialization can forfeit that round’s reward.
Verify the endpoint is actually Arbitrum One:
2. Choose your orchestrator wallet
The orchestrator wallet holds your staked LPT and receives fees. It never needs to run on the node — you only use it to update orchestrator settings, move funds, and vote. Use a hardware wallet or a Safe multisig. Alternatively,go-livepeer creates an account on first start and prints the address in the logs:
3. Fund the wallet with ETH on Arbitrum
Every on-chain action (activation, reward calls, ticket redemption) costs gas. Keep at least 0.05 ETH on Arbitrum One to start, and never let it fall below ~0.01 ETH. Get arbETH by withdrawing from an exchange that supports Arbitrum, or bridging from L1 at bridge.arbitrum.io. Verify the balance on Arbiscan.4. Stake LPT
LPT bonded to your address is what puts you in the active set (top orchestrators by total stake). Check the current threshold on the Explorer before deciding how much to acquire. The orchestrator itself only needs a 1 LPT self-bond. Stake the rest by delegating from a hardware wallet rather than bonding it all from a keystore. Self-bond on the Explorer, or in the CLI if the keystore is on the node:approve, then bond. Wait for both to confirm.
5. Activate on-chain
Inlivepeer_cli, select “Invoke multi-step ‘become an orchestrator’” and set your commission:
Without a keystore on the node, make the same two calls from your wallet:
transcoder on the
BondingManager and setServiceURI on the
ServiceRegistry, or on the
AIServiceRegistry if you serve AI.
Your node joins the active set at the start of the next round (~22h), and only if your total
stake is in the top 100. The Explorer may show Registered until then.
6. Run the node on a throwaway wallet
The machine doing the work is your exposed surface. Never run it with the orchestrator key. Start the node with a fresh-dataDir so it generates a new account, send that address a little ETH for
gas, and point it at your orchestrator:
7. Set up a reward caller
Delegate reward calling to a separate, low-privilege wallet. It can only callreward() — not move
funds, unbond, change settings, or vote — so the orchestrator wallet stays in cold storage
(LIP-118).
Choose the caller:
- go-livepeer
- Standalone caller
The throwaway wallet from step 6. The node reads the on-chain mapping and calls reward for
-ethOrchAddr itself — no extra flags.cast
against the BondingManager, or with “Set reward caller” in
livepeer_cli if the keystore is on the node:
0x0000000000000000000000000000000000000000 to revoke. Arbiscan does not show this method
on the proxy page yet, but it is live on-chain.
8. Confirm reward calling
After the next round starts (~22h), your orchestrator’s page on the Explorer shows the reward call. With a standalone or shared caller, its wallet on Arbiscan shows it too. With go-livepeer, the node logs do:Exception for very low stake: if reward-call gas costs more than the LPT you’d earn, disabling
automatic calling and calling manually until your stake grows can be the rational choice. Reward
calls use ~350k–450k gas (cents at typical Arbitrum prices).
9. Verify
On explorer.livepeer.org/orchestrators, search your address and confirm Status, Stake, Reward Cut, and Fee Cut. The Explorer does not show the service URI — read it from theServiceRegistry, then confirm
external reachability:
livepeer_cli or via setServiceURI on the
contract (this costs gas). A bad or unreachable service address is the most common reason an active
node still receives no jobs — see the FAQ.
Next
Set pricing
The other half of getting selected by gateways.
Add AI inference
Open a second revenue stream.