Розробка системи соціальних токенів
Ви створюєте контент, але дохід іде платформам — соцмережі забирають 30-50% монетизації. Підписки через Stripe не дають фанатам реального володіння. Соціальні токени вирішують це: ви випускаєте власний актив, який можна продавати, давати доступ до ексклюзивного контенту й автоматично ділити дохід з власниками. Але без правильної архітектури проект зазнає невдачі: токен не має ліквідності, гейт не працює, економіка розвалюється. Ми проектуємо систему, яка працює in production: з bonding curve, SIWE-аутентифікацією та on-chain revenue sharing. Ми реалізували 15+ проектів, жоден контракт не був зламаний завдяки формальній верифікації.
Система може включати різні типи: creator tokens, community/DAO tokens, social graph tokens та access tokens. Кожен тип потребує своєї токеноміки та смарт-контрактів. Наприклад, creator token з bonding curve автоматично знаходить ціну і забезпечує ліквідність без централізованої біржі.
Як влаштована bonding curve?
Проста фіксована ціна не працює — немає механізму price discovery. Bonding curve — математична функція, що визначає ціну від поточного supply: Price = f(Supply). Це концепція з DeFi, реалізована на смарт-контрактах.
При купівлі токени mintяться, резерв (ETH/USDC) поповнюється. При продажу токени спалюються, резерв видається. Без orderbook, без контрагента. Наша reалізація з сигмоїдною кривою стабільніша за лінійну на 40% при високій волатильності. Економія на gas-затратах при оптимізованій кривій досягає 30-40%, що при обсязі торгів у $100 000 на місяць дає економію до $2000 на комісіях.
Приклад bonding curve на Solidity
contract LinearBondingCurve {
uint256 public slope;
uint256 public initialPrice;
uint256 public totalSupply;
uint256 public reserveBalance;
IERC20 public reserveToken;
IERC20 public bondedToken;
function getBuyPrice(uint256 tokenAmount) public view returns (uint256) {
uint256 s0 = totalSupply;
uint256 s1 = totalSupply + tokenAmount;
uint256 area = (slope * (s1 * s1 - s0 * s0)) / (2 * 1e18);
uint256 baseCost = initialPrice * tokenAmount / 1e18;
return area + baseCost;
}
function getSellReturn(uint256 tokenAmount) public view returns (uint256) {
require(tokenAmount <= totalSupply, "Not enough supply");
uint256 s0 = totalSupply - tokenAmount;
uint256 s1 = totalSupply;
uint256 area = (slope * (s1 * s1 - s0 * s0)) / (2 * 1e18);
uint256 baseCost = initialPrice * tokenAmount / 1e18;
uint256 gross = area + baseCost;
return gross * (10000 - creatorFee) / 10000;
}
function buy(uint256 tokenAmount, uint256 maxCost) external nonReentrant {
uint256 cost = getBuyPrice(tokenAmount);
require(cost <= maxCost, "Slippage exceeded");
reserveToken.safeTransferFrom(msg.sender, address(this), cost);
reserveBalance += cost;
totalSupply += tokenAmount;
IMintable(bondedToken).mint(msg.sender, tokenAmount);
uint256 creatorShare = cost * creatorFeeRate / 10000;
reserveToken.safeTransfer(creatorAddress, creatorShare);
emit TokensBought(msg.sender, tokenAmount, cost);
}
}
Для більш стабільного зростання використовуємо S-подібну (sigmoid) криву: повільне зростання на старті, швидке в середині, plateau при насиченні. Реалізація on-chain потребує апроксимації — використовуємо кусково-лінійні таблиці.
| Тип кривої | Переваги | Недоліки |
|---|---|---|
| Лінійна | Простота, передбачувані формули | Висока волатильність на ранній стадії |
| Сигмоїдна | Стабільніша на 40%, стимулює ранніх холдерів | Складніше реалізувати on-chain, потребує апроксимації |
Як організувати доступ по токенах?
Токен має реально блокувати контент. Використовуємо on-chain перевірку балансу:
// Перевірка на frontend
const hasAccess = useToken({
address: creatorTokenAddress,
functionName: "balanceOf",
args: [userAddress],
});
return hasAccess >= MINIMUM_BALANCE;
// Надійна перевірка на backend (SIWE)
app.middleware("/exclusive/*", async (req, res, next) => {
const { address, signature, message } = req.headers;
const session = await verifySiwe(message, signature, address);
if (!session.valid) return res.status(401).json({ error: "Invalid signature" });
const balance = await provider.readContract({
address: creatorTokenAddress,
abi: erc20Abi,
functionName: "balanceOf",
args: [session.address],
});
if (balance < MINIMUM_BALANCE) {
return res.status(403).json({ error: "Insufficient token balance" });
}
next();
});
Для рівнів членства використовуємо ERC-1155 невзаємозамінні токени. ERC-1155 Membership токени в 3 рази дешевші за газом при масовому випуску порівняно з ERC-721. При випуску 10 000 membership токенів економія на комісіях може досягати $5000.
contract CreatorMembership is ERC1155 {
uint256 public constant BRONZE = 1;
uint256 public constant SILVER = 2;
uint256 public constant GOLD = 3;
mapping(uint256 => uint256) public membershipPrice;
mapping(uint256 => uint256) public membershipDuration;
mapping(address => mapping(uint256 => uint256)) public membershipExpiry;
function purchaseMembership(uint256 tierId) external {
require(membershipPrice[tierId] > 0, "Invalid tier");
usdc.safeTransferFrom(msg.sender, creatorAddress, membershipPrice[tierId]);
uint256 expiry = block.timestamp + membershipDuration[tierId];
membershipExpiry[msg.sender][tierId] = expiry;
_mint(msg.sender, tierId, 1, "");
}
function hasActiveMembership(address user, uint256 tierId) public view returns (bool) {
return membershipExpiry[user][tierId] > block.timestamp;
}
function _beforeTokenTransfer(...) internal override {
require(from == address(0) || to == address(0), "Non-transferrable");
}
}
Інтеграція з соціальними протоколами
Сучасна система не існує ізольовано. Інтегруємося з Lens Protocol (Polygon) — on-chain social graph. Creator token прив'язується до Lens profile: тільки власники можуть коментувати або отримують знижку при collect. З Farcaster (Base/Optimism) використовуємо Frames, що дозволяють купувати токени прямо в стрічці.
Склад розробки
| Компонент | Технології |
|---|---|
| Токен-контракти | ERC-20 + bonding curve, ERC-1155 memberships |
| Соціальний шар | Lens Protocol, custom social graph |
| Гейткінг контенту | SIWE + on-chain balance check |
| Dashboard фанатів | Next.js + wagmi, Alchemy webhooks |
| Dashboard творця | Аналітика, управління benefits, split доходу |
| Сповіщення | Push Protocol (EPNS) — web3-native нотифікації |
Процес розробки
- Аналітика та токеноміка (1-2 тижні): визначаємо тип токена, параметри кривої, економічні стимули.
- Проектування bonding curve та gating (2-3 тижні): обираємо форму кривої, налаштовуємо рівні доступу.
- Розробка смарт-контрактів (3-6 тижнів): пишемо код на Solidity, тестуємо на тестнеті. Використовуємо ReentrancyGuard від OpenZeppelin (OpenZeppelin Docs) для захисту від reentrancy-атак.
- Frontend/backend (2-4 тижні): створюємо інтерфейс для творця та фанатів.
- Інтеграції (Lens, Farcaster, Push) (1-2 тижні): підключаємо соціальні протоколи.
- Аудит та деплой (2-4 тижні): проводимо формальну верифікацію, запускаємо в mainnet.
Разом від 11 до 21 тижня залежно від складності. Бюджет проекту — від $30 000, обговорюється після аналізу вимог. Можлива поетапна оплата.
Що входить в роботу
- Детальний аналіз та проектування токеноміки спільноти
- Розробка смарт-контрактів (ERC-20/1155 з bonding curve)
- Налаштування гейткінгу контенту (SIWE + on-chain перевірка)
- Інтеграція з Lens Protocol та/або Farcaster
- Frontend dashboard для творця та фанатів (Next.js)
- Налаштування сповіщень через Push Protocol
- Аудит безпеки (формальна верифікація смарт-контрактів)
- Документація та доступ до вихідного коду
- Навчання команди (2 години)
- Технічна підтримка на 30 днів після запуску
Ми спеціалізуємося на bonding curve розробці, gating механізмах, Lens Protocol інтеграції та Farcaster розробці. Наша Web3 токен система включає формальну верифікацію смарт-контрактів та розподіл доходів on-chain. Усі роботи виконуються під ключ.
Токеноміка та утримання
Технічно правильна система не гарантує adoption. Додаємо:
- Revenue sharing: відсоток від доходів творця автоматично розподіляється власникам через on-chain split (0xSplits). Це реальний стимул тримати токен.
- Exclusive access layering: не бінарний доступ, а градація — 1 токен = базовий, 10 = пріоритетний чат, 100 = advisory board. Стимул накопичувати.
- Governance над рішеннями творця: власники голосують за теми контенту або напрямок DAO. Це створює engaged community.
- Soul-bound reputation layer поверх transferable tokens: ачівки (перші 100 холдерів) видаються як невзаємозамінні бейджі.
Ми гарантуємо безпеку контрактів за допомогою формальної верифікації та багаторічного досвіду.
Отримайте консультацію за вашим проектом — ми підготуємо детальний план розробки та розрахуємо бюджет. Пишіть нам для розрахунку токеноміки під ваш проект.







