Skip to main content
Ensure you are on the official docs.livepeer.org/ site before using any address.

ALWAYS VERIFY ADDRESSES ON-CHAIN
Addresses on this page are automatically updated via a GitHub Action workflow update-contract-addresses.yml.Current addresses are recovered from live controller reads, upstream deployment sources, commit-pinned code provenance, and explorer verification.Last Verified:

Livepeer Protocol Source
Commit Pinned

Livepeer Contracts Arbiscan
On-chain Verified

Verifier Widget: Verify Contract Address

Use the tool below to query the blockchain directly from your browser.
This widget queries the blockchain directly from your browser. No backend, no API keys, no sign-in. Every contract on this page is verifiable.
Three public RPC endpoints are tried in sequence with automatic failover: arb1.arbitrum.io, publicnode.com, drpc.org.If all are unreachable, the widget shows a cast command you can run locally. Queries only fire when you click a button, never on page load. No data leaves your browser except to these public endpoints.Full list of public Arbitrum One RPCs: Chainlist.

No-Trust On-chain Address Verification

Every Arbitrum One contract address can be independently verified by querying the Controller on-chain. No trust in documentation or widgets is required.

Livepeer Contract Overview

Livepeer protocol contracts are deployed on Arbitrum One (active) and Ethereum Mainnet (legacy bridge and governance). Proxy addresses are stable across upgrades; target addresses change when a new implementation is deployed via governance.
Core Contracts are the operational backbone of the protocol. Most use a proxy/target pattern where the proxy address is stable across governance upgrades.
  • Controller
  • BondingManager
  • TicketBroker
  • RoundsManager
  • Minter
  • ServiceRegistry
  • AIServiceRegistry
The Livepeer Token (LPT) secures the protocol and enables governance and staking. Its main contract lives on the secure Ethereum L1 chain (genesis deployment) with a minter for Arbitrum L2 LPT.
  • LivepeerToken
  • BridgeMinter
Governance Contracts power protocol upgrades via LIPs and a democratic Governance Model, and fund the public good Treasury.
  • Governor
  • LivepeerGovernor
  • Treasury
  • BondingVotes
  • MerkleSnapshot
  • PollCreator
Bridge Contracts provide LP Token transfers and data synchronisation between the Ethereum Mainnet and Arbitrum One. L1Escrow holds all bridged LPT.
  • L2LPTGateway
  • L2LPTDataCache
  • L1LPTGateway
  • L1LPTDataCache
  • L1Escrow
  • L1Migrator
Ethereum Mainnet only. Historical infrastructure from the original 2018 launch, which has been migrated to Arbitrum.
  • GenesisManager
  • MerkleMine
  • MultiMerkleMine
  • Refunder
  • SortedDoublyLL
Facilitated the migration of staked LPT from Ethereum Mainnet to Arbitrum One. No new migrations are possible. L2Migrator still accepts claimStake from participants who have not yet claimed.
  • L2Migrator
  • DelegatorPool

Active Livepeer Contract Addresses

ACTIVE Verified This table lists currently active standalone contract entrypoints together with the current implementation targets behind active upgradeable proxies. Active proxy addresses are listed separately below. Paused, migration-residual, and legacy-operational contracts are grouped into a separate section so the main searchable table stays active-only.
This page is not populated from a hand-maintained address list. It reads the generated contracts registry contractAddressesData.jsx, which is the canonical persisted contracts dataset in this repo.
1

Trigger Workflow

update-contract-addresses.yml runs daily at 02:00 UTC (0 2 * * *), supports manual dispatch with dry_run, skip_verify, and use_test_branch, and can also be started by repository_dispatch events tied to livepeer/protocol, livepeer/arbitrum-lpt-bridge, livepeer/go-livepeer, and livepeer/governor-scripts.
2

Load Source Inputs

fetch-contract-addresses.js starts the pipeline. The live implementation then loads:
  • the proof catalog from operations/scripts/automations/content/data/contracts/spec.js
  • the governor manifest from livepeer/governor-scripts/updates/addresses.js
  • the previous successful generated payload
  • the previous branch-watch snapshot
  • source and provenance data from these watched Livepeer repos:
  • GitHub API reads used to fetch repo metadata, branches, commits, and file contents from those repos
3

Resolve Contract Families

The pipeline resolves the known contract families in its proof catalog from external sources:
  • controller-managed contracts via Ethereum JSON-RPC eth_call
  • deployment artefacts and repo-pinned source files from the watched Livepeer repos
  • runtime consumer evidence where the proof catalog requires it
  • governor manifest keys for families that are keyed from addresses.js
4

Verify And Enrich Addresses

Before data is published, the current implementation verifies and enriches each row with external checks:
  • eth_call to recover controller state and proxy/controller relationships
  • eth_getLogs on the Arbitrum controller to rebuild historical SetContractInfo entries
  • Arbiscan or Etherscan proxy API module=proxy&action=eth_getCode to confirm bytecode exists at each published address
  • Blockscout api/v2/addresses/{address} to enrich creator address, labels, verified-source state, and proxy hints
  • repo-pinned source and commit provenance from GitHub so contract code links resolve to a concrete upstream commit
5

Write Canonical Dataset

If validation passes, the workflow writes snippets/data/contract-addresses/contractAddressesData.jsx. The JSON mirrors and page-facing companion outputs are derived from that generated dataset rather than authored separately.
6

Fail Safely

If blocking validation fails, the workflow writes _health-checks.json, anomaly artefacts, and an incident issue payload, uploads those artefacts, creates or updates a GitHub issue, and does not publish replacement contract data.
7

Run Shadow Verification

update-contract-addresses-shadow.yml runs daily at 02:30 UTC (30 2 * * *) in --check mode. It reruns the verification path without publishing changes.
Current limit: the live pipeline verifies the proof catalog aggressively, but it still resolves the known catalog rather than discovering arbitrary new contract families directly from repo diffs.

Active Proxy Contract Addresses

Proxy addresses are stable upgrade entrypoints for active controller-managed contracts. They are primarily useful for deployment, governance upgrade, and implementation-tracking workflows rather than day-to-day contract usage.

Published Non-Active Contracts

Paused Ethereum contracts, migration-residual contracts, and legacy-operational helper contracts remain published for verification and audit purposes, but they are not part of the active contract table above.

Historical Contract Addresses

Historical implementations replaced through governance upgrades. These target contracts are superseded and listed for audit trail and version history only. Do not interact with deprecated targets directly.

Contract Source Code

Livepeer Protocol

Core protocol Solidity contracts (BondingManager, TicketBroker, RoundsManager, Controller, governance)

Arbitrum LPT Bridge

Token bridge contracts connecting Ethereum Mainnet and Arbitrum One

Contracts Proof Inputs

Watched upstream repositories used for discovery, provenance resolution, and verification support

Livepeer on Arbiscan

All labelled Livepeer contracts on Arbitrum One block explorer
Last modified on April 7, 2026