Ми займаємося розробкою стійких P2E механік понад 5 років. За нашими плечима 12+ ігрових проєктів, з яких 5 досягли стійкої економіки. Показовий кейс — гра на Polygon з dual-token моделлю, яка витримала 100 000 DAU без колапсу токена. Секрет криється у правильному балансі source і sink.
Play-to-Earn (P2E) — модель, при якій ігровий процес генерує реальну економічну цінність для гравців. Звучить просто, але за цим стоїть одне з найскладніших завдань у blockchain-розробці: побудувати ігрову економіку, яка не розвалиться після першого напливу користувачів. Більшість P2E проєктів першої хвилі померло через токеноміку, побудовану за схемою Понці. Нові гравці давали гроші старим через інфляцію токена. Без реального sink-а (механізму спалювання або споживання токенів) — тільки зростання пропозиції, тільки падіння ціни. Розробка P2E механік сьогодні — це насамперед проєктування стійкої in-game економіки.
Вартість MVP P2E механік становить від $15,000 до $30,000, а повна економіка з dual-token і маркетплейсом — $50,000–$100,000. Dual-token модель захищає економіку від інфляції за рахунок розділення governance токена (обмежений supply) та utility токена, який заробляється в грі та спалюється через craft та upgrade. На старті можна використовувати готовий маркетплейс, наприклад OpenSea, але для повного контролю над комісіями та роялті краще кастомне рішення.
Ми спеціалізуємося на проектуванні стійких P2E механік, що є ключовим фактором успіху.
Чому більшість P2E ігор вмирають у перші півроку?
Головна причина — дисбаланс source і sink. Якщо гравці заробляють більше, ніж можуть витратити, токен дешевшає. Приклад: гра, де reward за квест дорівнює 100 одиницям, а єдиний sink — покупка косметичних предметів за 50 одиниць. Вже через місяць гравці накопичують надлишковий токен, і ціна падає. Рішення — проєктувати економіку так, щоб загальна пропускна здатність sink перевищувала source хоча б на 30%.
Побудова стійких P2E механік: дуальна токеноміка та баланс source/sink
Потрібна dual-token модель і глибока піраміда sink-ів. Приклад із нашого досвіду: у грі на Polygon ми заклали 7 sink-ів — від крафта предметів до PvP-ставок. Кожен новий гравець збільшує не тільки source, але й sink (через податки на PvP). Симуляції показали, що економіка залишається стабільною при DAU до 500 000. Аналітика за реальними даними підтвердила модель.
Економічний фундамент: source і sink
Будь-яка P2E економіка будується на балансі джерел токенів (source) і поглиначів (sink).
Таблиця прикладів:
| Source (джерела) |
Sink (поглиначі) |
| Винагорода за gameplay |
Крафт/апгрейд предметів (burn) |
| Staking rewards |
Вхідний внесок на турніри |
| Призові турнірів |
Комісія маркетплейсу |
| Початковий розподіл |
Ремонт/обслуговування |
Здорова економіка: сума sink > сума source у довгостроковій перспективі, або мінімум балансують.
Dual token модель
Більшість зрілих P2E ігор використовує два токени. Dual-token модель у 2 рази стійкіша за single-token за даними симуляцій.
- Governance/Premium токен (наприклад, AXS в Axie Infinity) — обмежений supply, для governance, premium покупок, staking. Не повинен інфлювати від gameplay.
- Utility/Reward токен (SLP в Axie) — заробляється в грі, витрачається на craft/upgrade. Може мати високу інфляцію, якщо sink достатній.
Розділення захищає governance токен від інфляції ігрових нагород. Для контролю інфляції використовуйте bonding curve при емісії токена та vesting schedule для команди.
On-chain vs Off-chain
Гібридна модель в 3 рази дешевша в експлуатації, ніж pure on-chain рішення. Економія на газі сягає $5,000–$10,000 на місяць при 100,000 DAU. Для більшості P2E ігор гібрид — оптимальний вибір: ігрова логіка off-chain, on-chain тільки NFT і фінансові операції.
Reward Distribution: VRF і антибот
Для випадковості використовуємо Chainlink VRF. Приклад коду:
Код VRF
import {VRFConsumerBaseV2Plus} from "@chainlink/contracts/src/v0.8/vrf/dev/VRFConsumerBaseV2Plus.sol";
contract GameRewards is VRFConsumerBaseV2Plus {
mapping(uint256 => address) private requestIdToPlayer;
function requestDrop(address player) external returns (uint256 requestId) {
requestId = s_vrfCoordinator.requestRandomWords(
VRFV2PlusClient.RandomWordsRequest({
keyHash: KEY_HASH,
subId: subscriptionId,
requestConfirmations: 3,
callbackGasLimit: 100000,
numWords: 1,
extraArgs: VRFV2PlusClient._argsToBytes(
VRFV2PlusClient.ExtraArgsV1({nativePayment: false})
)
})
);
requestIdToPlayer[requestId] = player;
}
function fulfillRandomWords(uint256 requestId, uint256[] calldata randomWords) internal override {
address player = requestIdToPlayer[requestId];
uint256 roll = randomWords[0] % 100;
if (roll < 5) {
_mintLegendaryItem(player);
} else if (roll < 25) {
_mintRareItem(player);
} else {
_mintCommonItem(player);
}
}
}
Антибот захист: комбінація session-based rewards, daily cap, proof-of-play і при необхідності Soulbound NFT.
NFT: ERC-1155 vs ERC-721
Для ігрових предметів ERC-1155 кращий: batch operations економлять газ. ERC-1155 дозволяє економити до 40% газу порівняно з ERC-721. ERC-721 виправданий для унікальних асетів.
contract GameItems is ERC1155 {
uint256 public constant SWORD_OF_DESTINY = 1;
uint256 public constant HEALTH_POTION = 2;
uint256 public constant MAGIC_DUST = 3;
function rewardQuest(address player, uint256 questId) external onlyGame {
uint256[] memory ids = new uint256[](3);
uint256[] memory amounts = new uint256[](3);
ids[0] = HEALTH_POTION; amounts[0] = 5;
ids[1] = MAGIC_DUST; amounts[1] = 100;
_mintBatch(player, ids, amounts, "");
}
}
Метадані: base type on-chain, візуальні атрибути в IPFS, динамічні — off-chain з синхронізацією при продажі.
Що входить у роботу і що впливає на терміни?
Процес включає такі кроки:
- Аналізуємо механіку та аудиторію.
- Будуємо економічну модель.
- Симулюємо 6–12 місяців.
- Корегуємо параметри.
- Реалізуємо смарт-контракти.
- Пост-реліз моніторинг.
Входить:
- Токеноміка (моделювання та симуляція)
- Смарт-контракти токенів і NFT
- Інтеграція Chainlink VRF
- Маркетплейс з EIP-2981 роялті
- Антибот система
- Dashboard для моніторингу
- Документація та навчання
Терміни:
- MVP (базові токени, NFT, прості reward, базовий marketplace): 2–3 місяці.
- Повна P2E економіка (dual token, VRF, антибот, governance, кастомний marketplace): 5–7 місяців.
- Токеноміка як окремий етап: 2–3 тижні. Це критично — визначає виживаність гри.
Ми гарантуємо якість аудиту та сертифікацію смарт-контрактів. Понад 10 років досвіду команди в blockchain-розробці, 50+ виконаних проєктів. Для масштабування навантаження використовуються zk-rollups, а для верифікації — merkle tree. Замовте консультацію щодо вашої ігрової економіки — оцінимо проєкт безкоштовно.
GameFi розробка: ігрова економіка, контракти та on-chain механіка
Ми бачили цей сценарій не раз. Axie Infinity на піку мала великий дохід, але через 18 місяців токен різко знецінився, а аудиторія значно скоротилася. Причина — відсутність sink'ів: гравці заробляли SLP і виводили, а механізмів спалювання не вистачало. Ми пропонуємо GameFi розробку під ключ: від токеноміки до смарт-контрактів, щоб ваша економіка не повторила цю помилку. Оцінимо ваш проєкт на meetup або онлайн. Наш досвід — 5+ років, десятки реалізованих проєктів, включно з аудитом 15+ P2E ігор.
Чому ламається Play-to-Earn економіка?
Інфляційна токеноміка без sink'ів — головна причина смертельної спіралі. Гравець отримує токени за геймплей. Якщо sink'ів (механізмів спалювання або споживання) недостатньо — supply зростає швидше за demand. Ціна падає. Дохід гравця у fiat зменшується. Гравці йдуть.
Правильна конструкція — dual-token модель з чітким розподілом: governance/value token з обмеженим supply і utility/reward token для внутрішньоігрової економіки. Utility token має активно споживатися: крафтинг предметів, апгрейди, entry fees, breeding. Приклади: GODS/FLUX у Gods Unchained, AXS/SLP у Axie (хоча sink'ів там виявилося недостатньо). Ефективна економіка балансує mint та burn: типовий ratio — 1.2—1.5 burn на 1 mint для запобігання інфляції.
Які sink-механізми реально працюють?
| Механізм |
Опис |
Приклад |
| Breeding / крафтинг |
Спалювання utility token за створення нового NFT |
Axie (але з правильним balancing) |
| Апгрейди персонажів |
Кожна еволюція вимагає спалювання токена |
Більшість P2E RPG |
| PvP entry fee |
Вхід у турнір спалює токени, частина йде в призовий пул |
Splinterlands |
| Дурабилити предметів |
Після N боїв предмет ламається, токен витрачається на ремонт |
Успадковано з MMORPG |
| Фінансові механіки |
Стейкінг з lock-up, що виводить токени з обігу на строк |
DeFi-шари |
Наш досвід — десятки реалізованих проєктів у Web3, включно з аудитом 15+ P2E ігор. Ми знаємо, які sink'и працюють у довгостроковій перспективі. Наприклад, у проєкті з breeding RPG ми збільшили спалювання utility token на 300% за рахунок введення «ремеслу зношуваності» та обов'язкових апгрейдів.
On-chain vs Off-chain: де проходить межа
Всю ігрову логіку on-chain виносити не потрібно — кожна транзакція коштує газу і триває 12 секунд. Ігровий цикл — мілісекунди. Баланс:
| Компонент |
On-chain |
Off-chain |
Приклади |
| Ownership активів |
+ |
– |
NFT предмети, land |
| Передача/торгівля |
+ |
– |
Маркетплейси |
| Фінанси (стейкінг, rewards) |
+ |
– |
Staking vaults, DAO |
| Random generation |
+ (через VRF) |
– |
Chainlink VRF |
| Ігровий процес |
– |
+ |
Бойова система, рух |
| State ігрового світу |
– |
+ |
Координати, health points |
| Матчмейкінг |
– |
+ |
Серверна логіка |
Результати геймплею переносяться на блокчейн через signed message від сервера або ZK-proof. Verifiable off-chain з ZK: ігровий сервер генерує ZK-proof коректності сесії, контракт верифікує proof і нараховує винагороду. Реалізації: Cartridge (Starknet), zkSync game rollups.
Реалізація NFT ігрових предметів
Стандарт: ERC-1155 для взаємозамінних предметів (ресурси, consumables) + ERC-721 для унікальних (персонажі, land). ERC-1155 дає до 60% економії на газі при batch transfer у порівнянні з окремими ERC-721 переказами — для гри з сотнями предметів це економія сотень доларів на день.
Як реалізувати динамічні NFT без перевантаження блокчейна?
Характеристики предмета змінюються в процесі гри (experience, durability, upgrades). Два підходи:
- Fully on-chain: атрибути зберігаються в mapping контракту,
tokenURI генерується з атрибутів через SVG/JSON encoding. Дорого за газом при частому оновленні. Використовується для land і ключових активів.
- Hybrid: атрибути зберігаються off-chain, в
tokenURI — hash стану. Оновлення підписується сервером, верифікується on-chain при transfer або продажі. Дешевше, але вимагає довіри до сервера або ZK.
Breeding і crafting. Контракт: два батьківських NFT → оплата utility token (burn) → мінт нового NFT з атрибутами, що залежать від батьків + Chainlink VRF для випадковості. Без VRF майнери можуть маніпулювати рандомом через вибір блоку.
// Simplified breeding with Chainlink VRF
function breed(uint256 parent1Id, uint256 parent2Id) external {
require(ownerOf(parent1Id) == msg.sender);
require(ownerOf(parent2Id) == msg.sender);
require(breedingToken.burnFrom(msg.sender, BREEDING_COST));
uint256 requestId = vrfCoordinator.requestRandomWords(...);
pendingBreeds[requestId] = BreedRequest(parent1Id, parent2Id, msg.sender);
}
function fulfillRandomWords(uint256 requestId, uint256[] memory randomWords) internal override {
BreedRequest memory req = pendingBreeds[requestId];
uint256 childAttributes = deriveAttributes(req.parent1Id, req.parent2Id, randomWords[0]);
_mintWithAttributes(req.requester, childAttributes);
}
Маркетплейс і роялті
Вбудований маркетплейс дає контроль над fee структурою та кастомною логікою (заборона торгівлі предметами до певного рівня). Роялті за EIP-2981 — стандарт, але не enforceable: Blur та інші маркетплейси ігнорують on-chain роялті. Для enforcement — whitelist-only transfer (тільки через контракти, що платять роялті). Жертвуємо composability заради захисту прав.
Staking та розподіл винагород
Staking NFT — механіка для утримання гравців. Проблема: нарахування rewards при тисячах стейкерів вимагає постійних транзакцій (дорого). Рішення — reward-per-share паттерн (як у MasterChef від SushiSwap): глобальний accRewardPerShare, при claim або change state перераховується заборгованість за формулою pendingReward = stakedAmount * (accRewardPerShare - userRewardDebt). O(1) складність незалежно від кількості стейкерів. Економія газу — до 70% порівняно з поелементним нарахуванням.
Детальніше про reward-per-shape реалізацію
Алгоритм працює так: при кожному депозиті/знятті стейку або при оновленні глобального пулу (наприклад, додаванні нових токенів винагороди) контракт оновлює accRewardPerShare = totalPendingReward / totalStaked. Потім для конкретного користувача розраховується pending = user.staked * (accRewardPerShare - user.rewardDebt). Після виплати user.rewardDebt встановлюється рівним accRewardPerShare. Це дозволяє не зберігати історію внесків кожного користувача. На практиці ми використовуємо для GameFi проєктів версію з multiplier для врахування різних ваг стейку (наприклад, рідкісні NFT дають більше винагороди).
Процес та терміни
Починаємо з game economics документа: token flows, mint/burn механіки, projected supply schedule, sink analysis. До написання коду економіка моделюється (Cadence, Python simulation).
Як ми будуємо GameFi: 5 етапів
- Економічне моделювання — 1-2 тижні. Розробляємо dual-token модель, розраховуємо sink'и, прописуємо стимули для long-term holding.
- Розробка токен-контрактів — 2-3 тижні. ERC-20 для governance, ERC-20 для utility, з настроюваною політикою mint/burn.
- Смарт-контракти NFT — 3-5 тижнів. ERC-721 / ERC-1155 з dynamic metadata, breeding/crafting, Chainlink VRF.
- Staking + rewards — 2-3 тижні. Контракт на базі reward-per-share, інтерфейси для frontend.
- Маркетплейс (опціонально) — 2-4 тижні. Кастомний маркетплейс з enforced royalty.
Що входить у роботу
- Вихідний код усіх смарт-контрактів з тестами (Foundry/Hardhat)
- Документація архітектури та економіки
- Інтеграція з Chainlink, Tenderly для моніторингу
- Аудит коду та формальна верифікація (Slither, Mythril, Echidna)
- Навчання команди роботі з контрактами
- Підтримка після деплою (3 місяці)
Базовий GameFi стек (токени + NFT + staking + маркетплейс) — від 8 до 16 тижнів. Повна гра з on-chain рандомом, breeding, dynamic NFT — 4-8 місяців. ZK-based verifiable gameplay — окремий проєкт від 6 місяців.
Зв'яжіться з нами для аудиту вашої токеноміки — оцінимо ризики та доопрацюємо sink-механізми. Замовте розробку GameFi проєкту — отримайте готовий продукт з перевіреною економікою. Наш досвід — десятки реалізованих проєктів у Web3, включно з аудитом 15+ P2E ігор. Гарантуємо стабільність контрактів і прозорість коду. Сертифіковані аудитори перевіряють кожен контракт на типові вразливості (reentrancy, flash loan, oracle manipulation).