Розробка пулів ліквідності для ставок на блокчейні

Розробка пулів ліквідності для ставок на блокчейні Ми не раз стикалися з ситуацією: клієнт приходить з ідеєю децентралізованої букмекерської платформи, але не розуміє, як розподілити ризики між провайдерами ліквідності. У централізованих системах дом приймає все на себе — в DeFi-беттингу відповід

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

Часті запитання

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

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

Розробка пулів ліквідності для ставок на блокчейні

Ми не раз стикалися з ситуацією: клієнт приходить з ідеєю децентралізованої букмекерської платформи, але не розуміє, як розподілити ризики між провайдерами ліквідності. У централізованих системах дом приймає все на себе — в DeFi-беттингу відповідальність лягає на LP-пул. Наше завдання — спроектувати механізм, який збалансує stake та payout так, щоб пул не виявився порожнім після серії апсетів.

Протоколи типу Azuro будують інфраструктуру саме такого типу: провайдер додає USDC в пул, ставки йдуть проти цього пулу, odds коригуються динамічно залежно від обсягів та поточного exposure. За 5+ років ми розробили понад 30 блокчейн-рішень, включаючи беттинг-продукти для Polygon та Arbitrum.

Ключова проблема: управління exposure

Дисбаланс ставок

Якщо 90% ставок йде на одну сторону події (наприклад, на перемогу Реала в дербі), пул несе величезний directional risk. Один результат — провайдери ліквідності втрачають значну частину пулу, інший — заробляють.

Динамічні odds як рішення: при перевищенні exposure threshold на одну сторону odds на цю сторону автоматично знижуються, роблячи ставку менш привабливою, а на протилежну — зростають. Це балансувальний механізм без централізованого маркет-мейкера.

function calculateOdds( uint256 eventId, uint8 outcomeId ) public view returns (uint256 odds) { ExposureData memory data = exposures[eventId]; uint256 totalPool = data.lpLiquidity; uint256 sideExposure = data.outcomeExposure[outcomeId]; // Чим вище exposure на сторону, тим нижче odds uint256 adjustedPool = totalPool - sideExposure * MARGIN_FACTOR / 1e18; odds = (adjustedPool * 1e18) / (adjustedPool - sideExposure); } 

Реальні системи використовують більш складні моделі з урахуванням correlated events (кілька матчів в одному турнірі), liquidity depth та market maker oracle для початкових odds.

Як захистити пул від маніпуляцій? Оракул результатів

Це найуразливіша точка будь-якого беттинг-протоколу. Хто визначає результат матчу? Централізований оратор — єдина точка відмови. Компрометація оракула = дренаж всієї ліквідності. Ми використовуємо багаторівневий захист:

Підхід Переваги Недоліки Застосовність
Chainlink Functions + Any API Агрегація кількох спортивних джерел (Sportradar, API-Football), поріг консенсусу Залежність від Chainlink Основний потік подій
UMA Optimistic Oracle Період оскарження, голосування стейкерів Повільніше, потребує UMA-токенів Високоволатильні матчі
Kleros Децентралізований арбітраж для спірних випадків Дорогий, не для кожного матчу Edge cases (перервані матчі)

У продакшн-системах оптимальна комбінація: автоматичне вирішення через Chainlink для очевидних результатів, Kleros — для спірних. Такий підхід знижує ймовірність маніпуляції на 95%.

Архітектура контрактів

Структура пулу ліквідності

Пул нагадує Uniswap LP, але з відмінностями:

  • LP-токен представляє частку (аналог LP-токену AMM)
  • Ліквідність блокується на період активних подій
  • При масовому виведенні — черга (withdrawal queue)
struct LiquidityPool { uint256 totalLiquidity; // USDC в пулі uint256 lockedLiquidity; // заблоковано для покриття відкритих ставок uint256 totalShares; // LP-токени mapping(address => uint256) shares; } function addLiquidity(uint256 amount) external { // shares розраховуються пропорційно поточній вартості пулу uint256 newShares = totalShares == 0 ? amount : amount * totalShares / totalLiquidity; // ... } 

lockedLiquidity — максимально можлива виплата за всіма відкритими ставками. LP не може вивести ліквідність нижче цього порогу. Це інваріант безпеки: пул завжди здатен розрахуватися за поточними ставками.

Ставки як NFT чи fungible?

Два підходи: ставка як ERC-721 NFT (унікальна, може торгуватися на вторинному ринку) або як запис у маппінгу контракту. ERC-721 відкриває можливість ставочного маркетплейсу — користувач може продати виграшну ставку до завершення події. Це додаткова ліквідність для користувачів та додатковий revenue для протоколу (комісія з вторинних угод). Azuro використовує саме цей підхід через betting ERC-721. Трейдоффи: трохи вищий gas на створення ставки (~50k gas vs ~30k для маппінгу), складніше аудитується.

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

Кожен проєкт включає:

  • Архітектурна документація (діаграми потоків, безпека)
  • Розробка та аудит смарт-контрактів (Foundry + Slither)
  • Інтеграція Chainlink або інших оракулів
  • Налаштування та тестування liquidity pool логіки
  • Розгортання на тестовій мережі та mainnet
  • Документація для інтеграторів та користувачів
  • Підтримка протягом 3 місяців після запуску

Економіка провайдерів ліквідності

Прибутковість LP = маржа платформи - виплати за виграшними ставками. При маржі 5% та збалансованих ставках — LP заробляє 5-8% річних плюс додатковий yield від невикористаної ліквідності (стейкінг USDC в Aave, поки події не закриті). Ризик: при серії великих upset-результатів — LP втрачає. Insurance fund з частини комісій частково буферизує втрати. Для зниження ризику ми рекомендуємо розділяти пули за видами спорту та лімітувати exposure на одну подію.

Чому обирають нас?

20+ інженерів в команді, 5 років на ринку блокчейн-розробки, 30+ запущених dApps. Надаємо гарантію на безпеку контрактів (formal verification за запитом). Пишіть — оцінимо ваш проєкт та запропонуємо архітектуру під ключ.

Орієнтовні терміни

Етап Тривалість
Аналітика та проектування 1-2 тижні
Розробка смарт-контрактів 2-4 тижні
Інтеграція та тестування 1-2 тижні
Аудит та деплой 1-2 тижні

Базовий пул з фіксованими odds та централізованим оракулом — від 1 до 2 тижнів. Повноцінний протокол з динамічними odds, Chainlink, LP-токенами та вторинним ринком ставок — від 6 до 10 тижнів. Вартість розраховується індивідуально після обговорення архітектури та джерел даних.