Ликвидации, ADL и страховой фонд

Ликвидация закрывает позиции субаккаунта, когда его капитал опускается ниже поддерживающей маржи. Если закрытия не хватило и обеспечение ушло в минус, дефицит по порядку покрывают страховой фонд, контрагенты и ADL.

Когда начинается ликвидация

  • Условие. Капитал субаккаунта по цене оракула ниже суммарной поддерживающей маржи.
  • Когда проверяется. В конце каждого блока. Первыми ликвидируются субаккаунты с наибольшей нехваткой маржи.
  • Сколько за блок. До 500 субаккаунтов и 2 000 позиций, остальные - в следующем блоке.
  • Устаревшая цена. Если цена оракула устарела, ликвидация откладывается до свежей цены. Если оракул закрыл пару (пауза или circuit breaker), позиции по ней оцениваются по последней цене оракула и ликвидируются без ожидания.

Как закрываются позиции

  1. Книга. Протокол отправляет в книгу рыночный reduce-ордер, сделки идут по ценам ордеров в книге. Ликвидируемый не платит комиссию тейкера.
  2. Сопоставление. Остаток, на который в книге не нашлось ордеров, закрывается против противоположных позиций по цене оракула, без комиссий. Их владельцы закрывают такую же часть позиции. Первыми берутся позиции с наибольшей доходностью на маржу (PnL / IM).
  3. Штраф. После закрытия списывается штраф 0.5% от закрытого номинала, он идёт в страховой фонд. В минус субаккаунт штраф не уводит: если обеспечения не хватает, штраф уменьшается или не берётся.

Если рынок на паузе, решением governance или автоматически из-за устаревшей цены, или на паузе пара оракула, книга пропускается и позиция целиком закрывается сопоставлением.

Банкротство

Если после закрытия обеспечение отрицательное, дефицит покрывается по порядку:

  1. Страховой фонд. Платит, пока в нём есть средства.
  2. Контрагенты по сопоставлению. Прибыль, которую они получили при закрытии на шаге 2, возвращается в пределах дефицита.
  3. ADL. Прибыль забирается у прибыльных позиций противоположной стороны, начиная с наибольшей доходности на маржу. Позиции не закрываются: забранная прибыль отражается сдвигом цены входа. Забирается только прибыль, в убыток позицию это не уводит.
  4. Безнадёжный долг. Остаток записывается как bad debt. Если накопленный долг превысит 10 000 USDC, торговля останавливается до решения governance.

После банкротства с дефицитом от 0.1 USDC выводы и переводы во всей сети замораживаются на 50 блоков. Подробнее - в «Субаккаунты и маржа».

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

  • Поступления:
    • 20% торговых комиссий;
    • штрафы ликвидаций;
    • взносы: пополнить фонд может любой адрес через MsgSeedInsuranceFund.
  • Расходы. Только покрытие дефицитов банкротств.
  • Предупреждения. Если баланс фонда опускается ниже 10 000 USDC и ниже 1 000 USDC, сеть публикует предупреждающие события.

Восстановление после остановки

Governance пополняет фонд, списывает учтённый долг через MsgClearBadDebt и возобновляет торговлю пропозалом.