Створення bonding curve: параметри, захист та міграція на DEX

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

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

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

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

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

Зауважимо: коли токен запускається через bonding curve без правильного налаштування параметрів, перші ж транзакції можуть бути спам-атаками снайперів, а крива може дати несправедливу перевагу раннім покупцям. Ми в кожному проекті налаштовуємо форму кривої, комісії, пороги graduation та захисні механізми під конкретну економіку токена — чи то мем-токен, чи utility. Наша команда працює більше 5 років і реалізувала більше 30 контрактів bonding curve на Ethereum, BNB Chain та Solana.

Pump.fun зробив bonding curve масовим продуктом: будь-хто може запустити токен без seed liquidity, без лістингу на CEX, без алокації інсайдерам. Ціна зростає за детермінованою кривою в міру покупок — і падає в міру продажів. Це не магія, це математика AMM без пулу контрагентів.

Але за простотою інтерфейсу ховається нетривіальний вибір: форма кривої, параметри, механіка graduation (перехід на DEX), захист від sniper ботів. Неправильні рішення тут — токен помирає в перші години. Ми пропонуємо комплексну розробку під ключ: від аналітики до деплою, з документацією та підтримкою. Отримайте консультацію по вашому проекту — оцінимо токеноміку та запропонуємо оптимальні налаштування кривої. Наш підхід дозволяє заощадити до 30% на комісіях за рахунок оптимізації контракту. Завдяки правильному налаштуванню кривої, ви знижуєте витрати на ліквідність на 20–40%.

Форми кривих та їх поведінка

Linear bonding curve

P(x) = a * x + b

Ціна лінійно зростає з supply. Просто, передбачувано. Проблема: при низькому a ранні покупці отримують мінімальну перевагу; при високому — пізні вхідні переплачують непропорційно.

Exponential / Power curve

P(x) = a * x^n

При n > 1 — зростання прискорюється. Сильно винагороджує ранніх учасників. Експоненціальна крива дає раннім покупцям до 10x більше прибутку порівняно з лінійною кривою при тій самій кінцевій капіталізації. Pump.fun використовує варіант цієї кривої. Для мем-токенів це особливо актуально.

Bancor formula (constant reserve ratio)

P = Balance / (Supply * CRR)

Зауважимо: де CRR — частка резерву. При CRR = 0.5 ціна зростає як x². Bancor зробив цю математику популярною, Uniswap v3 використовує схожі ідеї в concentrated liquidity.

Sigmoid curve

Повільне зростання на початку, швидке в середині, уповільнення до максимуму. Імітує S-криву adoption. Складніше в реалізації, але більш «органічне» ціноутворення для utility-токенів.

Як реалізувати bonding curve: ключові контрактні рішення

Інваріант vs. обчислення при кожній транзакції

Два підходи:

  • Аналітичний — формула задана точно, ціна обчислюється математично для будь-якого x. Вимагає точної арифметики великих чисел без втрати precision.
  • Дискретний — ціна оновлюється по сходинках. Простіше, менш gas-intensive, але менш точний.

Для production переважний аналітичний з використанням fixed-point бібліотек (PRBMath, ABDKMath):

import { PRBMathUD60x18 } from "@prb/math/UD60x18.sol";

contract BondingCurve {
    using PRBMathUD60x18 for uint256;
    
    uint256 public constant INITIAL_PRICE = 0.000001 ether; // в wei
    uint256 public constant K = 1e15; // коэффициент крутизни кривой
    
    uint256 public totalSupply;
    uint256 public reserveBalance;
    
    // Цена текущего токена при supply = x
    function currentPrice() public view returns (uint256) {
        // P(x) = INITIAL_PRICE + K * x^2
        return INITIAL_PRICE + K.mul(totalSupply.powu(2));
    }
    
    // Стоимость покупки amount токенов (интеграл кривой)
    function getBuyPrice(uint256 amount) public view returns (uint256) {
        // Интеграл P(x)dx от totalSupply до totalSupply + amount
        uint256 newSupply = totalSupply + amount;
        // ∫(INITIAL_PRICE + K*x^2)dx = INITIAL_PRICE*x + K*x^3/3
        return _integral(newSupply) - _integral(totalSupply);
    }
    
    function _integral(uint256 x) internal pure returns (uint256) {
        return INITIAL_PRICE * x + K.mul(x.powu(3)) / 3;
    }
    
    function buy(uint256 minTokens) external payable {
        uint256 tokensToMint = _calculatePurchaseReturn(msg.value);
        require(tokensToMint >= minTokens, "Slippage exceeded");
        
        reserveBalance += msg.value;
        totalSupply += tokensToMint;
        
        token.mint(msg.sender, tokensToMint);
        emit Buy(msg.sender, msg.value, tokensToMint);
    }
    
    function sell(uint256 tokenAmount, uint256 minEth) external {
        uint256 ethToReturn = _calculateSaleReturn(tokenAmount);
        require(ethToReturn >= minEth, "Slippage exceeded");
        
        token.burnFrom(msg.sender, tokenAmount);
        totalSupply -= tokenAmount;
        reserveBalance -= ethToReturn;
        
        payable(msg.sender).transfer(ethToReturn);
        emit Sell(msg.sender, tokenAmount, ethToReturn);
    }
}

Slippage protection

Параметри minTokens / minEth — обов'язкові. Без них транзакція вразлива до sandwich атаки: бот бачить велику покупку в mempool, купує перед нею (підвищує ціну), продає після (отримує різницю).

Fee structure

Bonding curve заробляє через fee при buy/sell:

uint256 public buyFeeBps = 100;  // 1%
uint256 public sellFeeBps = 100; // 1%

function buy(uint256 minTokens) external payable {
    uint256 fee = msg.value * buyFeeBps / 10000;
    uint256 netValue = msg.value - fee;
    
    protocolFees += fee;
    // ... расчёт tokenAmount на основе netValue
}

Pump.fun бере 1% з кожної транзакції + 0.5 SOL при graduation. Це генерує значний protocol revenue.

Навіщо потрібен graduation і як його реалізувати?

Graduation — момент, коли токен досягає target market cap і переходить з bonding curve на Uniswap/Raydium. Це ключовий момент: крива припиняє роботу, ліквідність мігрує в пул.

uint256 public constant GRADUATION_THRESHOLD = 69000 ether; // market cap в wei
uint256 public constant GRADUATION_LIQUIDITY = 12000 ether; // резерв для DEX pool

function _checkGraduation() internal {
    uint256 marketCap = totalSupply * currentPrice();
    if (marketCap >= GRADUATION_THRESHOLD && !graduated) {
        graduated = true;
        _graduate();
    }
}

function _graduate() internal {
    // 1. Создаём Uniswap v2 pair
    address pair = IUniswapV2Factory(UNISWAP_FACTORY).createPair(
        address(token), WETH
    );
    
    // 2. Добавляем ликвидность из резерва
    uint256 ethForLiquidity = GRADUATION_LIQUIDITY;
    uint256 tokensForLiquidity = _calculateTokensForLiquidity(ethForLiquidity);
    
    token.mint(address(this), tokensForLiquidity);
    IUniswapV2Router(UNISWAP_ROUTER).addLiquidityETH{value: ethForLiquidity}(
        address(token),
        tokensForLiquidity,
        0, 0, // min amounts (можно сделать строже)
        DEAD_ADDRESS, // LP токены сжигаем — ликвидность навсегда
        block.timestamp + 300
    );
    
    emit Graduated(pair, ethForLiquidity, tokensForLiquidity);
}

Важно: LP токени відправляються на 0xdead (burn). Це гарантує, що ліквідність не може бути вилучена. Без цього rug pull можливий в момент graduation.

Як захистити криву від снайперів?

Sniper боти моніторять mempool або події і купують в момент запуску з максимальним gas. Вони захоплюють велику частку раннього supply.

Кілька механік захисту:

  1. Cooldown між покупками — мінімальний інтервал між транзакціями одного адреса.
  2. Max buy per transaction — ліміт на одну транзакцію в перші N блоків.
  3. Launch delay з commit-reveal — адреса контракту не відома до моменту запуску (деплоїться через CREATE2 з salt, відомим тільки в момент launch).
Метод захисту Опис Ефективність проти снайперів
Cooldown Мінімальний інтервал між покупками одного адреса Середня
Max buy per tx Ліміт на суму першої покупки Висока
Commit-reveal launch Прихована адреса до запуску Дуже висока

Параметри кривої: практичні орієнтири

Параметр Значення для мем-токена Значення для utility-токена
Initial price 0.000001 ETH 0.001 ETH
Graduation market cap $50K–$100K $500K–$2M
Buy fee 1–2% 0.3–1%
Sell fee 1–2% 0.3–1%
Curve shape Exponential (n=2) Linear або sigmoid
Max buy (launch) 0.5–1 ETH 5–10 ETH

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

Комплексна розробка bonding curve включає:

  1. Аналіз економіки токена та підбір параметрів кривої
  2. Розробка смарт-контракту на Solidity (Foundry/Hardhat) з урахуванням gas-оптимізацій
  3. Реалізація механіки graduation з міграцією на Uniswap v2/v3 або Raydium
  4. Налаштування захисту від снайперів та антибот-механік
  5. Аудит контракту за допомогою Slither, Mythril та Echidna (fuzzing)
  6. Документація API для інтеграції фронтенду
  7. Деплой та верифікація на Etherscan/Solscan
  8. Технічна підтримка після запуску (2 тижні)

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

Ми дотримуємося поетапного підходу: аналітика → проектування → реалізація → тестування → деплой. Кожен етап завершується внутрішнім рев'ю та документуванням.

Bonding curve — це не просто smart contract, це механізм price discovery без orderbook. Правильно налаштована крива створює органічне зростання ціни, чесну винагороду ранніх учасників та плавний перехід на класичний AMM. Замовте розробку — ми підберемо оптимальні параметри під ваш проект.

Отримайте консультацію: зв'яжіться з нами, щоб обговорити ваш токен і отримати попередню оцінку. Ми допоможемо реалізувати надійний та ефективний контракт.

Wikipedia про AMM

Розробка токенів на 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 днів (моніторинг, виправлення помилок).

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