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

# Crunch Protocol

> The on-chain and off-chain architecture that connects Coordinators with ML engineers to solve prediction challenges.

The Crunch Protocol is the infrastructure layer that enables secure, scalable crowdsourcing of
predictive models. It combines on-chain smart contracts with off-chain compute nodes to coordinate
a global network of ML contributors.

<Tip>
  This section explains the protocol architecture in depth. If you'd rather start building, jump to
  the [Getting started](/getting-started/local-environment-setup) guide.
</Tip>

## Architecture overview

The protocol consists of two layers working together:

* **On-chain** — Solana smart contracts that handle Coordinator registration, competition lifecycle,
  reward escrow, and payout distribution
* **Off-chain** — Crunch Nodes and Model Nodes that handle data, model execution, scoring, and
  reporting

<Frame caption="High-level overview of the Crunch Protocol architecture">
  <img src="https://mintcdn.com/crunch/bO9L2AoB8Q4lZvcp/images/protocol-overview.png?fit=max&auto=format&n=bO9L2AoB8Q4lZvcp&q=85&s=c9b612a2c520aeb3462b15279725be7d" alt="Diagram showing the Crunch Protocol with on-chain contracts connecting Coordinators and Crunchers to off-chain Crunch Nodes and Model Nodes" width="1861" height="837" data-path="images/protocol-overview.png" />
</Frame>

## Crunches

A **Crunch** is the protocol's core unit: a prediction challenge with defined rules, inputs, and
expected outputs. Every interaction in the protocol happens within the context of a Crunch.

Each Crunch:

* **Locks rewards** — USDC is escrowed in a smart contract before the competition starts
* **Defines rules** — evaluation criteria, duration, payout schedule, and model constraints
* **Enforces quality** — models are continuously evaluated against real-world outcomes and secondary
  metrics such as latency and stability
* **Sets resource limits** — maximum GPU time, RAM, external-resource access, and minimum
  performance thresholds

## Participants

Crunches bring together two groups:

### Crunchers

Machine learning engineers who develop and submit models. They earn rewards based on prediction
quality — measured against the rules and metrics the Coordinator defines. Crunchers compete
independently, and the best-performing models rise to the top of the leaderboard.

### Coordinators

Domain-expert teams who design and operate Crunches. As a Coordinator, you:

* Run an **on-chain Coordinator account** registered with the protocol
* Operate a **Crunch Node** that manages data, triggers inference, scores predictions, and
  generates leaderboards
* Distribute **rewards** via smart-contract checkpoints based on model performance

<Frame caption="How a Crunch flows from data to rewards">
  <img src="https://mintcdn.com/crunch/SXUNMLddud6Hexuk/images/coordination-flow.png?fit=max&auto=format&n=SXUNMLddud6Hexuk&q=85&s=b64a500802d123adf51de6cb03620e08" alt="Diagram showing the Crunch workflow: Coordinator provides data, models predict, scores are computed, and rewards are distributed on-chain" width="1255" height="706" data-path="images/coordination-flow.png" />
</Frame>

## Emissions

The protocol supports two reward mechanisms:

* **USDC payouts** — funded by the Coordinator's escrowed prize pool
* **CRNCH token emissions** — protocol-level token rewards

In both cases, the Coordinator triggers **checkpoints** that distribute rewards on-chain.
Participants then claim their earnings through the [Tournament Hub](https://hub.crunchdao.com/).

<Frame caption="Emission flow from checkpoint to claim">
  <img src="https://mintcdn.com/crunch/ocngbJ_ZOKsBnxpu/images/getting-started/emissions.png?fit=max&auto=format&n=ocngbJ_ZOKsBnxpu&q=85&s=072bbb4306066d6f8f4bffb3a6ffed04" alt="Diagram showing how checkpoints trigger on-chain reward distribution and how participants claim their rewards" width="1920" height="1080" data-path="images/getting-started/emissions.png" />
</Frame>

## What's next

The following pages explain each component of the protocol in detail:

<CardGroup cols={2}>
  <Card title="Crunch Nodes" icon="server" href="/core-concepts/crunch-nodes">
    The services you build and host to run your competition.
  </Card>

  <Card title="Model Nodes" icon="cube" href="/core-concepts/model-nodes">
    The managed infrastructure that executes participant models.
  </Card>
</CardGroup>
