Skip to content

Bounties vs. Incentives

The Signals protocol offers two distinct reward mechanisms: Bounties (initiative-specific, externally funded) and Incentives (board-wide, DAO-funded). Understanding the difference is crucial for both board creators and participants.

Quick Comparison

AspectBountiesIncentives
ScopePer-initiativeBoard-wide
Who fundsAnyone (external contributors)DAO/Board owner
When addedAnytime before acceptanceBefore board opens
Token typesMultiple ERC20s (whitelisted)Single ERC20 (reward token)
DistributionOn initiative acceptance (when wired)On initiative acceptance
Reward basisProportional to lock amountTime-weighted (early supporters favored)
ConfigurationPer-bounty expirationBoard-level pool
ClaimingManual (when implemented)Auto-claimed on redemption
ContractBounties.solIncentivesPool.sol

Bounties: Initiative-Specific External Rewards

Bounties are externally funded rewards attached to specific initiatives, allowing anyone to incentivize particular proposals. The current Signals protocol does not yet invoke the Bounties contract on acceptance or expiration.

Key Characteristics

1. Initiative-Specific
  • Each bounty is attached to exactly one initiative
  • Contributors choose which initiatives to fund
  • Multiple bounties can be added to the same initiative
  • Bounties stay with the initiative regardless of outcome
2. Externally Funded
  • Anyone can add a bounty (not just board owner)
  • Contributors provide their own ERC20 tokens
  • No central pool - distributed funding model
  • Tokens transferred immediately when bounty added
3. Multi-Token Support
  • Support for any whitelisted ERC20 token
  • TokenRegistry manages whitelist
  • Can mix USDC, DAI, custom tokens, etc.
  • Each token distributed separately
4. Configurable Splits
  • Three-way distribution on acceptance:
    • Protocol fee (e.g., 5%)
    • Supporter rewards (e.g., 20%)
    • Treasury allocation (e.g., 75%)
  • Splits configurable by bounties owner
  • Versioned to prevent retroactive changes
5. Proportional Distribution
  • Supporter share based on locked amount
  • Formula: supporterShare = (lockedAmount / totalLocked) * voterAmount
  • All supporters treated equally regardless of timing
  • No time-weighting applied

How Bounties Work

Adding a Bounty

Contributors approve the bounty token and call addBounty with the initiative ID, token, amount, optional expiration, and terms.

Distribution on Acceptance

When the initiative is accepted, Signals triggers distribution; the Bounties contract applies the configured splits and allocates supporter shares proportionally to locked amount.

Bounties Use Cases

Perfect for:
  • 🎯 Specific feature requests - Fund implementation of particular features
  • 💰 External sponsorships - Companies funding relevant proposals
  • 🏆 Competition prizes - Reward best proposals in a category
  • 🤝 Community contributions - Anyone can boost proposals they care about
  • 📊 Focused incentivization - Target specific outcomes

Incentives: Board-Wide Time-Weighted Rewards

Incentives are DAO-funded reward pools that incentivize early support across all initiatives on a board, with time-weighted distribution favoring early participants.

Key Characteristics

1. Board-Wide Pool
  • Single pool for entire board (not per-initiative)
  • Funds all accepted initiatives from one source
  • Pre-funded before board opens
  • Maximum reward per initiative configured
2. DAO-Funded
  • Board owner/DAO provides funding
  • Centralized reward pool
  • Controlled distribution via IncentivesPool contract
  • Budget set at board creation time
3. Single Reward Token
  • One ERC20 token for all rewards
  • Typically DAO governance token
  • Consistent reward denomination
  • Simplified accounting
4. Time-Weighted Distribution
  • Early supporters get MORE rewards
  • Based on lock creation time relative to board opening
  • Uses linear decay curve from board open to acceptance
  • Incentivizes early signaling
5. Automatic Claiming
  • Rewards auto-claimed on redemption
  • No separate claim transaction needed
  • Calculated when initiative accepted
  • Gas-efficient for supporters

How Incentives Work

Time-Weighted Calculation

Incentives use time buckets derived from opensAt and the incentives curve parameters. Earlier buckets receive higher multipliers, so early supporters earn more.

Earlier locks receive a higher weight share because t is smaller closer to board open.

Distribution on Acceptance

On acceptance, rewards are calculated and become claimable; redemption auto-claims incentives.

Incentives Use Cases

Perfect for:
  • Early signaling incentives - Reward those who identify good proposals first
  • Board-wide participation - Encourage activity across all initiatives
  • First-mover advantage - Create urgency to support early
  • Quality discovery - Reward scouts who find good proposals
  • Momentum building - Kickstart initiative support with rewards

Reward Calculation

Bounties: supporterReward = (supporterLocked / totalLocked) * voterPoolAmount
Incentives: supporterReward = (supporterWeight / totalWeight) * poolAllocation, where weights are derived from time buckets and curve parameters

Token Management

Bounties:
  • Multiple token types (USDC, DAI, custom tokens)
  • Whitelisting via TokenRegistry
  • Each contributor chooses token
  • Complex tracking (mixed denominations)
  • Separate claims per token
Incentives:
  • Single reward token (typically DAO token)
  • Simple accounting
  • Auto-claimed on redemption
  • Gas efficient
  • No token flexibility

Distribution Control

Bounties: split allocations and receivers are configurable and versioned by the Bounties owner.
Incentives: configuration is provided when linking the pool before board open and cannot be changed afterward.

Timing Constraints

Bounties:
  • Add anytime before acceptance
  • Optional expiration per bounty
  • Expired bounties excluded from distribution
  • Flexible contribution timing
Incentives:
  • Must set up BEFORE board opens
  • Pool must be linked before opening; pool funding can happen anytime
  • Board budgets are fixed at approval time
  • Requires upfront commitment

Claiming Process

Bounties: balances are tracked, but claim/withdrawal is not implemented yet.
Incentives: auto-claimed on redemption after acceptance/timelock.


Can You Use Both?

Yes. Incentives are board-wide and bounties are initiative-specific. Supporters receive incentives on redemption, and bounty balances (when distribution/claims are wired) separately.


For detailed technical implementation including function signatures, data structures, formulas, and code examples, see: