Розробка платформи creator-токенів
Creator-токени — це токени, видані конкретною людиною (стримером, музикантом, спортсменом, блогером), які дають холдерам доступ до екслюзивного контенту, можливість участі в голосуваннях, отримання частки доходів або просто вираження належності до спільноти. Friend.tech довів цю ідею до $100M+ обсягу торгів за кілька тижнів у 2023 році та породив хвилю клонів. Rally, Roll, Bitclout/DeSo пробували до нього.
Технічно платформа creator-токенів цікавіше ніж здається. Головне питання не «як запустити ERC-20» — це тривіально. Питання в тому, як устроїти економіку, яка створює цінність і для творця, і для холдерів, а не просто pump-and-dump інструмент.
Bonding Curve: економічний механізм
Friend.tech використовує bonding curve — автоматичний маркет-мейкер, де ціна токена (у Friend.tech — «shares») детермінування визначається поточним supply. Немає order book, немає LP, немає зовнішної ліквідності.
Найпростіша лінійна крива: price = k * supply. При покупці supply зростає → ціна зростає. При продажі — навпаки. Friend.tech використовував квадратичну формулу: price = supply² / divisor.
contract CreatorTokenBondingCurve {
uint256 public constant DIVISOR = 16000; // параметр кривої
// Friend.tech формула: ціна для N-го токена
function getPrice(uint256 supply, uint256 amount) public pure returns (uint256) {
uint256 sum1 = supply == 0 ? 0 : (supply - 1) * supply * (2 * (supply - 1) + 1) / 6;
uint256 sum2 = (supply + amount - 1) * (supply + amount) * (2 * (supply + amount - 1) + 1) / 6;
uint256 summation = sum2 - sum1;
return summation * 1 ether / DIVISOR;
}
function getBuyPrice(address creator, uint256 amount) public view returns (uint256) {
return getPrice(sharesSupply[creator], amount);
}
function getSellPrice(address creator, uint256 amount) public view returns (uint256) {
return getPrice(sharesSupply[creator] - amount, amount);
}
}
Спред між buy та sell. Через монотонно зростаючу криву buy завжди дорожче sell при тому ж supply. Це вбудований спред — основний захист від миттєвого arbitrage. При покупці 1 токена при supply=100 та миттєвій продажі: користувач отримує назад менше ніж заплатив (на величину спреду).
Протокольна та creator комісія. Friend.tech брав 10% з кожної транзакції: 5% у протокол, 5% творцю. Це пасивний дохід для творців з кожної покупки/продажі їхнього токена.
uint256 constant PROTOCOL_FEE_PERCENT = 5; // 5%
uint256 constant CREATOR_FEE_PERCENT = 5; // 5%
function buyShares(address creator, uint256 amount) external payable {
uint256 supply = sharesSupply[creator];
require(supply > 0 || creator == msg.sender, "Only creator can buy first share");
uint256 price = getPrice(supply, amount);
uint256 protocolFee = price * PROTOCOL_FEE_PERCENT / 100;
uint256 creatorFee = price * CREATOR_FEE_PERCENT / 100;
require(msg.value >= price + protocolFee + creatorFee, "Insufficient payment");
sharesBalance[creator][msg.sender] += amount;
sharesSupply[creator] = supply + amount;
emit Trade(msg.sender, creator, true, amount, price, protocolFee, creatorFee, supply + amount);
(bool success1,) = protocolFeeDestination.call{value: protocolFee}("");
(bool success2,) = creator.call{value: creatorFee}("");
require(success1 && success2, "Fee transfer failed");
}
Перший токен — продається тільки самому творцю. Це запобігає створенню токена на чуже ім'я.
Проблеми bonding curve та альтернативи
Маніпуляція при запуску. Бот купує перші N токенів творця до того як аудиторія дізналася про творця. Ціна вже висока → органічні покупці переплачують → бот продає. Mitigation: lock період для ранніх покупок, максимальна алокація в перші години, proof-of-humanity для творців.
Концентрація у ранніх покупців. Перші холдери мають найнижчу cost basis та можуть в будь-який момент обвалити ціну. Для платформи орієнтованої на довгострокові спільноти — це системна проблема. Рішення: vesting для creator-алокації, lock-up через governance.
Відсутність фундаментальної цінності. Якщо токен не дає реальних привілеїв (контент, доходи, голосування) — це чистий спекуляція. Friend.tech впав на 95%+ від піку коли спекулятивний інтерес іссяк та не залишилося utility.
Альтернативні моделі:
- Фіксований supply з auction. Творець випускає фіксовану кількість токенів, продає через Dutch auction. Прозоро, немає маніпуляції з кривою, але немає continuous market.
- NFT membership. Замість fungible токенів — NFT з tier-системою. Кожен NFT = рівень членства (Bronze/Gold/Platinum). Немає спекулятивної механіки, є чіткий utility.
- Revenue share токен. ERC-20 токен з правом отримання частки доходів творця. Реальний utility, але вимагає регуляторної проробки (це може бути security).
Utility шар: що робить токен цінним
Без utility creator-токен — це просто спекулятивний інструмент. Механіки, які дійсно працюють:
Paywall контент. Доступ до екслюзивного контенту при балансі вище порога. Off-chain верифікація через підпис гаманця (token-gating):
// Token-gating middleware
async function checkCreatorTokenAccess(
walletAddress: string,
creatorAddress: string,
requiredBalance: number,
provider: ethers.Provider
): Promise<boolean> {
const contract = new ethers.Contract(PLATFORM_ADDRESS, ABI, provider);
const balance = await contract.sharesBalance(creatorAddress, walletAddress);
return balance >= requiredBalance;
}
Governance у спільноті. Голосування за контент (яку гру стримити, який трек записати, куди поїхати). Вага голосу пропорційна балансу.
Revenue share. Частина доходів творця (стриминг-платформи, мерч, спонсорство) розподіляється холдерам. Вимагає:
- Off-chain збору даних про доходи
- Oracle або trusted verifier для підтвердження суми
- Merkle distributor для ефективного розподілу
contract CreatorRevenueDistributor {
struct Distribution {
address creator;
uint256 totalAmount;
bytes32 merkleRoot; // корінь дерева: address -> claim amount
uint256 snapshotBlock;
bool finalized;
}
mapping(uint256 => Distribution) public distributions;
mapping(uint256 => mapping(address => bool)) public claimed;
function claimRevenue(
uint256 distributionId,
uint256 amount,
bytes32[] calldata proof
) external {
Distribution storage dist = distributions[distributionId];
require(!claimed[distributionId][msg.sender], "Already claimed");
bytes32 leaf = keccak256(abi.encodePacked(msg.sender, amount));
require(MerkleProof.verify(proof, dist.merkleRoot, leaf), "Invalid proof");
claimed[distributionId][msg.sender] = true;
payable(msg.sender).transfer(amount);
emit RevenueClaimed(distributionId, msg.sender, amount);
}
}
Ticket гарантії. Холдер N токенів отримує гарантований доступ до событій (концерти, стрими з обмеженою кількістю глядачів, зустрічі). Верифікація через POAP або спеціалізований ticket NFT.
Social Graph та discovery
Creator-токен платформа — це не тільки контракти. Ключовий компонент — соціальні features: discovery нових творців, стрічка активності (хто що купив), leaderboard холдерів.
On-chain события як соціальний граф. Кожна Trade evento — публічна інформація про те, хто яких творців підтримує. Індексування через The Graph:
type Trade @entity {
id: ID!
trader: Bytes!
subject: Bytes! # адреса творця
isBuy: Boolean!
shareAmount: BigInt!
ethAmount: BigInt!
timestamp: BigInt!
blockNumber: BigInt!
}
type Creator @entity {
id: ID!
address: Bytes!
totalSupply: BigInt!
holders: [Holder!]! @derivedFrom(field: "creator")
totalTradingVolume: BigInt!
}
Social proof механіка. Показувати «ваші друзі холдять токени X» — потужний growth механізм. Вимагає знання соціального графу (Twitter/X API, Lens Protocol, Farcaster). Friend.tech будувався на Twitter аккаунтах — соціальний граф був вбудований.
Mobile-first: архітектурні рішення
Creator-токен платформа майже завжди mobile-first (Friend.tech був тільки мобільним додатком на старті). Це впливає на архітектуру:
Embedded wallet. Користувачі не хочуть встановлювати MetaMask. Privy, Dynamic, Magic — embedded wallet SDKs з email/social login. Ключ зберігається в secure enclave або MPC.
Gas abstraction. Користувач платить у ETH, але процес повинен бути transparent. Account abstraction (EIP-4337) з paymaster — протокол спонсирує перші N транзакцій нового користувача.
Base chain. Friend.tech вибрав Base — Coinbase L2. Низькі комісії ($0.01–0.10 за транзакцію), швидке підтвердження, хороша ліквідність, підтримка Coinbase wallet нативно.
Ризики та захисти
Rug pull творцем. Творець володіє першим токеном (cheap entry), накопичує та продає при піку аудиторії. Mitigation: lock період для creator shares, публічний disclosure creator holdings.
Wash trading. Штучне накручування обсягу торгів для попадання в leaderboard та привернення уваги. Складно запобігти повністю, але: мінімальний hold період перед sell, структура комісій що робить wash trading збитковим.
Cybersquatting. Реєстрація токенів на імена популярних людей до того як вони самі прийшли на платформу. Mitigation: верифікація через OAuth (Twitter, Instagram), тільки верифіковані аккаунти можуть створювати токени.
Таймлайн розробки
| Компонент | Час |
|---|---|
| Смарт-контракти (bonding curve, revenue share, governance) | 4–6 тижнів |
| Backend (індексер, API, social features) | 4–6 тижнів |
| Embedded wallet інтеграція + account abstraction | 2–3 тижні |
| Mobile додаток (iOS + Android) | 6–10 тижнів |
| Creator onboarding + KYC | 1–2 тижні |
| Аудит контрактів | 3–4 тижні |
MVP з bonding curve, базовим token gating та мобільним додатком: 3–4 місяці. Платформа з revenue share, governance та повноцінними social features: 5–7 місяців.







