Проектування механізму стимулювання холдерів
"Додамо staking з високим APY" — це не механізм стимулювання холдерів, це механізм створення sell pressure з затримкою. Якщо APY фінансується з емісії нового токена, а не з реального доходу протоколу, кожен staker в итогі продає rewards, тому що інакше його доля розривається. Це Ponzi-схема з красивим інтерфейсом. Реальний механізм стимулювання повинен відповідати на запитання: чому тримати токен вигідніше, ніж продати?
Джерела реальної ценности для холдерів
Перед проектуванням механізму визначте джерело value — що саме протокол виробляє, що можна розподіляти:
Protocol revenue — комісії від торгівлі (DEX), процентна різниця (lending), trading fees (perpetuals). GMX розподіляє 30% комісій в ETH/AVAX стейкерам — це реальний yield, не емісія.
Buy-and-burn — протокол використовує частину доходу для выкупу токена с ринку і його спалювання. Дефляційне тиск без прямих виплат. MakerDAO спалює MKR из surplus. Мінус: немає immediate cash flow для холдерів.
Fee discount — тримачі токена платять менший fee при використанні протоколу. Binance BNB: знижка на торговельні комісії. Стимулює тримати токен тим, хто активно використовує протокол.
Governance value — право голосувати за параметри протоколу, куди йдуть treasury середствава, які пули отримують emissions. Працює коли протокол достатньо великий що вплив на параметри має реальну вартість (curve wars, veCRV).
ve-Token механізм (vote-escrow)
Curve Finance винаходила механізм, який став стандартом для серйозних DeFi протоколів:
Користувач локує CRV на строк до 4 років → отримує veCRV (non-transferable, non-tradable). Вес голоса пропорційний кількості і довжині локу. Переваги veCRV: повишені rewards у pools (до 2.5x буст), право голосувати за gauge weights (куди йде CRV emission).
Чому це працює: лок створює дефіцит обращаемого supply. Протоколи хочуть отримати emission у свої пули → вынуждени купувати CRV і локувати його → давлення покупки на токен. "Curve wars" — це наслідок: Convex, Yearn, Frax агресивно накопичують veCRV.
Реалізація ve-mechanic:
contract VotingEscrow {
struct LockedBalance {
int128 amount;
uint256 end; // час закінчення локу
}
mapping(address => LockedBalance) public locked;
uint256 public constant MAXTIME = 4 * 365 * 86400; // 4 роки
function createLock(uint256 value, uint256 unlockTime) external {
require(unlockTime > block.timestamp, "Can only lock until future time");
require(unlockTime <= block.timestamp + MAXTIME, "Voting lock can be 4 years max");
require(locked[msg.sender].amount == 0, "Withdraw old tokens first");
token.transferFrom(msg.sender, address(this), value);
locked[msg.sender] = LockedBalance({
amount: int128(int256(value)),
end: (unlockTime / WEEK) * WEEK // округляємо до тижня
});
emit Deposit(msg.sender, value, unlockTime);
}
// Вес голоса убывает лінійно з часом
function balanceOf(address addr) public view returns (uint256) {
LockedBalance memory _locked = locked[addr];
if (_locked.end <= block.timestamp) return 0;
uint256 timeLeft = _locked.end - block.timestamp;
return uint256(int256(_locked.amount)) * timeLeft / MAXTIME;
}
}
Недостатки ve: капітал заблокований навічно (немає liquid позиції), складно для нових користувачів, крупні тримачі мають непропорційний контроль.
Liquid staking поверх ve — Convex Finance вирішила проблему illiquidity: депонуй CRV в Convex → отримуй cvxCRV (liquid, tradable) + частину доходності Convex. Це дало massive adoption. Для нового протоколу: якщо планується ve-механізм, одночасно проектувати liquid wrapper.
Staking з реальним yield: Правильна реалізація
Якщо staking фінансується з реального доходу протоколу:
contract RevenueStaking {
IERC20 public immutable stakingToken;
IERC20 public immutable rewardToken; // USDC або ETH-wrapped
uint256 public rewardPerTokenStored;
uint256 public totalStaked;
mapping(address => uint256) public stakedBalance;
mapping(address => uint256) public rewardPerTokenPaid;
mapping(address => uint256) public rewards;
// Notifier додає реальний дохід в контракт
function notifyRewardAmount(uint256 reward) external onlyRewardDistributor {
rewardToken.transferFrom(msg.sender, address(this), reward);
if (totalStaked > 0) {
rewardPerTokenStored += reward * 1e18 / totalStaked;
}
emit RewardAdded(reward);
}
function earned(address account) public view returns (uint256) {
return stakedBalance[account]
* (rewardPerTokenStored - rewardPerTokenPaid[account])
/ 1e18
+ rewards[account];
}
function getReward() external updateReward(msg.sender) {
uint256 reward = rewards[msg.sender];
if (reward > 0) {
rewards[msg.sender] = 0;
rewardToken.transfer(msg.sender, reward);
emit RewardPaid(msg.sender, reward);
}
}
}
Ключовий момент: rewardToken — це ETH, USDC, USDT або інший актив з зовнішною вартістю, не протокольний токен. Інакше це emission staking.
Tier-based loyalty система
Для протоколів де важливо утримати активних користувачів:
Tier Bronze: тримай > 1,000 TOKEN → 10% fee discount
Tier Silver: тримай > 10,000 TOKEN → 25% fee discount + early access
Tier Gold: тримай > 100,000 TOKEN → 50% fee discount + priority support
Tier Diamond: тримай > 1,000,000 TOKEN → whitelist для нових продуктів
Реалізація через balanceOf snapshot або середній баланс за N днів (захист від спекулятивного набору перед snapshotом).
NFT + Token bundling
Паттерн, популярний у gaming та premium продуктах: NFT дають права, токени — економіку.
- Тримай Genesis NFT + мінімальний баланс токена → повишений APY у farming
- NFT еволюціонує (візуально upgrade) на основі накопленого токена
- NFT staking: залочи NFT → отримуй token emissions (реверс — токени потрібні для стейкинга)
Це створює demand на токен з NFT-економіки і навпаки.
Referral та retention механіки
Locked rewards — частина earned rewards вестируется. Compound: 50% rewards клеймятся одразу, 50% — vест 1 рік. Зменшує immediate sell pressure, але викликає недовільність якщо курс падає.
Loyalty multiplier — чим дольше тримаш без продажи, тим вищий yield multiplier. Реалізується через snapshot balance history або staking duration tracking.
Що НЕ працює
Emission APY 1000%+ — привлекает только фармерів, які одразу продають rewards. TVL висока, але holder база слабка. Після зниження APY — exodus.
Buyback без burn або distribution — накопичувати токени в kaznu без ясного використання не створює стимул тримати.
Airdrop без vesting — отримувачі одразу продають. Якщо ціль утримати холдерів — airdrop повинен бути vested або tied до staking.
Governance без реальної влади — токен с "governance" де голосування носять рекомендательний характер, а команда робить що хочемо, не має governance premium.







