Skip to main content


Insurance Account

An insurance account stores the fees paid by the users being liquidated. The current account is an EOA account managed by the JOJO team, and in the future, the insurance account will be upgraded to a smart contract.

Currently, the insurance account that covers bad debts in perpetual contracts for different trading pairs is the same. If the insurance account does not have enough funds to cover the bad debt, you can still trade on JOJO. The insurance fund will cover the bad debt until it is paid off. You can also find the insurance account's address by calling IDealer#insurance(). To check the insurance balance, look for this account's primaryCredit and secondaryCredit values.

Insurance Fee

For each liquidation, insurance fees are charged, and in case of bad debts, they will be covered by the insurance account. After the liquidation, the user's credit amount may exist in the following situations.

  • If the credit amount is negative, bad debts will be generated, and the insurance account will be used to balance the accounts.

  • Users still have credits, but if they are not enough to pay the insurance fee, the insurance will remove all the remaining credits from the user.

  • Users still have credits and enough to pay the insurance fee, then the remaining credits will be returned to the user.

insuranceFee=LiquidatorCreditChangeinsuranceFeeRateinsuranceFee = LiquidatorCreditChange * insuranceFeeRate

Bad Debt and Insurance Income

Whenever a trader initiates a new position, the position might get liquidated. If this happens, there is a risk of bad debts. Therefore, insurance fees are charged to balance the risk and return associated with such situations.