Почему пул ликвидности ставки теряет устойчивость
Тонкая ликвидность — пул, который держит несколько поставщиков, выглядит рабочим ровно до первой крупной ставки. Ставка размером в несколько процентов от его глубины съедает лучшие уровни, и проскальзывание уводит фактический коэффициент от того, что видел пользователь. Он уходит к другому источнику, а оставшаяся ликвидность получает ещё больший перекос.
Поставщик ликвидности считает доходность по комиссиям и редко закладывает непостоянные потери. При движении коэффициентов состав пула расходится с внешними ценами: арбитражники выкупают подешевевший актив и возвращают его после сдвига, в пуле остаётся перевес падающего актива. Комиссия за ставки этот разрыв покрывает не всегда, и первым из пула выходит тот, кто считает быстрее остальных.
Вторая группа проблем — расчётная. Исход по событию приходит с задержкой от источника, коэффициенты в это время пересчитываются по устаревшему состоянию, а выплаты висят в статусе «в обработке». Рассинхрон коэффициентов между пулом и внешними площадками открывает простой арбитраж: ставку берут по нашей цене, уже зная определённый исход.
Дальше разбираем, как это закрывается: ценообразование по глубине пула, лимиты на размер ставки относительно ликвидности, перекрёстное подтверждение исходов и очередь выплат с резервным фондом.
Измеримый эффект: что меняется в расчётах и выплатах
Пул ликвидности — это не одна функция выплаты, а цепочка: зафиксировать исход, взять цену на заданный момент, пересчитать доли и распределить начисления. Пока эти шаги живут в скриптах вокруг интерфейса биржи, каждое звено рвётся по-своему. Когда правила описаны в контракте, каждое звено становится измеримым.
Время расчёта и доступности. Раньше итог по событию собирали часами: выгрузка сделок, сверка с логами, ручной пересчёт долей. В контрактном пуле расчёт идёт одним проходом — итог появляется в пределах минуты после подтверждения исхода, а промежуточные состояния доступны в любой момент. Участник видит, из чего сложилась его доля, без запроса в поддержку.
Доля спорных расчётов. Спор почти всегда не про исход события, а про арифметику: чей курс, на какую секунду, с каким допуском. Момент фиксации, источник цены и порог отклонения прописываются в правилах пула; для тонких пар берём агрегированный источник вроде Chainlink и фиксируем медиану за окно. Доля спорных обращений падает с десятков процентов до единичных.
Проскальзывание и глубина. Размер позиции ограничен лимитом экспозиции на исход, вход и выход идут против зарезервированной части пула. Проскальзывание на типовой операции сокращается в разы: крупный вход больше не сдвигает котировку так, что выплата первому участнику съедает долю второго.
Классы отказов, которые уходят. Двойное начисление, выплата по устаревшей цене, зависший расчёт при недоступности внешнего сервиса — отдельные классы отказов, а не «редкие баги». Их закрывают идемпотентность начисления, жёсткое окно на фиксацию цены и резервный источник.
Сравнение схем пула: автоматическая, управляемая, гибридная
Схема пула определяет, кто выставляет котировки, откуда берётся глубина и как считается комиссия поставщика ликвидности. При запуске ставок реально выбирают между тремя конфигурациями — и каждая ломается на своём режиме нагрузки.
| Вариант | Когда подходит | Ограничения |
|---|---|---|
| Автоматическое ценообразование по формуле от балансов резерва | Ровный поток сделок, нет выделенного оператора, нужна работа без остановок | На тонкой ликвидности односторонний перекос уводит цену от рынка, и арбитраж вычерпывает резерв |
| Управляемый пул с оператором | Волатильные пары, узкий круг участников, нужна ручная корректировка котировок | Реакция зависит от человека, растёт задержка между движением рынка и новой ценой |
| Гибридная схема расчёта с внешним источником ликвидности | Нужна глубина на старте и защита от резких движений | Сложнее учёт долей и накопленной комиссии, добавляется зависимость от внешнего поставщика |
Где каждая схема ломается
Автоматическая не терпит разрывов между резервами: как только одна сторона пула опустеет, расчётная цена перестаёт отражать рынок, а поставщики ликвидности фиксируют убыток вместо дохода. Управляемая схема выдерживает волатильность, но проигрывает на объёме — оператор физически не успевает переставлять котировки при высокой частоте сделок.
Гибридная схема расчёта закрывает обе крайности, если внешний источник ликвидности синхронизирован с внутренним учётом. При рассинхроне расходятся доли участников и начисленная комиссия поставщика ликвидности, а сверка превращается в ручной разбор. Поэтому схему фиксируют до старта: смена модели затрагивает уже распределённые доли и историю начислений.
Этапы работы: от аудита механики до передачи регламентов
Пул ликвидности для ставок — это связка контрактов, оракула исходов и расчёта выплат. Ошибка в любом слое становится видна уже на живых деньгах, поэтому этапы идут строго последовательно: следующий стартует только после проверки предыдущего.
- Аудит механики пула. Разбираем приём ставок, расчёт доли поставщика ликвидности и поведение системы при перекосе пула в одну сторону. Результат — карта узких мест с оценкой риска по каждому.
- Схема потоков средств. Фиксируем контуры — приём ставок, резерв выплат, вознаграждение поставщиков — и то, как между ними двигаются средства. Схема становится общей точкой правды для разработки и проверки.
- Настройка расчёта исходов. Определяем источник результата, сколько подтверждений требуется и по какому правилу закрывается расчёт при расхождении данных. Именно здесь возникает большинство спорных ситуаций.
- Реализация и внутренняя проверка. Закрываем граничные сценарии: нулевая ликвидность, отмена события, резкий рост объёма ставок.
- Проверка на исторических данных. Прогоняем механику на прошлых событиях и реальных профилях ставок, сверяем расчёт выплат с ожидаемым и смотрим поведение пула на волатильных отрезках.
- Передача документации и запуск. Отдаём описание контуров, политики расчёта, порядок развёртывания, план отката и чек-листы сопровождения.
После передачи ваша команда ведёт пул самостоятельно: решения зафиксированы в регламентах, а не держатся в головах инженеров.
Схемы потоков, матрица прав и регламенты расчёта
Расчётный контур переживает и команду, которая его собрала, и подрядчика, который его настраивал: меняются администраторы, подписанты, состав пула. Поэтому каждый артефакт отдаём в виде, читаемом без доступа к переписке и закрытым каналам — по нему новый инженер или ваш аудитор восстановит логику движения средств.
- Схема движения средств — от пополнения пула до начисления награды и вывода: на каком шаге меняется баланс, какой контракт вызывается, где средства задерживаются в промежуточном состоянии.
- Схема ролей — депозитор, оператор параметров, казначей, наблюдатель: какие операции подписывает каждая роль и где кончаются её полномочия.
- Матрица прав доступа — таблица «роль × операция»: смена комиссии, лимиты, пауза, обновление логики, вывод собранных комиссий. Для критичных операций указан порог подписей и круг держателей ключей, рядом — журнал изменений параметров: кто, когда и по какой причине менял ставку.
- Регламент разбора спорных исходов — как фиксируем расхождение (срез балансов на момент расчёта и журнал событий), за какой срок отвечаем, кто принимает решение и как кейс закрывается записью в журнал.
- Инструкция по аварийной остановке — пошаговый порядок паузы, судьба начисленных, но не выведенных наград, обратный ввод пула в работу с проверкой инвариантов.
- Регламент обновления расчётной логики — прогон на копии пула, окно изменений, перенос состояния, заранее описанный откат на предыдущую версию.
- Документация расчётного контура — формулы начисления и правила округления, порядок срезов состояния, поведение на границах: нулевая ликвидность, резкий вывод крупного участника.
Кейс: оборот вырос, доля спорных расчётов упала в разы
Пул под блокчейн-ставки на спортивные события запускался на смешанной схеме: ликвидность лежала в нескольких кошельках, коэффициенты считал расчётный модуль по курсу, который оператор заводил вручную. В пиковые выходные пул не успевал закрывать крупные позиции, выплаты уходили с задержкой до 9 часов, а расхождение между зафиксированным курсом и рыночной ценой разбирали вручную.
Доля спорных расчётов доходила до 7,4% от всех событий сезона. Каждый спор — остановленный вывод, переписка и пересчёт задним числом; поставщики ликвидности уводили объём, потому что не понимали, как формируется цена.
Что изменили
Пул разделили на ядро и резерв под крупные выплаты — просадка одного рынка перестала двигать цену всего пула. Курс и события выплат привязали к оракулу Chainlink и задали коридор расхождения: при выходе за него приём ставок на рынке закрывается автоматически, расчёт идёт по последней подтверждённой цене.
Выплаты перевели на пакетный расчёт с детерминированным порядком и журналом событий: повторная отправка не создаёт вторую выплату, зависшая транзакция поднимается автоматически. Панель по каждому рынку показывает глубину, проскальзывание и долю отклонённых ставок.
Что стало
За два сезона оборот пула вырос в 4,5 раза, глубина на самых нагруженных рынках держится в пределах 3% от целевой. Доля спорных расчётов упала до 0,8% — оставшиеся кейсы почти всегда связаны с ошибкой ввода у оператора, а не с логикой расчёта. Среднее время выплаты — 40 секунд, 99-й процентиль укладывается в 4 минуты даже в пиковые часы.
Чем расчёт по оракулу отличается от расчёта по мультиподписи?
Расчёт по оракулу берёт исход из внешнего источника — публичного стакана биржи или свода котировок с нескольких площадок. Мультиподпись исходит из решения группы подтверждающих: транзакция уходит только после того, как наберётся порог ключей. Первая схема подходит там, где исход — однозначное число, вторая — где результат требует трактовки: признание события, дисквалификация, юридический факт.
Задержка подтверждения у оракула складывается из интервала обновления источника и окна спора — расчёт укладывается в минуты и не зависит от присутствия людей. Мультиподпись ждёт подписи каждого участника порога: пока ключи собираются, пул держит открытую позицию, а котировка устаревает. На рынке с короткими раундами такая пауза превращается в систематический проигрыш по времени.
Стоимость подтверждения тоже разной природы. Оракул — плата за запросы и подписку на поток котировок, она предсказуема и не растёт вместе с числом ставок. Мультиподпись дешевле на редких расчётах, но требует держать набор ключей, следить за ротацией и оплачивать подтверждающих. Доверие: у оракула риск в источнике — манипуляция данными или сбой площадки, у мультиподписи — сговор подтверждающих, и порог лишь повышает его цену, но не убирает.
Схему расчёта выбирают по частоте расчётов и проверяемости исхода. Для ценовых и спортивных рынков — оракул со сводом нескольких источников, отсечкой аномальных значений и запасным каналом данных. Для событийных — пороговая мультиподпись с ротацией ключей, окном оспаривания и залогом. В гибридной схеме оракул закрывает раунд, а мультиподпись работает как апелляция внутри окна спора.
Вопросы по оракулам, экспозиции и комиссиям
Оракул даёт итог события, но между публикацией результата и выплатой лежит несколько технических оговорок. Они редко видны на тестах и всплывают уже после запуска пула, когда в нём лежат ставки.
Экспозиция считается как нетто-позиция по каждому исходу отдельно, а не по рынку целиком. Лимит на исход задаётся в параметрах пула: при его достижении приём ставок по этому исходу закрывается, а коэффициенты пересчитываются по фактическому распределению средств.
Что с открытыми ставками при спорном исходе?
Расчёт выплат замораживается, средства остаются на контракте пула. Окно разрешения удлиняется на период апелляции, итог фиксируется решением оракула; при таймауте срабатывает правило возврата тела ставки.
Когда списывается комиссия пула?
В момент расчёта выплаты, а не при приёме ставки. Она не выводится отдельным кошельком, а остаётся в пуле и увеличивает долю поставщиков ликвидности — доходность считается по факту расчёта.
Как добавить новый рынок, не останавливая пул?
Рынок — отдельная запись в реестре контракта при общем котле ликвидности. Он добавляется транзакцией администратора, получает лимит на исход и подключается к тому же оракулу; открытые ставки на других рынках не затрагиваются.
Что происходит с контрактами при смене логики расчёта?
Обновление идёт через прокси-контракт: меняется реализация, состояние пула и открытые ставки сохраняются. Версия логики фиксируется в момент ставки — уже принятые считаются по прежним правилам.
Обсудим задачу и вернёмся с оценкой и планом
Чтобы вернуться с оценкой объёма работ, а не с общими словами, нужна постановка задачи в вашей логике: какая сеть и тип стейкинга, чей токен принимается в пул, как начисляется вознаграждение и что происходит при выходе из пула. Чем конкретнее описана экономика, тем точнее мы разложим работы по этапам.
Отдельно проговорим доступы и данные — их отсутствие обычно и тормозит старт. Достаточно тестовой среды, доступов к контрактам и понимания, кто на стороне заказчика принимает результат. Из этого собираем состав работ, план внедрения и оценку объёма работ.
- Постановка задачи: сеть, тип стейкинга, роли участников, сценарии входа и выхода из пула.
- Экономика: источник вознаграждения, комиссия протокола, порядок распределения между поставщиками ликвидности.
- Доступы и данные: репозитории, тестовая среда, узлы, доступ к контрактам и ключам с описанной моделью хранения.
- Ограничения: лимиты на ввод и вывод, требования к отчётности перед участниками пула.
- Состав работ: контракты, интеграция с кошельками, мониторинг позиций, проверки безопасности.
- План внедрения: порядок этапов, точки приёмки, вывод в основную сеть, сопровождение после запуска.
На выходе вы получаете план работ с этапами, точками приёмки и зонами ответственности. Опишите задачу в свободной форме — вернёмся с оценкой и разбором спорных мест.







