> ## Documentation Index
> Fetch the complete documentation index at: https://na-36-mintlify-aebde2c5.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Builder Opportunities

> Find grants, programmes, RFPs, treasury proposals, open source contribution pathways, and bug bounties for every type of Livepeer builder.

export const GotoCard = ({label, relativePath, icon, text, cta = '', className = '', style = {}, ...props}) => {
  icon = icon ? icon : 'arrow-turn-down-right';
  return <Card title={label} icon={icon} href={relativePath} cta={cta} className={className} style={style} {...props}>
      {text}
    </Card>;
};

export const BorderedBox = ({children, variant = "default", padding = "var(--lp-spacing-4)", borderRadius = "var(--lp-spacing-px-8)", accentBar = "", style = {}, className = "", ...rest}) => {
  const variants = {
    default: {
      border: "1px solid var(--lp-color-border-default)",
      backgroundColor: "var(--lp-color-bg-card)"
    },
    accent: {
      border: "1px solid var(--lp-color-accent)",
      backgroundColor: "var(--lp-color-bg-card)"
    },
    muted: {
      border: "1px solid var(--lp-color-border-default)",
      backgroundColor: "transparent"
    }
  };
  const accentBarColors = {
    accent: "var(--lp-color-accent)",
    positive: "var(--green-9)"
  };
  return <div data-docs-bordered-box="" data-accent-bar={accentBarColors[accentBar] ? "" : undefined} className={className} style={{
    ...variants[variant],
    padding: padding,
    borderRadius: borderRadius,
    ...accentBarColors[accentBar] ? {
      position: "relative",
      '--accent-bar-color': accentBarColors[accentBar]
    } : {},
    ...style
  }} {...rest}>
      {children}
    </div>;
};

export const DisplayCard = ({icon, title, style, background = 'var(--lp-color-bg-card)', children, className = "", ...rest}) => {
  if (!title) {
    console.warn("[DisplayCard] Missing required prop: title");
    return null;
  }
  const cardStyle = {
    display: 'flex',
    flexDirection: 'column',
    height: 'calc(100% - 1rem)',
    border: '1px solid var(--lp-color-accent)',
    borderRadius: '8px',
    padding: "var(--lp-spacing-4)",
    marginBottom: "var(--lp-spacing-4)",
    backgroundColor: 'var(--lp-color-bg-page)',
    gap: "var(--lp-spacing-4)"
  };
  const titleStyle = {
    display: 'flex',
    alignItems: 'center',
    gap: "var(--lp-spacing-2)",
    marginBottom: '0',
    color: 'var(--lp-color-text-primary)',
    fontSize: '1rem',
    fontWeight: 600,
    ...style
  };
  const bodyStyle = {
    display: 'flex',
    flexDirection: 'column',
    backgroundColor: background,
    borderRadius: '8px',
    flex: 1,
    padding: "var(--lp-spacing-2)",
    margin: 0
  };
  return <div className={className} style={cardStyle} {...rest}>
      <div style={titleStyle}>
        <Icon icon={icon} size={20} color="var(--lp-color-accent)" />
        {title}
      </div>
      <div style={bodyStyle}>{children}</div>
    </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>;
};

<CustomDivider middleText="BUILDER OPPORTUNITIES" />

Livepeer is an open network. Whether you want to build applications, contribute code, run infrastructure, or propose ecosystem improvements, there are funded pathways to support your work.

This section maps every opportunity type to the developer profile most likely to find it useful.

<br />

<CustomDivider middleText="FIND YOUR PATH" />

## Who Are You?

<Columns cols={2}>
  <DisplayCard icon="code" title="App Builder / Integrator">
    You're building an application on top of Livepeer's video or AI inference infrastructure. You want access to funding, mentorship, and early access to new features.

    **Start with:** [Grants & Programmes](./grants-and-programmes)
  </DisplayCard>

  <DisplayCard icon="robot" title="AI Workflow Creator">
    You create ComfyUI workflows, real-time AI video pipelines, or generative media applications and want to get funded for open-sourcing your work.

    **Start with:** [Grants & Programmes](./grants-and-programmes)
  </DisplayCard>

  <DisplayCard icon="building-columns" title="Team or Organisation">
    You have a team and want to apply for a Foundation-issued RFP, or propose a funded Special Purpose Entity (SPE) via the Livepeer onchain treasury.

    **Start with:** [RFPs & Treasury Proposals](./rfps-and-proposals)
  </DisplayCard>

  <DisplayCard icon="microchip" title="Protocol Contributor">
    You want to contribute directly to Livepeer's open source repositories -- whether fixing bugs, improving tooling, adding features, or writing documentation.

    **Start with:** [Open Source Contributions](./oss-contributions)
  </DisplayCard>

  <DisplayCard icon="server" title="Orchestrator / GPU Provider">
    You run GPU infrastructure and want to find supply-side grants, network health incentives, and ecosystem tooling opportunities.

    **Start with:** [Grants & Programmes](./grants-and-programmes)
  </DisplayCard>

  <DisplayCard icon="shield-halved" title="Security Researcher">
    You audit smart contracts and protocol code for vulnerabilities and want to report findings for a USDC reward.

    **Start with:** [Bug Bounties](./bug-bounties)
  </DisplayCard>
</Columns>

<br />

<CustomDivider middleText="OPPORTUNITIES AT A GLANCE" />

## All Opportunities

<CardGroup cols={2}>
  <Card title="Grants & Programmes" icon="hand-holding-dollar" href="/v2/developers/guides/opportunities/grants-and-programmes" arrow>
    Research grants, the AI Video Startup Programme, Quick Start microgrants, supply-side grants, hackathons, and the ComfyUI Live Video Hacker Programme.
  </Card>

  <Card title="RFPs & Treasury Proposals" icon="file-contract" href="/v2/developers/guides/opportunities/rfps-and-proposals" arrow>
    Apply for Foundation-issued Requests for Proposals (RFPs), or submit a funded Special Purpose Entity (SPE) proposal to the Livepeer onchain treasury.
  </Card>

  <Card title="Open Source Contributions" icon="code-branch" href="/v2/developers/guides/opportunities/oss-contributions" arrow>
    Contribute to go-livepeer, Livepeer Studio, ai-runner, ComfyStream, and other core repositories. Guidance for first-time and experienced contributors alike.
  </Card>

  <Card title="Bug Bounties" icon="bug-slash" href="/v2/developers/guides/opportunities/bug-bounties" arrow>
    Report smart contract vulnerabilities via Livepeer's Immunefi bug bounty programme and earn USDC rewards.
  </Card>
</CardGroup>

<br />

<CustomDivider middleText="QUICK LINKS" />

<Columns cols={3}>
  <Card title="Dev Hub" icon="rocket" href="https://www.livepeer.org/dev-hub" arrow>
    The canonical launchpad for builders on livepeer.org -- grants, programmes, docs, and community links.
  </Card>

  <Card title="Livepeer Forum" icon="comments" href="https://forum.livepeer.org/c/treasury" arrow>
    Browse and discuss active treasury proposals and RFP applications in the forum.
  </Card>

  <Card title="Discord" icon="discord" href="https://discord.gg/livepeer" arrow>
    Connect with the builder community for real-time support, programme announcements, and ecosystem news.
  </Card>

  <Card title="GitHub: livepeer" icon="github" href="https://github.com/livepeer" arrow>
    The official Livepeer GitHub organisation hosting all core repositories.
  </Card>

  <Card title="Immunefi Bug Bounty" icon="shield" href="https://immunefi.com/bounty/livepeer" arrow>
    The official Livepeer bug bounty programme on Immunefi for smart contract security reporting.
  </Card>

  <Card title="Livepeer Explorer" icon="magnifying-glass" href="https://explorer.livepeer.org/treasury" arrow>
    View and vote on active onchain treasury proposals.
  </Card>
</Columns>

<br />

<Note>
  Livepeer's builder ecosystem is evolving quickly. Programmes open and close on a rolling basis. The [Livepeer Dev Hub](https://www.livepeer.org/dev-hub) and the [Forum Treasury category](https://forum.livepeer.org/c/treasury) are the most up-to-date sources for what is currently accepting applications.
</Note>
