Appearance
Proportional Campaigns
A proportional campaign distributes a fixed amount of reward tokens among all participants by their share of total stake. The campaign owner pre-pays the entire reward upfront, and each participant's share changes depending on how many others join. More participants means each earns less, but the owner's cost never changes.
Proportional campaigns are ideal for validators with a fixed marketing budget who want to attract participants.
How it works
Instead of setting a rate, the owner sets a total reward and a duration. The campaign converts this into a constant emission:
emission = total reward / duration
For a 10,000 USDC reward over 30 days, that's ~333 USDC/day. Those 333 USDC/day aren't per unit of stake. They're the whole reward's daily drip, split across all participants by share. Twice the participants means half the share each. The owner's cost remains unchanged.
Funding model
The owner pre-pays the entire reward up front by transferring the full amount (plus any protocol fee) into the vault. From then on:
- The cost is capped and known. It can never exceed the reward.
- What changes is each participant's share: more stake joining dilutes the per-unit reward.
- No top-ups needed on growth. Where a fixed campaign owner must top up when stake increases, here growth just reduces each share.
Early-mover advantage
The reward favors being early, because early shares are bigger. Consider two participants, each staking 1,000 SOL to a campaign that distributes 333 USDC/day with total stake growing from 10,000 to 30,000:
| Participant | Stakes | Share over time | Earns |
|---|---|---|---|
| Alice | From day 0, the whole month | 10% then 5% then 3.3% | ~500 USDC |
| Bob | Only from day 15 | 3.3% | ~167 USDC |
Same stake, same token. Alice earns 3x Bob, purely for backing the validator before more participants joined in.
Extending the campaign
Like fixed campaigns, a proportional campaign can be extended. The difference is in how funding works:
- Fixed: the owner tops up the vault before extending, and the campaign re-reserves from the vault.
- Proportional: the new reward is pulled directly from the owner's account. No separate top-up step.
Example: sharing a 10,000 USDC reward
A validator, Acme, wants to attract participants by distributing a fixed marketing budget of 10,000 USDC over a month, split among everyone backing it by share.
Roles
- The Owner (Acme): creates and pre-funds the reward, extends the campaign with a fresh reward.
- The Delegate: reports each participant's SOL backing the Owner.
- Participants: earn a share of the reward and claim rewards whenever they like.
Flow
Step by step
Day 0: The Owner pre-funds the whole reward. The Owner creates a campaign: proportional mode, 30-day period, curve that distributes 10,000 USDC over it. At the same time, the Owner transfers the full 10,000 USDC into the vault. The reward is committed up front.
Days 0-15: Participants arrive, the share shrinks. The delegate reports 10,000 stake and each 1,000 earns ~33.3 USDC/day. Stake increases to 20,000 then 30,000, and the same 333 USDC/day splits more ways: the per-1,000 rate falls to ~16.7 then ~11.1 USDC/day. The Owner sends nothing more.
Days 5-28: Participants earn and claim. Rewards accrue continuously by share. Participants claim their accrued USDC whenever they like. Exits simply stop earning a share. Undistributed reward stays in the vault.
Day 28: The Owner extends the campaign with a fresh reward. The extend pulls another 10,000 USDC from the Owner's account. Participants keep earning across the day-30 boundary without any action.
Day 60: Wind down. The Owner lets the period lapse. Participants claim their final USDC. The Owner pulls back any undistributed reward (the portion that was distributed while no one was backing the validator). Then the Owner recovers the rent.
Reclaim timing
For proportional campaigns, unused balance is only allowed to be reclaimed after the campaign ends. Before that, the reward is committed to current participants. This is different from fixed campaigns, where reclaim is available anytime.