> ## Documentation Index
> Fetch the complete documentation index at: https://docs.livepeer.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Livepeer Governance and Treasury Model

> This page describes the on-chain governance model which provides a permissionless, transparent, and community-driven framework for upgrading and governing the Livepeer protocol. It touches on the key actors, processes and mechanisms that drive coordination and growth of the Livepeer ecosystem.

export const LinkArrow = ({href, label, description, newline = true, borderColor, className = '', style = {}, ...rest}) => {
  const linkArrowStyle = {
    display: 'inline-flex',
    alignItems: 'center',
    justifyContent: 'center',
    gap: "var(--lp-spacing-1)",
    width: 'fit-content',
    ...borderColor && ({
      borderColor
    })
  };
  return <span className={className} style={style} {...rest}>
      {newline && <br />}
      <span style={linkArrowStyle}>
        <a href={href} target="_blank" rel="noopener noreferrer">
          {label}
        </a>
        <Icon icon="arrow-up-right" size={14} color="var(--lp-color-accent)" />
      </span>
      {description && description}
      {description && <div style={{
    height: "var(--lp-spacing-3)"
  }} />}
    </span>;
};

export const CustomDivider = ({color = "var(--lp-color-border-default)", middleText = "", spacing = "default", style = {}, className = "", ...rest}) => {
  const spacingPresets = {
    default: {
      margin: "24px 0"
    },
    overlap: {
      margin: "-1rem 0 -1rem 0"
    },
    tight: {
      margin: "0 0 -1rem 0"
    },
    section: {
      margin: "0 0 -2rem 0"
    },
    sectionOverlap: {
      margin: "-1rem 0 -2rem 0"
    },
    deepOverlap: {
      margin: "-1rem 0 -1.5rem 0"
    }
  };
  const spacingStyle = spacingPresets[spacing] || spacingPresets.default;
  return <div role="separator" aria-orientation="horizontal" className={className} style={{
    display: "flex",
    alignItems: "center",
    ...spacingStyle,
    fontSize: style?.fontSize || "16px",
    height: "fit-content",
    ...style
  }} {...rest}>
      <span style={{
    marginRight: "var(--lp-spacing-px-8)",
    opacity: 0.2
  }}>
        <Icon icon="/snippets/assets/logos/Livepeer-Logo-Symbol-Theme.svg" />
      </span>
      <div style={{
    flex: 1,
    height: "1px",
    background: "var(--lp-color-border-default)",
    opacity: 0.4
  }}></div>
      {middleText && <>
          <Icon icon="circle" size={2} />
          <span style={{
    margin: "0 8px",
    fontWeight: "bold",
    color: color,
    opacity: 0.7
  }}>
            {middleText}
          </span>
          <Icon icon="circle" size={2} />
        </>}
      <div style={{
    flex: 1,
    height: "1px",
    background: "var(--lp-color-border-default)",
    opacity: 0.4
  }}></div>
      <span style={{
    marginLeft: "var(--lp-spacing-px-8)",
    opacity: 0.2
  }}>
        <span style={{
    display: "inline-block",
    transform: "scaleX(-1)"
  }}>
          <Icon icon="/snippets/assets/logos/Livepeer-Logo-Symbol-Theme.svg" />
        </span>
      </span>
    </div>;
};

export const Quote = ({children, className = "", style = {}, ...rest}) => {
  const quoteStyle = {
    fontSize: "1rem",
    textAlign: 'center',
    opacity: 1,
    fontStyle: 'italic',
    color: 'var(--lp-color-accent)',
    border: '1px solid var(--lp-color-border-default)',
    borderRadius: "8px",
    padding: "var(--lp-spacing-4)",
    margin: '1rem 0',
    ...style
  };
  return <blockquote className={className} style={quoteStyle} {...rest}>{children}</blockquote>;
};

export const AccordionTitleWithArrow = ({text, children, color = 'var(--lp-color-text-secondary)', className = '', style = {}, ...rest}) => {
  const label = text ?? children;
  return <span className={className} style={{
    justifyContent: 'center',
    alignContent: 'center',
    color: color,
    display: 'flex',
    alignItems: 'center',
    gap: "var(--lp-spacing-2)",
    padding: '0.25rem 0',
    minHeight: 44,
    ...style
  }} {...rest}>
      {label}
      <span style={{
    alignSelf: 'flex-end'
  }}>
        <Icon icon="arrow-up-right" size={14} color="var(--lp-color-text-secondary)" />
      </span>
    </span>;
};

export const CardTitleTextWithArrow = ({children, className = '', style = {}, ...cardProps}) => {
  return <div className={className} style={{
    display: 'flex',
    width: 'fit-content',
    alignItems: 'center',
    justifyContent: 'center',
    marginTop: '-1rem',
    ...style
  }}>
      <Card arrow={false} title={<span style={{
    display: 'flex',
    alignItems: 'center',
    justifyContent: 'center'
  }}>
            {' '}
            {children}{' '}
            <span style={{
    margin: '0 -1rem 0.2rem 0.75rem'
  }}>
              <Icon icon="arrow-up-right" size={16} color="var(--lp-color-text-secondary)" />
            </span>
          </span>} {...cardProps} />
    </div>;
};

The Case for Decentralisation:
[https://deepwiki.com/livepeer/wiki/7.1-governance-principles](https://deepwiki.com/livepeer/wiki/7.1-governance-principles)

<CenteredContainer preset="fitContent">
  <CardTitleTextWithArrow icon="github" href="https://github.com/livepeer/lips" horizontal> livepeer-lips </CardTitleTextWithArrow>

  {/* <Card title="On-Chain Voting Explorer" icon="check-to-slot" href="https://explorer.livepeer.org/voting" horizontal arrow /> */}
</CenteredContainer>

<Quote>
  Livepeer is a community-driven protocol, where token holders have the ability to vote on proposals to upgrade protocol mechanisms or to spend from the treasury.
  Voting is conducted on-chain via the Livepeer Governor contract, with the protocol contracts enforcing the outcome.
</Quote>

<CustomDivider style={{margin: 0, marginBottom: "-2rem" }} />

## Governance

Livepeer is committed to open-source, transparent, community governance.
It uses a hybrid on‑chain/off‑chain governance model that combines open community discussion with binding on‑chain votes.
This model ensures that the community (token holders) collectively controls upgrades and spending, with the protocol enforcing the outcome.

<CenteredContainer preset="fitContent">
  <Accordion title={<div className="lp-title-accent-tight">ELI5: Governance Model</div>} icon="user-crown">
    Imagine a community garden run by people who own shares (tokens).

    * **Proposing a Change:** If someone has 100 share tokens, they can suggest a new rule (like “we should plant carrots”). They put 100 tokens in a safe place while the idea is considered.
    * **Voting:** Over the next month (30 days), everyone with tokens decides yes or no. If at least 33 out of every 100 token shares vote, and more than half vote “yes,” the idea becomes official. The 100 tokens go back to the proposer.
    * **Delegating Votes:** If you’ve given your shares to a friend to manage (delegation), you still get to vote because your votes travel with your shares.

    Rules are set by token holders: stake some tokens to propose, everyone votes, and a rule only passes if enough people say yes.
  </Accordion>
</CenteredContainer>

### Governance Functions

Governance in Livepeer serves two primary functions:

* **Protocol Upgrades**: Proposals to upgrade the protocol.
* **Treasury Spending**: Proposals to spend from the treasury.

### Governance Process

Governance applies to both the protocol and the treasury. Protocol upgrades and parameter changes are formalized as LIPs.
After community vetting, an on-chain vote is held. Stake-weighted voting ensures larger delegations have proportional say.

<Steps>
  <Step title="Idea Phase: Community Discussion" icon="comment-dots">
    Proposals typically start with community discussion to gather feedback on the <LinkArrow label="Livepeer Forum" href="https://forum.livepeer.org/c/lips/18" newline={false} />.
  </Step>

  <Step title="Draft Phase: Request For Feedback (RFP)" icon="comments">
    Community members post pre-proposals (requests for feedback) on the forum.
  </Step>

  <Step title="Proposal: Livepeer Improvement Proposal (LIP)" icon="file-pen">
    Once an idea is refined, an official proposal is drafted in the form of a <LinkArrow label="Livepeer Improvement Proposal (LIP)" href="https://github.com/livepeer/LIPs" newline={ false} />
  </Step>

  <Step title="Proposal Submission: On-Chain" icon="arrow-up-right-from-square">
    Once a LIP is finalised, anyone with ≥100 LPT can submit it on-chain to the [Governor](https://github.com/livepeer/protocol/blob/e8b6243c/contracts/governance/Governor.sol) contract for a vote. This stake is large by design to ensure only serious proposals advance and is returned if the proposal passes.
  </Step>

  <Step title="Proposal Voting: On-Chain" icon="link">
    After submission, a voting period of 30 rounds (≈3.75 days) opens where eligible voters (Orchestrators and their delegated LPT) cast votes. Anyone with 1+ LPT staked can vote.
    <br /> The on-chain proposals and votes can be found on <LinkArrow label="Livepeer Explorer" href="https://explorer.livepeer.org/voting" newline={false} />.
  </Step>

  <Step title="Proposal Voting: Details" icon="ballot">
    Voting power is driven by LPT **stake-weighted voting**. If an Orchestrator has X LPT staked (including delegated stake), that weight applies to its vote.
    <br /> Note: Delegators can withdraw their delegation temporarily to vote separately if they disagree with their operator.
  </Step>

  <Step title="Proposal Voting: Quorum & Approval" icon="people">
    A proposal passes only if at least **33% of total staked LPT participates (quorum)** and **>50% of the votes** cast are “For”. These thresholds prevent minority-rule.
  </Step>

  <Step title="Proposal Execution: On-Chain" icon="check-to-slot">
    If a proposal passes, the Governor automatically executes the proposal’s instructions (changing a contract parameter or sending treasury funds).
  </Step>
</Steps>

```mermaid theme={"theme":{"light":"github-light","dark":"dark-plus"}}
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#18794E', 'primaryTextColor': '#fff', 'primaryBorderColor': '#3CB540', 'lineColor': '#3CB540', 'mainBkg': '#18794E', 'nodeBorder': '#3CB540', 'clusterBkg': 'transparent', 'clusterBorder': '#3CB540', 'titleColor': '#3CB540', 'edgeLabelBackground': 'transparent', 'textColor': '#3CB540', 'nodeTextColor': '#fff'}}}%%
flowchart TD
A[Community Discussion] --> B[Proposal]
B --> C[On-Chain Vote]
C --> D{Vote Outcome}
D -- Approved --> E[Execute Change Protocol/Treasury]
D -- Rejected --> F[Revise or Abandon]
```

### Livepeer Improvement Proposals (LIPs)

Livepeer Improvement Proposals (LIPs) are formal design documents ([hosted on GitHub](https://github.com/livepeer/LIPs)) that describe protocol upgrades, similar to Ethereum’s [EIPs](https://eips.ethereum.org/EIPS/eip-1).

*Impactful LIPs include:*

* **Treasury Creation**: [LIP-89](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0089.md) and [LIP-92](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0092.md) which established the [Treasury](./treasury) and set the on-chain revenue allocation (sending 10% of new LPT emissions into the treasury).
* **Confluence - Arbitrum Migration**: [LIP-73](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0073.md) which completed the migration of the protocol from Ethereum to Arbitrum to reduce transaction costs and increase throughput.
* **Monetary Policy**: [LIP-34](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0034.md), [LIP-35](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0035.md), [LIP-40](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0040.md), [LIP-83](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0083.md), and [LIP-100](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0100.md) which have shaped the monetary policy of the protocol including inflation calculations, adjustment and bounds.
* **Governance Framework**: [LIP-15](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0015.md), [LIP-16](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0016.md), [LIP-19](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0019.md), [LIP-25](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0025.md), [LIP-69](https://github.com), [LIP-19](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0019.md) and [LIP-25](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0025.md) which established the current decentralised governance framework.

*Key LIPs by Category:*

<Accordion title="Governance & Process" icon="building-columns">
  **Governance & Process:**

  * [LIP-1](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0001.md) established the initial on‑chain governance process (Process, Purpose and Guidelines)
  * [LIP-15](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0015.md) established the polling system for LIP adoption.
  * [LIP-69](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0069.md) established the stake-based polling system & implemented stake-weighted voting.
  * [LIP-19](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0019.md) established the core governance mechanism (poll-based) for the Livepeer Protocol.
  * [LIP-25](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0025.md) established the technical foundation for protocol upgrades.
</Accordion>

<Accordion title="Protocol Migration (Confluence)" icon="arrow-down-up-across-line">
  * [LIP-73](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0073.md): Confluence - Arbitrum One Migration (Final) - Complete L1→L2 migration LIP-73.md:1-256
  * [LIP-74](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0074.md): L1 Minting and L2 Staking (Abandoned) - Alternative migration approach
</Accordion>

<Accordion title="Treasury Launch & System" icon="bank">
  * [LIP-89](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0089.md): Livepeer Treasury (Final) - Onchain treasury for public goods LIP-89.md:1-139
  * [LIP-90](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0090.md): Funding Entity Conversations (Final)
  * [LIP-91](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0091.md): Livepeer Treasury Bundle (Final)
  * [LIP-92](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0092.md): Treasury Contribution Percentage (Final) - 10% of inflation to treasury LIP-92.md:1-150
</Accordion>

<Accordion title="Economic Parameters & Monetary Policy" icon="coins">
  **Economic Parameters & Monetary Policy**

  * [LIP-34](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0034.md): InflationChange Parameter Update (Final) - Slowed inflation adjustment rate
  * [LIP-35](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0035.md): inflationChange Calculation and Parameter Update (Final) - Bundle with LIP-40
  * [LIP-40](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0040.md): Minter Math Precision (Final) - Enhanced precision for percentage calculations
  * [LIP-83](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0083.md): roundLength Parameter Update (Final) - Adjusted for Ethereum Merge
  * [LIP-100](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0100.md): Introduction of Inflation Bounds (Draft) - Added ceiling/floor to inflation
</Accordion>

<Accordion title="Core Protocol Features" icon="cubes-stacked">
  * [LIP-3](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0003.md): Ability To Update Registered Solver in LivepeerVerifier (Final)
  * [LIP-8](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0008.md): Enable Partial Unbonding (Final)
  * [LIP-9](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0009.md): Service Registry (Final) - Service endpoint discovery
  * [LIP-11](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0011.md): Bond Event Details (Final)
</Accordion>

<Accordion title="Earnings & Claiming" icon="money-check-dollar">
  * [LIP-36](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0036.md): Cumulative Earnings Claiming (Final) - O(1) gas cost for earnings claims
  * [LIP-52](https://github.com/livepeer/LIPs/blob/main/LIPs/LIP-0052.md): Snapshot For Claiming Earnings (Final) - Merkle tree for historical claims
</Accordion>

### On-Chain Contracts

The Livepeer Protocol uses a custom Governor contract that inherits from OpenZeppelin's [Governor](https://docs.openzeppelin.com/contracts/4.x/api/governance#governor) and [GovernorSettings](https://docs.openzeppelin.com/contracts/4.x/api/governance#governorsettings) contracts.

The key rules enforced are:

* **Voting period**: 30 rounds (\~3.75 days)
* **Quorum**: 33% of all staked LPT
* **Threshold**: Majority (>50%) of votes cast
* **Voting delay**: 1 round

### Key Roles & Stakeholders

**[On-Chain Treasury](./treasury)**: A portion (10%) of token emissions flows to a community treasury (itself created by LIPs).
This treasury exists to fund ecosystem-wide projects (public goods) for the benefit of the entire network.
Livepeer’s social consensus is that treasury funds should primarily go to **SPEs**, which then deploy them to specific initiatives.

**[Livepeer Foundation](/v2/home/about/ecosystem#livepeer-foundation)**: The Foundation fosters long-term strategy and ecosystem coordination.
It establishes advisory boards, publishes roadmaps, and coordinates the work of **[Special Purpose Entities (SPEs)](/v2/home/about/ecosystem#special-purpose-entities)** to execute core development, research, on-chain proposals and long‑term vision.

The foundation may also manage treasury disbursements, support grant programmes and maintain the network’s public goods.
However, while the Foundation facilitates community participation, ultimate authority rests with the community via on-chain votes by LPT holders.

## Related Resources

<Columns cols={2}>
  <Card title="Governance Model" href="/v2/about/protocol/governance-model" icon="ballot-check" arrow> Read more about the technical details of the governance model. </Card>
  <Card title="Delegate LPT" href="https://github.com/livepeer/LIPs" icon="github" arrow> Find out more about Delegating LPT. </Card>
</Columns>

{/* Livepeer is committed to open-source, transparent, community governance.

Quick Links

Discord: [https://discord.com/channels/423160867534929930/686685097935503397](https://discord.com/channels/423160867534929930/686685097935503397)

RFPs */}
