Цю сторінку перекладено автоматично. Оригінал англійською мовою є канонічним. Читати англійською
Перейти к основному содержимому

Ліквідація

Ліквідація захищає систему від акаунтів, які більше не можуть виконувати свої маржинальні зобов'язання. Коли власний капітал акаунта падає нижче його підтримуючих маржинальних вимог, процес ліквідації передає позиції платоспроможним контрагентам.

Умови спрацювання

Ліквідація спрацьовує, коли акаунт стає збитковим (underwater):

Портфельна маржа:

Equity<Maintenance Margin Required\text{Equity} < \text{Maintenance Margin Required}

Стандартна маржа:

Maintenance Margin<0\text{Maintenance Margin} < 0

Де підтримуюча маржа = власний капітал - необхідна MM.

Система безперервно опитує всі акаунти з позиціями для перевірки їхнього стану.

Машина станів

Акаунти проходять через чотири стани ліквідації:

ЗдоровийКапітал > потрібний MM✓ Дозволені всі ордериПереліквідація60с період грації✗ Заблоковано збільшення ризику✓ Дозволено зменшення ризикуВ ліквідаціїГолландський аукціон активний✗ Заблоковані всі ордериЛіквідованийПозиції переданіКапітал < MMЗакінчується період граціїАукціон завершеноДепозит / Закрити позиціїКлючові параметри Період грації: 60 секунд Часткова ліквідація: ≤5 позицій Повна ліквідація: >5 позицій Штраф за ліквідацію: заохочує ліквідаторів Страховий фонд: покриває неплатоспроможність ADL: якщо страховий фонд вичерпанийВідновлення: внесіть заставу або закрийте позиції під час переліквідаціїдля повернення до здорового стану. Після початку ліквідації відновлення неможливе.WebSocket транслює зміни стану по каналу liquidation.Каскад неплатоспроможності1Капітал рахункуКористувач поглинає збиток до капіталу2Страховий фондПокриває дефіцит, якщо капітал недостатній3ADL (авто-деліверіж)Прибуткові контрагенти деліверіжані
СтанОписОбмеження на ордери
HealthyВласний капітал > необхідна MMНемає
PreLiquidationВласний капітал < MM, діє пільговий періодОрдери, що збільшують ризик, заблоковані
InLiquidationАукціон триваєУсі ордери заблоковані
LiquidatedАукціон завершеноАкаунт очищено

Переходи між станами

  1. Healthy → PreLiquidation: акаунт падає нижче порогу MM
  2. PreLiquidation → Healthy: акаунт відновлюється вище MM (користувач додав кошти або закрив позиції)
  3. PreLiquidation → InLiquidation: пільговий період закінчується без відновлення
  4. InLiquidation → Liquidated: аукціон успішно завершується

Пільговий період перед ліквідацією

Коли акаунт входить у стан передліквідації:

  1. Ордери, що збільшують ризик, блокуються негайно
  2. Ордери, що зменшують ризик (закриття позицій), залишаються дозволеними
  3. Починається 60-секундний пільговий період
  4. Якщо акаунт відновлюється (власний капітал > MM) до закінчення пільгового періоду, він повертається в стан Healthy
  5. Якщо після пільгового періоду акаунт все ще збитковий, починається ліквідаційний аукціон

Пільговий період дає користувачам час, щоб:

  • Внести додаткове забезпечення
  • Закрити позиції для зменшення маржинальних вимог
  • Відреагувати на раптові рухи ринку

Ліквідаційний аукціон

Коли пільговий період закінчується, починається голландський аукціон:

Платоспроможний аукціон (власний капітал > 0)

Початкова ціна = власний капітал × (1 - штраф), яка зменшується з часом.

Ліквідатори роблять ставки, щоб взяти на себе позиції акаунта в обмін на:

  • Власний капітал акаунта (мінус штраф)
  • Відповідальність за всі позиції

Штраф створює стимул для участі ліквідаторів.

Неплатоспроможний аукціон (власний капітал < 0)

Якщо акаунт неплатоспроможний (від'ємний власний капітал), страховий фонд надає бонус, щоб стимулювати ліквідаторів поглинути збиткові позиції.

Передача позицій

Коли ліквідація завершується:

  1. Усі позиції передаються від ліквідованого акаунта до ліквідатора
  2. Ліквідатор отримує (для платоспроможного) або сплачує (отримує бонус для неплатоспроможного) вартість розрахунку
  3. Маржинальний корінь оновлюється в блокчейні
  4. Стан акаунта переходить у Liquidated

Часткова та повна ліквідація

ТипУмоваПоведінка
Часткова≤ 5 позиційЛіквідація окремих позицій до відновлення MM
Повна> 5 позиційЛіквідація всього акаунта

Часткова ліквідація детермінована:

  • Позиції впорядковуються за послідовним алгоритмом (не випадково)
  • Ліквідатор отримує позиції у визначеному порядку
  • Процес зупиняється, коли акаунт повертається до здорового стану

Каскад неплатоспроможності

Коли ліквідація не може відновити повну вартість, збитки поглинаються в такому порядку:

  1. Власний капітал акаунта: ліквідований користувач поглинає збиток у межах свого власного капіталу
  2. Страховий фонд: покриває дефіцит, якщо власного капіталу недостатньо
  3. ADL (автоматичне делеверіджування): якщо страховий фонд вичерпано, прибуткові контрагенти делеверіджуються пропорційно
  4. Соціалізований збиток: останній рівень захисту (наразі не реалізовано)

Страховий фонд

Страховий фонд:

  • Накопичується зі штрафів за ліквідацію
  • Покриває неплатоспроможні ліквідації
  • Поповнюється за рахунок торгових комісій та штрафів
  • Має цільовий мінімальний резерв

ADL (автоматичне делеверіджування)

Якщо страховий фонд не може покрити збитки:

  • Обираються контрагенти з прибутковими позиціями
  • Позиції примусово закриваються за марк-ціною
  • Пріоритет вибору надається найвищому прибутку та кредитному плечу
  • Постраждалі користувачі отримують сповіщення

API-ендпоінти

Отримати статус ліквідації

GET /liquidation/status?wallet=0x...

Відповідь:

{
"success": true,
"data": {
"wallet": "0x...",
"state": "pre_liquidation",
"margin_mode": "portfolio",
"equity": "4500.00",
"mm_required": "5000.00",
"maintenance_margin": "-500.00",
"entered_pre_liq_at": 1737312000000,
"mm_shortfall": "500.00",
"auction_id": null
}
}

Отримати історію ліквідацій

GET /liquidation/history?wallet=0x...&limit=20

Повертає історію переходів між станами для акаунта.

Отримати публічну історію ліквідацій

GET /liquidations?limit=50

Повертає історію ліквідаційних переходів по всіх гаманцях, починаючи з найновіших. Ендпоінт є публічним і використовує курсорну пагінацію для ботів-ліквідаторів та інструментів моніторингу.

Параметри запиту

  • cursor: непрозорий курсор, повернутий попередньою сторінкою.
  • limit: розмір сторінки, за замовчуванням 50, максимум 100.
  • wallet: необов'язковий фільтр за гаманцем.
  • status або state: необов'язковий фільтр за станом ліквідаційного переходу. Допустимі значення: healthy, pre_liquidation, in_liquidation та liquidated.
  • margin_mode: необов'язковий фільтр за режимом маржі. Допустимі значення: standard та portfolio.
  • liquidation_mode: необов'язковий фільтр за режимом ліквідації. Допустимі значення: partial та full.

Відповідь: PublicLiquidationsResponse із записами ліквідаційних переходів та page.next_cursor для наступного запиту.

Отримати деталі аукціону

GET /liquidation/auction/{auction_id}

Повертає статус аукціону, позиції та деталі розрахунку.

Сповіщення через WebSocket

Зміни стану ліквідації транслюються в каналі liquidation:

{
"type": "LiquidationStateChange",
"wallet": "0x...",
"previous_state": "healthy",
"new_state": "pre_liquidation",
"equity": "4500.00",
"mm_required": "5000.00",
"shortfall": "500.00",
"auction_id": null,
"timestamp": 1737312000000
}

Підпишіться, щоб отримувати оновлення в реальному часі для вашого гаманця.

Параметри

ПараметрЗначенняОпис
poll_interval5 секундЧастота перевірки стану
grace_period60 секундЧас до початку аукціону
min_shortfall_threshold0Мінімальний дефіцит для спрацювання передліквідації
partial_liquidation_threshold5 позиційНижче цього значення використовується часткова ліквідація

Найкращі практики

Для трейдерів

  1. Моніторте коефіцієнт маржі: тримайте власний капітал значно вище MM (рекомендовано буфер 2x)
  2. Налаштуйте сповіщення: використовуйте WebSocket для раннього виявлення передліквідації
  3. Тримайте резерв напоготові: майте запасне забезпечення, готове до внесення
  4. Використовуйте стоп-лоси: автоматизуйте зменшення позицій до ліквідації

Перевірка стану

Регулярно перевіряйте свій маржинальний статус:

# Portfolio margin
curl "https://api.hypercall.xyz/portfolio?wallet=0x..."

# Look for:
# - equity vs maintenance_margin_required
# - margin_ratio (equity / IM)

Відновлення протягом пільгового періоду

Якщо ви увійшли в стан передліквідації:

  1. Внесіть забезпечення через процедуру фінансування
  2. Закрийте позиції для зменшення маржинальних вимог
  3. Скасуйте відкриті ордери, які збільшують ризик

Дії, що зменшують ризик, завжди дозволені, навіть у стані передліквідації.

У блокчейні та поза блокчейном

КомпонентРозташуванняПримітки
Моніторинг стануПоза блокчейномОпитування кожні 5 секунд
Переходи між станамиПоза блокчейномЛогуються та зберігаються
Таймер пільгового періодуПоза блокчейномКонфігурується
Виконання аукціонуУ блокчейніПередача позицій через контракт Controller
РозрахунокУ блокчейніПередача вартості та оновлення маржинального кореня

Позаблокчейний рушій відповідає за виявлення та оркестрацію; виконання в блокчейні забезпечує фінальність розрахунку.


Див. також: