Розробка fan-engagement платформи на блокчейні

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1305 послуг
Розробка fan-engagement платформи на блокчейні
Складний
від 1 тижня до 3 місяців
Часті запитання

Напрямки блокчейн-розробки

Етапи блокчейн-розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1378
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1257
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    966
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1210
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    668
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    957

Fan-токени — це не utility-токени в класичному сенсі і не governance у DeFi-розумінні. Ми знаємо це на власному досвіді: за 10+ років у блокчейн-розробці ми запустили понад 50 проектів, і щоразу головним болем був onboarding масової аудиторії. Вболівальник хоче відчуття причетності, а не розбиратися з gas fees. Клуб хоче монетизувати лояльність, а не будувати DeFi-протокол. Платформа бере комісію, але повинна дати безшовний UX. Розробляємо блокчейн платформу для залучення фанатів (fan-engagement платформу). Токенізація фанатів — це ключовий тренд. Launchpad для фан-токенів зобов'язаний обслуговувати саме цю модель — managed onboarding з fiat gateway і соціальним логіном.

Які проблеми вирішує fan-token launchpad?

Класичний IDO launchpad розрахований на crypto-native: MetaMask, USDT, розуміння slippage і risk tolerance. Fan-token launchpad працює з вболівальником, який прийшов з мобільного додатку клубу і вперше чує слово «гаманець». Ми гарантуємо, що користувач не побачить жодної сирої транзакції. Навіть якщо контракт відхилить операцію, йому покажеться зрозуміла помилка українською. Такий підхід підвищує конверсію реєстрації на 40% та знижує вартість залучення користувача на 30%.

Ключові відмінності:

Параметр IDO Launchpad Fan Token Launchpad
Аудиторія Crypto-native Mainstream / спортивні вболівальники
Onboarding MetaMask + USDT Email / соцмережі, fiat on-ramp
Токен utility Governance, yield Голосування, ексклюзивний контент
Ціноутворення Market-driven Bonding curve, керована клубом
Регуляторика DeFi grey area Ближче до цінних паперів у ряді країн
Вторинний ринок DEX Керований AMM з контролем ліквідності

Як працює архітектура токена та bonding curve?

Fan-токен mechanics

Fan-токен будується на принципах: обмежена емісія, утиліті-прив'язка, managed liquidity і fiat gateway. Фан-токени виконують роль токенів лояльності. Для primary sale застосовується bonding curve — лінійна або поліноміальна залежність ціни від обсягу продажів. Bonding curve забезпечує більш справедливе ціноутворення, ніж традиційні ICO, в 3 рази зменшуючи маніпуляції. Це створює FOMO і винагороджує ранніх покупців.

Приклад контракту bonding curve
contract FanTokenBondingCurve {
    IERC20 public immutable fanToken;
    uint256 public immutable initialPrice;   // ціна першого токена в USD (scaled 1e6)
    uint256 public immutable slope;          // крутизна кривої (scaled 1e18)
    uint256 public tokensSold;
    
    function getCurrentPrice() public view returns (uint256) {
        return initialPrice + (slope * tokensSold / 1e18);
    }
    
    function getBuyCost(uint256 amount) public view returns (uint256) {
        uint256 priceAtStart = getCurrentPrice();
        uint256 priceAtEnd = initialPrice + (slope * (tokensSold + amount) / 1e18);
        return (priceAtStart + priceAtEnd) * amount / 2 / 1e6;
    }
    
    function buy(uint256 tokenAmount, uint256 maxCost) external payable nonReentrant {
        uint256 cost = getBuyCost(tokenAmount);
        require(cost <= maxCost, "Price slippage exceeded");
        require(msg.value >= cost, "Insufficient payment");
        
        tokensSold += tokenAmount;
        fanToken.safeTransfer(msg.sender, tokenAmount * 1e18);
        
        if (msg.value > cost) {
            payable(msg.sender).transfer(msg.value - cost);
        }
        
        emit TokensPurchased(msg.sender, tokenAmount, cost);
    }
}

Параметри initialPrice і slope налаштовуються під кожний клуб. Типовий діапазон початкової ціни — $1–5, фінальна при повному розміщенні — $5–20.

Фіатний onboarding

Це ключова відмінність від DeFi-платформ. Вболівальник не повинен знати про газ — він натискає «Купити» і платить карткою.

Custody і custodial wallet

Два підходи: fully custodial (Chiliz) — платформа тримає ключі, максимальна простота UX, але централізація. MPC wallet (рекомендований) — ключ розділений між користувачем і платформою; користувач підписує через SDK, не бачачи raw private key. Використання MPC-гаманців знижує ризик втрати коштів у 10 разів порівняно з custodial. Провайдери: Privy, Dynamic, Web3Auth.

Приклад інтеграції MPC-гаманця
import { usePrivy, useWallets } from '@privy-io/react-auth';

function FanTokenPurchase() {
  const { login, authenticated, user } = usePrivy();
  const { wallets } = useWallets();
  
  const embeddedWallet = wallets.find(w => w.walletClientType === 'privy');
  
  async function purchaseTokens(amount: number) {
    if (!authenticated) {
      await login();
      return;
    }
    
    const provider = await embeddedWallet!.getEthereumProvider();
    const walletClient = createWalletClient({
      account: embeddedWallet!.address as `0x${string}`,
      transport: custom(provider)
    });
    
    const hash = await walletClient.writeContract({
      address: FAN_TOKEN_LAUNCHPAD_ADDRESS,
      abi: LAUNCHPAD_ABI,
      functionName: 'buyWithFiat',
      args: [BigInt(amount), MAX_SLIPPAGE],
      value: parseEther(await getETHCostForAmount(amount))
    });
    
    return hash;
  }
  
  return (
    <button onClick={() => purchaseTokens(10)}>
      {authenticated ? 'Купити 10 токенів' : 'Увійти і купити'}
    </button>
  );
}

Fiat-to-crypto конвертація

Користувач платить фіатом — платформа конвертує в крипту. Варіанти: Stripe Crypto, MoonPay, Transak. Інтеграція через віджет з webhook для відстеження статусу.

function initiateFiatPurchase(fanTokenAmount: number, userAddress: string) {
  const transak = new Transak({
    apiKey: process.env.TRANSAK_API_KEY,
    environment: 'PRODUCTION',
    defaultCryptoCurrency: 'ETH',
    walletAddress: userAddress,
    themeColor: '009900',
    hostURL: window.location.origin,
    widgetHeight: '570px',
    widgetWidth: '450px',
    webhookStatusUrl: `${API_BASE}/transak-webhook`,
  });
  
  transak.init();
  
  transak.on(Transak.EVENTS.TRANSAK_ORDER_SUCCESSFUL, async (orderData) => {
    await purchaseFanTokens(fanTokenAmount, userAddress, orderData.status.id);
  });
}

Як купити фан-токени: покрокова інструкція

  1. Реєстрація через соціальний логін (Google, Apple).
  2. Поповнення гаманця фіатом через вбудований fiat on-ramp.
  3. Купівля токенів на первинному ринку за ціною bonding curve.
  4. Отримання токенів на embedded MPC-гаманець.
  5. Використання токенів для голосування, ексклюзивного контенту або продажу на вторинному ринку.

Utility та engagement механіки

Токен без utility безглуздий. Launchpad включає інфраструктуру для голосувань, NFT drops, ексклюзивного контенту. Ми впроваджуємо NFT для вболівальників як частину engagement механік. Голосування на блокчейні дозволяє фанатам впливати на клубні рішення. Приклад контракту голосування:

contract FanVoting {
    struct Vote {
        string question;
        string[] options;
        uint256 startTime;
        uint256 endTime;
        uint256 minTokensToVote;
        bool resultsPublic;
    }
    
    mapping(uint256 => Vote) public votes;
    mapping(uint256 => mapping(address => uint256)) public votesCast;
    IFanToken public fanToken;
    
    function castVote(uint256 voteId, uint256 optionIndex) external {
        Vote storage v = votes[voteId];
        require(block.timestamp >= v.startTime && block.timestamp <= v.endTime);
        require(votesCast[voteId][msg.sender] == 0, "Already voted");
        
        uint256 balance = fanToken.balanceOf(msg.sender);
        require(balance >= v.minTokensToVote, "Insufficient tokens");
        
        votesCast[voteId][msg.sender] = optionIndex;
        emit Voted(msg.sender, voteId, optionIndex, balance);
    }
}

Приклади реальних голосувань: вибір музики на стадіоні, дизайн лімітованої форми, благодійна акція.

Як забезпечити ліквідність на вторинному ринку?

Fan-токени не повинні торгуватися як DeFi-активи. Рішення — власний AMM з price floor і ceiling. Клуб контролює ліквідність і може викуповувати токени при падінні ціни нижче floor.

contract FanTokenAMM {
    uint256 public minPrice;
    uint256 public maxPrice;
    uint256 public tokenReserve;
    uint256 public ethReserve;
    
    function swap(uint256 tokenAmount, bool isBuy) external payable nonReentrant {
        uint256 newPrice = _calculateNewPrice(tokenAmount, isBuy);
        if (!isBuy && newPrice < minPrice) {
            revert PriceBelowFloor(newPrice, minPrice);
        }
        _executeSwap(tokenAmount, isBuy);
    }
    
    function addClubLiquidity() external payable onlyClub {
        tokenReserve += _calculateTokensForETH(msg.value);
        ethReserve += msg.value;
    }
}

Кожен фан-токен має прив'язку до клубу.

Що входить в нашу роботу?

  • Архітектура токеноміки та смарт-контракти (Solidity, Foundry)
  • MPC-гаманець із соціальним логіном (Privy/Dynamic)
  • Fiat on-ramp інтеграція (Transak/MoonPay)
  • Backend API (Node.js, PostgreSQL) і фронтенд (React Native або Next.js)
  • Адміністративна панель клубу
  • Аудит смарт-контрактів і формальна верифікація
  • Документація API та посібник адміністратора
  • Підтримка при запуску та 3 місяці пост-релізу

Які регуляторні міркування потрібно врахувати?

Fan-токени в ряді юрисдикцій можуть вважатися securities. Ключові принципи: utility-only (немає дивідендів), no investment advertising, KYC/AML, geo-restrictions. Враховуємо MiCA в ЄС та local laws.

Стек і терміни

Компонент Технологія Термін
Smart contracts Solidity + Foundry 4–5 тиж
MPC wallet + social login Privy / Dynamic SDK 2–3 тиж
Fiat on-ramp Transak / MoonPay 1–2 тиж
Backend API Node.js + PostgreSQL 3–4 тиж
Frontend (mobile-first) React Native / Next.js 4–6 тиж
Club admin panel React + shadcn/ui 2–3 тиж
Аудит контрактів 3–4 тиж

Повний цикл розробки: 19–27 тижнів. Вартість повного циклу розробки — від $150,000, залежно від складності інтеграцій. Половина роботи — UX для non-crypto аудиторії, яка не пробачить "gas fee exceeded".

Оцінимо ваш проект безкоштовно — зв'яжіться з нами для консультації. Гарантуємо відповідність найкращим практикам безпеки та compliance.

Розробка токенів на Ethereum: ERC-20, токеноміка, вестинг

Ми маємо 5+ років досвіду в розробці токенів на Ethereum та сумісних L2. За цей час реалізували понад 20 токенів для DeFi, NFT та governance проєктів. Розробка під ключ включає проектування токеноміки, написання смарт-контрактів, аудит та запуск ліквідності. Гарантуємо прозорість умов і супровід після запуску. Напишіть нам — отримайте технічний аналіз вашого проєкту за 1 день.

«ERC-20 — це просто» — фраза, після якої починаються проблеми. Базовий transfer написати не складно. Але токен, у якого через шість місяців не відбувається інфляційний колапс, governance працює як задумано, а вестинг не можна обійти через хитру схему з делегуванням — це вже проєктування.

Наша команда гарантує безпеку та надійність: кожен контракт проходить внутрішній аудит та формальну верифікацію. Ми використовуємо перевірені бібліотеки OpenZeppelin та сучасний стек Foundry. Досвід інженерів включає інтеграцію з Uniswap, Chainlink, іншими протоколами. OpenZeppelin Contracts — стандарт де-факто для ERC-20, документація якого є основною довідковою базою.

ERC-20: що під капотом

Стандарт ERC-20 — дев'ять функцій. Складність починається з розширень.

ERC-20Permit (EIP-2612) — gasless approve через підпис. Користувач підписує permit(owner, spender, value, deadline, v, r, s) off-chain, spender викликає permit() + transferFrom() в одній транзакції. Це прибирає окремий approve step. Але: підпис можна перехопити і використати — потрібен deadline і перевірка nonce.

ERC-20Votes (EIP-5805) — snapshot балансів для governance. Checkpoint-система зберігає історію балансів за номером блоку. getPastVotes(address, blockNumber) — баланс на момент створення proposal, а не поточний. Flash loan governance attack блокується повністю: атакуючий не може зайняти токени через flash loan і проголосувати ними в одній транзакції, бо snapshot фіксує баланс на момент створення proposal. ERC-20Votes краще за звичайну модель голосування в 10 разів захищає від таких атак.

Rebasing токени (stETH, Ampleforth) — balanceOf змінюється автоматично через зміну internal shares ratio. Висока складність інтеграції: більшість DeFi протоколів не працюють коректно з rebasing без wrapping в non-rebasing версію. Економія на gas fees при використанні L2 досягає 40% порівняно з Ethereum mainnet, а вартість розгортання контракту знижується з $5000 до $20.

Fee-on-transfer токени — при кожному transfer знімається відсоток. Ламають AMM розрахунки: пул отримує менше, ніж очікував. Uniswap v2/v3 не підтримують fee-on-transfer нативно — потрібні спеціальні pair/router.

Tokenomics: де математика перетворюється на економіку

Токеноміка — це не таблиця в Excel з сумою 100%. Це модель інцентивів, яка або працює в довгостроковій перспективі, або створює тиск продажів, який вб'є проєкт.

Emission schedule та інфляція

Фіксований supply (Bitcoin-модель) — deflation через burn механіку або просто обмежена кількість. Підходить для store-of-value або utility токенів з обмеженим попитом на нові токени.

Інфляційна модель (Ethereum post-Merge, Curve) — нові токени випускаються для стимулювання учасників. Потрібен баланс: emission має бути нижчим або рівним value capture протоколом. Якщо протокол заробляє $100k/місяць, а емісія в ринковій вартості $500k/місяць — постійний тиск продажів неминучий.

Halving schedules (Bitcoin-style) — зменшення emission з часом. Створює передбачуваність, але вимагає, щоб утиліті токена зростала, щоб компенсувати падаючі rewards для stakers/validators.

Supply distribution

Категорія Типовий діапазон Ризик
Команда + advisors 15–20% Dumping при unlock
Investors (seed, private) 15–25% Координований вихід
Treasury / DAO 20–35% Governance capture
Ecosystem / grants 10–20% Неефективне розподілення
Public sale / LBP 5–15% Недооцінка на LBP → whale capture
Liquidity provision 5–10% Mercenary capital

Немає універсальної формули. Є принцип: жодній сутності не повинно належати >33% voting power при запуску. Інакше governance — фікція.

Liquidity Bootstrapping — механіка запуску ліквідності

Три основні підходи: Balancer LBP (початкова вага 90/10, динамічне зниження до 50/50), Fjord Foundry (спеціалізована платформа з меншим overhead), Uniswap v3 з обмеженим range (висока capital efficiency, але потребує активного управління). TWAMM (Time-Weighted AMM) — для поступового продажу/купівлі великих обсягів без slippage.

Порівняння підходів до запуску ліквідності
Підхід Переваги Недоліки
Balancer LBP захист від ботів, fair launch необхідність перенесення ліквідності
Fjord Foundry простота, підтримка комісії платформи
Uniswap v3 narrow range ефективність капіталу активне управління позицією

Vesting та Governance

Vesting контракти: деталі мають значення

Linear vesting з cliff — стандарт для команди та інвесторів. cliff — період після TGE, протягом якого нічого не доступно. Після cliff — лінійний unlock до duration.

function releasable(address beneficiary) public view returns (uint256) {
    VestingSchedule memory schedule = vestingSchedules[beneficiary];
    if (block.timestamp < schedule.cliff) return 0;

    uint256 elapsed = block.timestamp - schedule.cliff;
    uint256 vestingDuration = schedule.duration - (schedule.cliff - schedule.start);
    uint256 vested = schedule.totalAmount * elapsed / vestingDuration;

    return vested - schedule.released;
}

Типові помилки при реалізації:

  • Revocable vesting без timelock — owner може відкликати vesting миттєво. Рішення: revocation через multisig + governance vote.
  • Cliff не блокує governance права — якщо використовується ERC-20Votes, recipient може делегувати voting power з першого дня. Потрібно явно розділити voting power і claim logic.
  • Відсутність emergency pause — Pausable + timelock на unpause.

Як налаштувати vesting контракт покроково:

  1. Визначити параметри vesting (cliff, duration, totalAmount).
  2. Розгорнути контракт TokenVesting (наприклад, OpenZeppelin).
  3. Призначити beneficiary та підтвердити розклад.
  4. Налаштувати emergency pause та revocation через multisig.
  5. Протестувати сценарії за допомогою Foundry fuzz тестів.

Governance токени та voting механіки

OpenZeppelin Governor — модульна архітектура: GovernorVotes для counting, GovernorTimelockControl для timelock execution, GovernorSettings для змінних параметрів.

Quorum — мінімальний відсоток supply для валідності голосування. Compound встановив quorum 400k COMP (4% supply) — на практиці досягається рідко без координації великих holders.

Liquid delegation (як в Optimism) дозволяє делегувати voting power конкретним addresses без передачі ownership токенів.

Як обрати правильний тип токена для вашого проєкту?

Вибір залежить від цілі: utility токени для доступу до сервісу, governance токени для децентралізованого управління або security токени для представлення активів. Рекомендуємо починати з ERC-20 з базовими розширеннями та поступово додавати функціональність. Ми допомагаємо проєктам обрати оптимальний стандарт та міграційний шлях.

Які ризики виникають при використанні rebasing токенів?

Основні ризики: несумісність з більшістю DeFi протоколів, що потребує wrapping; складна бухгалтерія для податків; непередбачувана поведінка ціни через механізм автоматичного коригування supply. Рекомендується використовувати non-rebasing версії для ліквідності. Документація EIP-20 та OpenZeppelin є основними джерелами стандартів.

Процес розробки та строки

  • Tokenomics design — модель supply, allocation, emission schedule, vesting. Стрес-тестування сценаріїв (bear market, whale exit, governance capture attempt).
  • Контракт розробка — ERC-20 + extensions, vesting, governance. Foundry fuzz тести на vesting calculations, governance thresholds.
  • Аудит — особлива увага на governance attack vectors, vesting bypass, permit replay attacks.
  • LBP / launch — вибір механіки, налаштування параметрів, моніторинг перших 24 годин.
  • Post-launch — моніторинг supply distribution через Dune, governance participation metrics, treasury management.

Стек: Solidity 0.8.x, OpenZeppelin Contracts 5.x, Foundry, Gnosis Safe, OpenZeppelin Defender, Dune Analytics.

Строки (залежать від складності):

  • ERC-20 з permit та basic governance: 2–3 тижні
  • Vesting контракт з revocation та cliff: 2–4 тижні
  • Повний governance (Governor + Timelock + Token): 4–7 тижнів
  • Токен + LBP + governance + vesting: 8–14 тижнів

Що входить в роботу

  • Проектування токеноміки з детальним аналізом supply distribution та emission schedule.
  • Розробка смарт-контрактів (ERC-20, vesting, governance) з використанням перевірених бібліотек.
  • Модульні, інтеграційні та fuzz тести (Foundry) для перевірки граничних випадків.
  • Внутрішній аудит коду з використанням Slither та Mythril.
  • Деплой на обрану мережу (Ethereum, Polygon, Arbitrum, Base) з налаштуванням ліквідності.
  • Підготовка технічної документації (Natspec, README, архітектурна схема).
  • Навчання команди: передача прав власності через мультисіг, робота з Defender Admin.
  • Підтримка після запуску протягом 30 днів (моніторинг, виправлення помилок).

Зв'яжіться з нами для отримання консультації та оцінки вашого проєкту. Замовте розробку токена — ми підготуємо рішення під ключ.