reward
reward
: Solana program for distributing SPL tokens to veToken holders over time.
About
The Reward program allows veToken holders to claim rewards proportional to their share of a Tribeca locker DAO periodically. For example, if there are 10M veCOW in circulation, someone with 1M veCOW can get 10% of the rewards for a period.
The Reward program is built on Saber's snapshots program, which allows for tracking of vote escrow balances over time.
Example: Revenue Sharing
This program was initially built with Saber fee distribution in mind.
Every snapshot period (3 days), Saber liquidity provider fees may be distributed to all veToken stakers which have opted in to rewards. As new users join the DAO, the fees are distributed to more addresses. As lockups expire, the total veSBR supply decreases, causing fees to be distributed to newer stakers unless expiring lockups get refreshed.
Example: "veDrop" distribution
A veDrop allows tokens to be distributed to users staking veTokens. This both creates demand for the token being staked and prevents the "veDropped" token from being distributed all at once.
Tradeoffs
This program creates two large accounts:
-
Reward
, which stores all tokens to distribute. -
Claim
, which stores what tokens have been claimed and by whom.
The program is heavily optimized towards fewer tokens being distributed relatively frequently. It is not intended for one-time airdrops.
Address
The Reward program is deployed to the same address on devnet, testnet, and mainnet-beta.
Contribution
Thank you for your interest in contributing to the Reward program! All contributions are welcome no matter how big or small. This includes (but is not limited to) filing issues, adding documentation, fixing bugs, creating examples, and implementing features.
When contributing, please make sure your code adheres to some basic coding guidelines:
- Code must be formatted with the configured formatters (e.g.
rustfmt
andprettier
). - Comment lines should be no longer than 80 characters and written with proper grammar and punctuation.
License
The [reward
] program is licensed under the Affero General Public License version 3.