TicketBroker contract that backs the gateway’s payment tickets.
Prerequisites
Confirm the following before starting:Step 1 - Get ETH
TheTicketBroker contract lives on Arbitrum One (not Ethereum mainnet). ETH must be on that network specifically.
- ETH on Arbitrum
- ETH on mainnet
- No ETH yet
Transfer the required amount to the gateway’s ETH address directly. No bridging needed.The gateway address is the public key of the keystore created on first
go-livepeer run. Check ~/.lpData/keystore or review the startup logs for the address.Step 2 - Transfer
Send ETH on Arbitrum One to the gateway’s Ethereum address. This is the keystore account created during gateway installation. To find the gateway address, runlivepeer_cli and select Option 1: Get node status. The address appears under BROADCASTER STATS (the CLI uses the legacy term “Broadcaster” for Gateway).
Step 3 - Deposit
The Livepeer payment system splits gateway funds into two components.Deposit
Deposit
The deposit is the primary balance from which Orchestrators are paid when they redeem winning PM tickets. As the gateway sends tickets across jobs, winning tickets are redeemed against this deposit. When the deposit runs too low, Orchestrators begin rejecting tickets and jobs fail.The deposit functions as a running payment balance: it is depleted by usage and needs to be topped up periodically.
Reserve
Reserve
The reserve is a collateral backstop that protects Orchestrators against gateway non-payment. It is not consumed directly by ticket redemption under normal operation; rather, it is available as a protection mechanism for Orchestrators with a stake-based relationship to the gateway.The reserve also determines the face value of PM tickets. Tickets are sized as a fraction of the reserve, so a larger reserve allows for higher-value tickets per redemption event.
Select Option 11 - Invoke deposit broadcasting funds
Type
11 and press Enter. The CLI prompts for two amounts.Enter deposit and reserve amounts
Enter the amounts in ETH when prompted:The ticket face value is calculated as a fraction of the reserve. In the testing example:
0.03 ETH reserve / 100 = 0.0003 ETH per ticket.These amounts are in ETH, not wei. The CLI accepts decimal ETH values directly.
Confirm the transaction
The CLI prompts for confirmation. Review the amounts, then confirm. The transaction is submitted to the
TicketBroker contract on Arbitrum One. Allow a few seconds for confirmation.Verify the balance
Select Option 1: Get node status in
livepeer_cli. Scroll to the BROADCASTER STATS section (the CLI uses the legacy term “Broadcaster” for Gateway). The deposit and reserve amounts should be reflected there.The balance can also be verified on-chain via Livepeer Explorer by searching for the gateway address.Monitoring
The deposit depletes with every winning ticket redeemed. The reserve normally stays intact unless there is a default event. Monitor and top up the deposit regularly. Check the balance:Withdrawals
To withdraw funds from theTicketBroker deposit, there is an unlock period. This prevents instantaneous withdrawal attacks.
Use livepeer_cli to initiate an unlock request. After the unlock period expires, withdraw the funds to the gateway’s Ethereum address.
Related Pages
Pricing Strategy
Set maximum prices the gateway pays Orchestrators. Configure after funding.
Remote Signers
Isolate the signing key from the gateway process for better security.
Payments Guide
Revisit the payment architecture decision guide.
Arbitrum Exchanges
Exchanges that support direct Arbitrum One withdrawals.