Ликвидации, ADL и страховой фонд
Ликвидация закрывает позиции субаккаунта, когда его капитал опускается ниже поддерживающей маржи. Если закрытия не хватило и обеспечение ушло в минус, дефицит по порядку покрывают страховой фонд, контрагенты и ADL.
Когда начинается ликвидация
- Условие. Капитал субаккаунта по цене оракула ниже суммарной поддерживающей маржи.
- Когда проверяется. В конце каждого блока. Первыми ликвидируются субаккаунты с наибольшей нехваткой маржи.
- Сколько за блок. До 500 субаккаунтов и 2 000 позиций, остальные - в следующем блоке.
- Устаревшая цена. Если цена оракула устарела, ликвидация откладывается до свежей цены. Если оракул закрыл пару (пауза или circuit breaker), позиции по ней оцениваются по последней цене оракула и ликвидируются без ожидания.
Как закрываются позиции
- Книга. Протокол отправляет в книгу рыночный reduce-ордер, сделки идут по ценам ордеров в книге. Ликвидируемый не платит комиссию тейкера.
- Сопоставление. Остаток, на который в книге не нашлось ордеров, закрывается против противоположных позиций по цене оракула, без комиссий. Их владельцы закрывают такую же часть позиции. Первыми берутся позиции с наибольшей доходностью на маржу (PnL / IM).
- Штраф. После закрытия списывается штраф 0.5% от закрытого номинала, он идёт в страховой фонд. В минус субаккаунт штраф не уводит: если обеспечения не хватает, штраф уменьшается или не берётся.
Если рынок на паузе, решением governance или автоматически из-за устаревшей цены, или на паузе пара оракула, книга пропускается и позиция целиком закрывается сопоставлением.
Банкротство
Если после закрытия обеспечение отрицательное, дефицит покрывается по порядку:
- Страховой фонд. Платит, пока в нём есть средства.
- Контрагенты по сопоставлению. Прибыль, которую они получили при закрытии на шаге 2, возвращается в пределах дефицита.
- ADL. Прибыль забирается у прибыльных позиций противоположной стороны, начиная с наибольшей доходности на маржу. Позиции не закрываются: забранная прибыль отражается сдвигом цены входа. Забирается только прибыль, в убыток позицию это не уводит.
- Безнадёжный долг. Остаток записывается как bad debt. Если накопленный долг превысит 10 000 USDC, торговля останавливается до решения governance.
После банкротства с дефицитом от 0.1 USDC выводы и переводы во всей сети замораживаются на 50 блоков. Подробнее - в «Субаккаунты и маржа».
Страховой фонд
- Поступления:
- 20% торговых комиссий;
- штрафы ликвидаций;
- взносы: пополнить фонд может любой адрес через
MsgSeedInsuranceFund.
- Расходы. Только покрытие дефицитов банкротств.
- Предупреждения. Если баланс фонда опускается ниже 10 000 USDC и ниже 1 000 USDC, сеть публикует предупреждающие события.
Восстановление после остановки
Governance пополняет фонд, списывает учтённый долг через MsgClearBadDebt и возобновляет торговлю пропозалом.