Incentive Programs
Understanding program structure, lifecycle, and configuration
A program is a container for everything: the goal you're funding, the rules for participation, the money at stake, and the timeline it all happens on.
Think of it as a grant round, hackathon, or bounty board - but with built-in voting, automatic settlement, and transparent payouts.
How a Program Flows
Every program moves through a predictable sequence:

- Draft → You're configuring settings, not visible to anyone yet
- Upcoming → Published and visible, waiting for start date
- Accepting Submissions → Contributors submit their work
- Voting → Community stakes tokens to evaluate submissions
- Ended → Voting closed, settlement being calculated
- Settled → Results finalized, payouts queued for multisig approval
One-Time or Recurring?
Programs can run once or repeat across multiple cycles.
Single cycle - One round of submissions, one round of voting, done. Use this for hackathons, one-off grants, or time-bounded initiatives.
Multiple cycles - The same program repeats on a schedule. Each cycle has its own submissions, votes, and payouts. You set pool amounts per cycle, so the total you need to fund is per-cycle × cycles. Use this for ongoing bounty programs, recurring community funding, or continuous contribution rewards.
Example: 10,000 tokens per cycle × 4 cycles = 40,000 tokens total to fund. Each cycle is independent - winning cycle 1 doesn't affect cycle 2.
The Key Settings
When you create a program, you're answering a few core questions:
What and When?
- Title & Description - What you're funding and what you're looking for
- Start Date - When submissions open
- Submission Period - How long contributors have to submit (e.g., 14 days)
- Voting Period - How long voters have to evaluate (e.g., 7 days)
- Cycles - How many times this repeats (1 for one-off, more for recurring)
The Money
- Award Pool - Total tokens for winning submissions
- Voting Pool - Total tokens for rewarding correct voters
- Slash Percentage - How much incorrect voters lose (typically 5-15%)
Award and voting tokens can be the same or different - you might pay winners in your project token but reward voters in stablecoins, or the other way around.
How Winners Get Paid
Different programs need different payout models:
| Type | How It Works | Use When |
|---|---|---|
| Fixed | Every winner gets the same amount | "Top 5 each get 1,000 USDC" |
| Split Equal | Pool divided equally among all winners | Unknown winner count upfront |
| Split Proportional | Higher-voted submissions get more | Reward popular submissions proportionally |
| Milestone | Contributors propose deliverables with budgets | Project-based funding over time |
How Winners Are Chosen
Top X - The X highest net-voted submissions win (as long as they have positive votes). Use this when you have limited slots: "fund the top 5 projects."
Quorum - Any submission where FOR votes exceed a threshold wins. Use this when you want to fund everything that's good enough: "anything with 60% approval wins."
Vote Visibility
You control what voters can see during voting:
- Hidden - Votes aren't visible until voting ends (prevents bandwagoning)
- Public - Full transparency, everyone sees everything
- Anonymous - See totals but not who voted what
Where the Money Lives
Every program gets its own multisig wallet. This is where the award pool and voting pool sit until settlement.
- EVM chains use Safe Protocol
- Solana uses Squads Protocol
You configure who the signers are and how many signatures are needed to approve payouts. When settlement happens, transactions get queued to the multisig - signers then approve them through the Safe or Squads interface.
Always double-check the multisig address before sending funds. Make sure you're funding enough to cover both pools across all cycles.
Optional Limits
For milestone based programs, you can cap how much funding any single application can request. This is useful when you want many smaller grants rather than a few large ones.
Putting It All Together
Here's what a typical grant program looks like:
"Web3 Developer Grants - Q1"
- 2 cycles, 14-day submission periods, 7-day voting periods
- 50,000 USDC award pool per cycle (100,000 total to fund)
- 5,000 USDC voting pool per cycle (10,000 total to fund)
- 5% slash rate
- Top 10 winners per cycle
- Public vote visibility
- 2-of-3 multisig for payouts
The program runs twice, each cycle independently selecting winners and distributing rewards.
The Big Picture
- A program is a self-contained funding round with rules, pools, and timeline
- Cycles let you repeat the same program on a schedule
- Two pools: awards for winners, voting rewards for evaluators
- Multisig wallets hold the funds until payouts are approved
- Everything settles automatically - no spreadsheets required
Next: Tokens & Rewards - the economics of pools and payouts