Skip to main content
This page applies to Gateways running in on-chain operational mode (Video AI Dual). Off-chain Gateways do not interact with Arbitrum contracts and can skip this page.
On-chain metrics show what is actually happening at the contract layer on Arbitrum
  • where ETH is moving,
  • which tickets Orchestrators are redeeming, and
  • whether gas costs are affecting the payment system.
The Gateway’s deposit and reserve on the TicketBroker contract fund all PM ticket redemptions. When the deposit is exhausted:
  • Orchestrators reject tickets,
  • job routing stops silently, and
  • Prometheus shows livepeer_gateway_deposit at zero.
Arbiscan can help debug the cause (which Orchestrators redeemed, how much, when). For full context on PM mechanics, see .

Arbiscan

Arbiscan is the block explorer for Arbitrum One. For on-chain Gateway operators, it is the primary tool for viewing transactions, watching TicketBroker redemption events, monitoring deposit changes, and checking gas price history.

Find the Gateway

The Gateway’s ETH address is shown in livepeer_cli **Option 1 (Get node status) **under ETH Account. Navigate to:
https://arbiscan.io/address/<GATEWAY_ETH_ADDRESS>
Key Arbiscan tabs:

Contract Events

The TicketBroker contract emits events for every deposit, reserve, and redemption action: To find redemptions against a Gateway: filter Arbiscan events by the TicketBroker contract address, then filter by RedeemWinningTicket events where the sender field matches the Gateway address. For the current TicketBroker address, see .

Watchlist Alerts

Arbiscan allows email alerts when a watched address is involved in a transaction. This is the fastest way to detect unexpected deposit activity.
  1. Create an Arbiscan account at arbiscan.io
  2. Navigate to My Account > Watch List > Add Address
  3. Enter the Gateway ETH address
  4. Select notification triggers: “Transaction sent to” and “Transaction sent from”
  5. Enable email notifications
An email arrives each time a ticket redemption occurs against the deposit, allowing early detection of unexpected drain rates.

Deposit Verification

Prometheus shows the deposit via livepeer_gateway_deposit, but the TicketBroker contract can also be queried directly to verify node-reported values against chain state.

Status: livepeer_cli

CLI: Get Node Status
livepeer_cli -host 127.0.0.1 -http 5935
# Select Option 1: Get node status
# Look for: BROADCASTER STATS > Deposit, Reserve
The CLI uses the legacy term “Broadcaster” for Gateway.

Status: Arbitrum RPC

Query the TicketBroker contract directly via JSON-RPC to get deposit and reserve independently of the running node:
CLI: Get Node Status
# Encode call to getSenderInfo(<gateway_address>)
# Function selector: first 4 bytes of keccak256("getSenderInfo(address)")
# Advanced technique - see Arbitrum/Solidity docs for ABI encoding

curl -X POST https://arb1.arbitrum.io/rpc \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "eth_call",
    "params": [{
      "to": "<TICKET_BROKER_CONTRACT_ADDRESS>",
      "data": "<ENCODED_CALL>"
    }, "latest"],
    "id": 1
  }'
For most operators, livepeer_cli is sufficient. Direct contract queries are useful when the node is offline or when verifying that node-reported state matches chain state.

Gas Monitoring

Arbitrum gas fees are generally 90% to over 99% cheaper than Ethereum mainnet, with typical transactions costing only a few cents (approx. 0.010.01–0.30).

As a Layer 2 rollup, Arbitrum bundles transactions, significantly reducing costs compared to the high fees often seen on Ethereum, especially during congestion
Gas Prices are not generally a cause of error since the mirgration to Arbitrum from Ethereum Mainnet.
Arbitrum One gas prices can fluctuate. When gas is expensive, Orchestrators pay more to redeem winning tickets - this cost is reflected in their pricing to Gateways. High gas periods can cause Orchestrators to increase prices above the -maxPricePerUnit cap, leading to routing failures even when the deposit is healthy.

Current Gas Price

Query Gas Price
curl -X POST https://arb1.arbitrum.io/rpc \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":1}'
The response is in wei. Convert to Gwei (divide by 1e9) for a human-readable figure.

Prometheus gas metric

Query Gas Price
# Current suggested gas price from node's oracle (in wei)
livepeer_suggested_gas_price

# Convert to Gwei
livepeer_suggested_gas_price / 1e9
Alert when livepeer_suggested_gas_price spikes significantly above its baseline - this is a leading indicator that Orchestrators may raise prices above the cap, causing job routing to slow.

Gas spike response

During sustained high-gas periods:
  1. Raise -maxPricePerUnit temporarily to keep jobs routing to Orchestrators absorbing higher redemption costs
  2. Monitor livepeer_payment_create_errors - increases during gas spikes indicate ticket-related failures
  3. Use USD-mode pricing (-priceFeedAddr) for stable USD-denominated caps that auto-adjust with ETH price. See

Depletion Tracking

Understanding how fast the deposit depletes helps plan top-ups before service interruptions.

From Prometheus

# Deposit depletion rate (wei per second, negative = spending)
deriv(livepeer_gateway_deposit[1h])

# Estimated time to deposit exhaustion at current rate (seconds)
livepeer_gateway_deposit /
  abs(deriv(livepeer_gateway_deposit[1h]))

From Arbiscan

Sort RedeemWinningTicket events by timestamp to see redemption frequency and value patterns. Unusually large or frequent redemptions from a single Orchestrator may indicate that Orchestrator is experiencing high gas costs, or in a worst case, receiving a disproportionate share of winning tickets.

Diagnostic Checklist

If the Gateway stops routing jobs without clear error messages, work through this checklist in order:
Last modified on March 16, 2026