> ## 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.

# Repository Map

> Every Livepeer repository that matters for developers, grouped by network layer. Status and one-line role for each.

export const CenteredContainer = ({children, maxWidth = "800px", padding = "0", preset = "default", width = "", minWidth = "", marginRight = "", marginBottom = "", textAlign = "", style = {}, className = "", ...rest}) => {
  const presets = {
    default: {},
    fitContent: {
      width: "fit-content",
      minWidth: "fit-content"
    },
    readable70: {
      width: "70%",
      minWidth: "fit-content"
    },
    readable80: {
      width: "80%",
      minWidth: "fit-content"
    },
    readable90: {
      width: "90%"
    },
    wide900: {
      maxWidth: "900px"
    }
  };
  const presetStyle = presets[preset] || presets.default;
  return <div className={className} style={{
    maxWidth: presetStyle.maxWidth || maxWidth,
    margin: "0 auto",
    padding: padding,
    ...presetStyle.width ? {
      width: presetStyle.width
    } : {},
    ...presetStyle.minWidth ? {
      minWidth: presetStyle.minWidth
    } : {},
    ...width ? {
      width
    } : {},
    ...minWidth ? {
      minWidth
    } : {},
    ...marginRight ? {
      marginRight
    } : {},
    ...marginBottom ? {
      marginBottom
    } : {},
    ...textAlign ? {
      textAlign
    } : {},
    ...style
  }} {...rest}>
      {children}
    </div>;
};

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 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>;
};

<CenteredContainer preset="readable90">
  <Tip>Livepeer is built in the open. Every layer of the network has a public repository.</Tip>
</CenteredContainer>

***

The Livepeer GitHub organisation hosts over 170 public repositories. This page groups the ones developers actually touch by the network layer they belong to, and tags each one as `[Official]` (maintained under the `livepeer/` organisation), `[Community]` (maintained by ecosystem contributors), or `[Archived]` (no longer maintained).

For why each layer exists, see <LinkArrow href="/v2/developers/concepts/landscape" label="Landscape" newline={false} />. For where each persona enters the stack, see <LinkArrow href="/v2/developers/concepts/infra-stack" label="Infra Stack" newline={false} />.

<CustomDivider />

## Core Runtime Repositories

Every Livepeer Network role runs from one of these binaries. Every other layer in the stack depends on or connects to them.

| Repo                                                            | Tag      | Role                                                                       | Language |
| --------------------------------------------------------------- | -------- | -------------------------------------------------------------------------- | -------- |
| [livepeer/go-livepeer](https://github.com/livepeer/go-livepeer) | Official | Reference node: Orchestrator, Gateway, transcoder, broadcaster             | Go       |
| [Livepeer/ai-runner](https://github.com/livepeer/ai-runner)     | Official | Containerised inference runtime; `go-livepeer` spawns one per GPU pipeline | Python   |
| [Livepeer/lpms](https://github.com/livepeer/lpms)               | Official | Media-processing primitives over FFmpeg; transcoding and codec operations  | Go       |
| [Livepeer/ai-worker](https://github.com/livepeer/ai-worker)     | Official | AI Runner client and OpenAPI spec consumed by `go-livepeer`                | Python   |
| [livepeer/catalyst](https://github.com/livepeer/catalyst)       | Official | Decentralised media server; handles ingest and segment upload              | Go       |
| [Livepeer/task-runner](https://github.com/livepeer/task-runner) | Official | Background task executor for hosted-Solution VOD workflows                 | Go       |

`go-livepeer` is the foundation. When AI inference is enabled, it spawns `ai-runner` Docker containers per GPU and proxies inference requests via a local REST interface. `lpms` is the media-processing library it uses for transcoding.

<CustomDivider />

## On-Chain Protocol Repositories

Cryptoeconomic contracts deployed on Arbitrum One. `go-livepeer` calls these for all on-chain operations.

| Repo                                                                            | Tag      | Role                                                                            | Language             |
| ------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------- | -------------------- |
| [Livepeer/protocol](https://github.com/livepeer/protocol)                       | Official | Solidity contracts: staking, bonding, reward distribution, settlement, treasury | Solidity             |
| [Livepeer/Arbitrum-LPT-bridge](https://github.com/livepeer/arbitrum-lpt-bridge) | Official | Bridge contracts moving LPT between Ethereum L1 and Arbitrum One                | Solidity, TypeScript |
| [Livepeer/LIPs](https://github.com/livepeer/LIPs)                               | Official | Livepeer Improvement Proposals: canonical record of accepted changes            | Markdown             |

The `confluence` branch of `livepeer/protocol` is the deployed Arbitrum version. The `streamflow` branch covers the L1 contracts (`LivepeerToken` and `BridgeMinter` only; all other core protocol contracts are paused on L1).

<CustomDivider />

## Gateway API Surface

REST APIs and operator tooling that sit on top of `go-livepeer`.

| Repo / Surface                                                | Tag       | Role                                                                                                                                                                  | Notes                                                                                                                |
| ------------------------------------------------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| AI Gateway API                                                | Official  | REST API for direct AI inference. Two hosted providers: the Studio Gateway (paid) and the Cloud Community Gateway at `dream-gateway.livepeer.cloud` (free, off-chain) | <LinkArrow href="/v2/developers/build/ai-and-agents/ai-jobs-direct-quickstart" label="Quickstart" newline={false} /> |
| [Livepeer/naap](https://github.com/livepeer/naap)             | Official  | Network-as-a-Platform; Next.js 15 micro-frontend portal shell for AI Compute operators. Ships with 12 core plugins                                                    | `operator.livepeer.org`                                                                                              |
| [eliteprox/pymthouse](https://github.com/eliteprox/pymthouse) | Community | Hosted identity, billing, and signer-proxy infrastructure for Livepeer-powered apps. OIDC provider, RFC 8693 token exchange, managed remote-signer proxy              | `pymthouse.com`                                                                                                      |

<Note>
  The internal `livepeer-data-mcp` server is not a developer surface. It backs internal operations only.
</Note>

<CustomDivider />

## Real-Time Pipeline Repositories

Live-video-to-video workflows, BYOC containers, trickle transport.

| Repo                                                                                      | Tag       | Role                                                                                | Language           |
| ----------------------------------------------------------------------------------------- | --------- | ----------------------------------------------------------------------------------- | ------------------ |
| [Livepeer/ComfyStream](https://github.com/livepeer/comfystream)                           | Official  | ComfyUI custom-node package that turns workflows into real-time video pipelines     | Python             |
| [Livepeer/ComfyUI-Stream-Pack](https://github.com/livepeer/ComfyUI-Stream-Pack)           | Official  | StreamDiffusion and related custom nodes for real-time AI video                     | Python             |
| [Livepeer/pytrickle](https://github.com/livepeer/pytrickle)                               | Official  | Python SDK for the trickle streaming protocol; `FrameProcessor` base class for BYOC | Python             |
| [muxionlabs/byoc-example-apps](https://github.com/muxionlabs/byoc-example-apps)           | Community | Reference BYOC pipelines: image upscale, audio inference, custom transforms         | Python, TypeScript |
| [muxionlabs/byoc-sdk](https://github.com/muxionlabs/byoc-sdk)                             | Community | TypeScript SDK for building BYOC containers and submitting jobs                     | TypeScript         |
| [muxionlabs/livepeer-app-pipelines](https://github.com/muxionlabs/livepeer-app-pipelines) | Community | Reference application pipelines that compose multiple BYOC capabilities             | Mixed              |

ComfyStream sits above `ai-runner` on the real-time path and uses `pytrickle` to exchange frames with an Orchestrator. A BYOC developer using `pytrickle` directly implements the same `FrameProcessor` interface that ComfyStream uses internally.

<CustomDivider />

## Application SDK Repositories

Client libraries for calling the network from an application.

| Repo                                                                            | Tag       | Role                                                                                                    | Language          |
| ------------------------------------------------------------------------------- | --------- | ------------------------------------------------------------------------------------------------------- | ----------------- |
| [livepeer/livepeer-ai-js](https://github.com/livepeer/livepeer-ai-js)           | Official  | JavaScript and TypeScript SDK for the AI Gateway API                                                    | TypeScript        |
| [livepeer/livepeer-ai-python](https://github.com/livepeer/livepeer-ai-python)   | Official  | Python SDK for the AI Gateway API; Speakeasy-generated                                                  | Python            |
| [Livepeer/ui-kit](https://github.com/livepeer/ui-kit)                           | Official  | React component library: `<Player.Root>`, `<Broadcast.Root>`, WebRTC/HLS, accessibility                 | TypeScript, React |
| [j0sh/livepeer-python-Gateway](https://github.com/j0sh/livepeer-python-gateway) | Community | Python implementation of a Livepeer Gateway. `OrchestratorSession`, `PaymentSession`, `StartJobRequest` | Python            |

<Note>
  `livepeer-js` and `ui-kit` refer to the same active repository. The historical `livepeer-js` namespace redirects to `ui-kit`.
</Note>

<CustomDivider />

## Agent and Creative Repositories

Agent SDKs and frameworks built on top of the network. Some packages are not yet published to npm.

| Repo                                                          | Tag      | Role                                                                                        | Status     |
| ------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------- | ---------- |
| [Livepeer/storyboard](https://github.com/livepeer/storyboard) | Official | Agent-powered creative workspace at `storyboard-rust.vercel.app`. Orchestrates 40 AI models | Live       |
| `@livepeer/agent` (in `storyboard` monorepo)                  | Official | Provider-agnostic agent runtime. Gemini, Claude, OpenAI, Livepeer                           | Not on npm |
| `@livepeer/creative-kit` (in `storyboard` monorepo)           | Official | Canvas state, command router, capability resolver, UI components                            | Not on npm |

The two SDK packages live inside the `storyboard` monorepo until they ship on npm. Clone the repo to use them today.

<CustomDivider />

## Monitoring Repositories

Operator observability; mostly community-maintained.

| Repo                                                                                    | Tag       | Role                                                                                            | Maintainer     |
| --------------------------------------------------------------------------------------- | --------- | ----------------------------------------------------------------------------------------------- | -------------- |
| [livepeer/livepeer-monitoring](https://github.com/livepeer/livepeer-monitoring)         | Official  | Prometheus exporters and Grafana dashboards for `go-livepeer`                                   | Livepeer Inc   |
| [transcodeninja/livepeer-exporter](https://github.com/transcodeninja/livepeer-exporter) | Community | Enhanced Prometheus exporter with additional signal coverage                                    | transcodeninja |
| [rickstaa/livepeer-reward-watcher](https://github.com/rickstaa/livepeer-reward-watcher) | Community | Alerts when an Orchestrator is at risk of missing a reward call                                 | rickstaa       |
| Stronk-Tech ecosystem                                                                   | Community | Suite of operator tools: OrchestratorTracker, LivepeerPerformanceAI, LivepeerExplorer, StronkAI | Captain Stronk |

<CustomDivider />

## Governance Repositories

Async governance and async-first coordination.

| Repo                                                              | Tag      | Role                                                  |
| ----------------------------------------------------------------- | -------- | ----------------------------------------------------- |
| [Livepeer/LIPs](https://github.com/livepeer/LIPs)                 | Official | Livepeer Improvement Proposals                        |
| [Livepeer/coordination](https://github.com/livepeer/coordination) | Official | Async-first governance coordination via GitHub issues |
| [Livepeer/roadmap](https://github.com/livepeer/roadmap)           | Official | Community-visible roadmap using GitHub Projects       |

<CustomDivider />

## Documentation and Discovery Repositories

| Repo                                                                      | Tag       | Role                                                                |
| ------------------------------------------------------------------------- | --------- | ------------------------------------------------------------------- |
| [Livepeer/docs](https://github.com/livepeer/docs)                         | Official  | This documentation site. MDX, Mintlify                              |
| [Livepeer/awesome-Livepeer](https://github.com/livepeer/awesome-livepeer) | Community | Curated list of projects, tutorials, demos. Also at `livepeer.cool` |

<CustomDivider />

## Solutions Repositories

Hosted products built on the network. Documented under <LinkArrow href="/v2/solutions/portal" label="Solutions" newline={false} />; listed here for completeness.

| Repo              | Tag                                      | Role                                                                                         |
| ----------------- | ---------------------------------------- | -------------------------------------------------------------------------------------------- |
| `livepeer/studio` | Official `[Solution; see Solutions tab]` | Full Studio monolith: auth, billing, API keys, multistream, recording, signing keys, metrics |
| Daydream          | Official `[Solution; see Solutions tab]` | Hosted real-time AI video API and consumer app, built on ComfyStream                         |

<CustomDivider />

## Layer Dependencies

The stack is a dependency chain. Every layer above depends on the layers below it; each layer can be accessed directly without building at the layers above.

`go-livepeer` is the foundation. Every other official repository either depends on it, generates clients for its APIs, or provides tooling around it.

`ai-runner` is spawned by `go-livepeer` per GPU per pipeline. `go-livepeer` generates its Go client bindings from `ai-runner`'s OpenAPI spec via `make ai_worker_codegen`.

`comfystream` and `pytrickle` sit above `ai-runner` on the real-time path. `comfystream` uses `pytrickle`'s trickle protocol to exchange frames with an Orchestrator. A BYOC developer using `pytrickle` directly implements the same `FrameProcessor` interface.

The AI Gateway API is the standard REST interface that all SDK consumers reach through. Calling `livepeer-ai-js` or `livepeer-ai-python` sends requests to a Gateway node, which routes them through `go-livepeer` to the relevant Orchestrators.

`ui-kit` is independent of the AI and protocol path. It provides Player and Broadcast components for browser applications and works against any compatible Gateway.

<CustomDivider />

## Contribution Entry Points

| If you want to work on...                           | Start here                                                                          |
| --------------------------------------------------- | ----------------------------------------------------------------------------------- |
| AI pipelines (batch inference, new pipeline types)  | `livepeer/ai-runner`; open issues, `runner/pipelines/` modules                      |
| Real-time AI (ComfyStream, BYOC, trickle transport) | `livepeer/comfystream` or `livepeer/pytrickle`; open issues, `#comfystream` Discord |
| Core node (Gateway, Orchestrator, transcoder logic) | `livepeer/go-livepeer`; contributing guide in README                                |
| Smart contracts (staking, bonding, governance)      | `livepeer/protocol`; open issues                                                    |
| Frontend SDK (player, React components)             | `livepeer/ui-kit`; open issues, `#developers` Discord                               |
| Documentation                                       | `livepeer/docs`; branch `docs-v2-dev`, contribution guide                           |

<LinkArrow href="/v2/developers/resources/contributing" label="Contribution paths" newline={false} /> covers the broader process.
