Skip to main content
This guide will walk you through creating a Crunch and managing its entire lifecycle. For a complete list of crunch-coordinator commands, see this page.

Start Your First Competition

Once approved, you can start creating competitions.
# Verify you're approved
crunch-coordinator get $(solana-keygen pubkey ~/.config/solana/coordinator-keypair.json)

# Create your first competition with
# Name: "My First Competition"
# USDC Prize pool: 1000
# Max Models Per Participant: 1
crunch-coordinator crunch create "My First Competition" 1000 1

Competition Structure

We will now go over a complete lifecycle of a Crunch from creation to closure. Understanding this lifecycle is crucial for Coordinators to manage Crunches and Participants correctly.
The Coordinator CLI tool is used to manage the Crunch lifecycle. You can find the CLI tool here.
1

Funding Phase

After creation, Coordinator deposits money into the competition wallet. Money gets locked during competition lifetime and will be used for competitor payouts and Crunch Protocol fees.
2

Activation & Registration Phase

Competition becomes active and begins accepting participants. Users can register for the competition, sign up, accept the terms and conditions, and receive access to the datasets. Once registered, participants can submit models to run in the competition.
3

Competition Phase

In this phase models compete, get scored and rewarded. How this is done is up to how the Crunch is designed. The most common ways are:
  • Live Data: The models are continuously evaluated against the live data stream and payouts happen at specific intervals, eg: once a week.
  • Batch/Holdout Data: The models are evaluated against a holdout data set at the end of the competition and payouts happen once the competition is over. Input data for models, scoring, and leaderboard generation are all at the coordinator’s discretion.
The below steps are mostly done, in many iterations, by the Crunchers participating in the Crunch. We will mark these steps with the icon.Scoring and Payout are done by the Coordinator.

Development

Crunchers build and refine their models.

Submission

Models are submitted for evaluation.

Evaluation

Models are tested against live or holdout data. For live data the models are continuously evaluated against the live data stream.
4

Scoring

Performance metrics are calculated, rankings and rewards are determined.
5

Payout Phase(s)

Depending on the Crunch design, payouts can happen at specific intervals, eg: once a week or at the end of the competition.Prizes are distributed by the Coordinator running Checkpoints. Checkpoints trigger the Crunch Smart Contracts and once processed, prizes become available for participants to claim on the website.
4

Completion Phase

The Crunch is closed. This ends the competition but keeps the claim functionality open for a period of time.
5

Settlement Phase

Competition costs are paid out to the Foundation and fees are processed.
6

Closure Phase

Competition is completely closed after waiting for a finite period. Once closed, all unclaimed prizes can no longer be claimed.
7

Withdrawal Phase

Coordinator can withdraw any remaining money from the competition wallet.
This gives a theoretical overview of how a Crunch is administered. In the next section we will have a more practical example.

Crunch Implementation Example

The next section will give a practical example of how to implement a Crunch. It comes with a complete implementation of a Coordinator node.