Vertex Docs
  • Getting Started
    • 📋Overview
    • 📜Table of Contents
    • 🚀Mission
    • ⚔️Vertex Edge
      • 1️⃣Vertex on Arbitrum
      • 2️⃣Blitz on Blast
        • Blitz Documentation
      • 3️⃣Vertex on Mantle
        • 🎆Trading Rewards
        • 📊Perpetual & Spot Market Specifications
        • 🖥️Open-Source Contracts
        • 🔌API
      • 4️⃣Vertex on Sei
        • 💰Trading Rewards
        • 📊Perpetual & Spot Market Specifications
        • 🖥️On-Chain Contracts
        • 🔌API
      • 5️⃣Vertex on Base
        • 💰Trading Rewards
        • 📊Perpetual & Spot Market Specifications
        • 💻Onchain Contracts
        • 🔌API
        • ✍️Create a Coinbase Smart Wallet
      • 6️⃣Vertex on Sonic
        • 💰Trading Rewards
        • 📊Perpetual & Spot Market Specifications
        • ⛓️On-Chain Contracts
        • 🔌API
      • 7️⃣Vertex on Abstract
        • 📊Market Specifications
        • ⛓️On-Chain Contracts
        • 🔌API
      • 8️⃣Bro.Trade on Berachain
        • ⛓️On-Chain Contracts
        • 🔌API
      • 9️⃣Vertex on Avalanche
        • 💰Trading Rewards
        • 📊Market Specifications
        • ⛓️On-Chain Contracts
        • 🔌API
  • Basics
    • 📽️Products
    • ⚡Technical Architecture
    • 🧵Universal Cross Margin
    • ✂️Isolated Margin
    • ℹ️Subaccounts & Health
    • ⏰Liquidations & Insurance Fund
    • 💵PnL Settlements
    • 📊Pricing (Oracles)
    • 💰Fees
    • 📈Funding Rates
    • 📅Market Specifications
    • ⚡One-Click Trading
    • 🔫Trigger Orders
    • 🗂️GMCI 30 & MEME Indices
    • 💰Trade & Earn
      • 🤝Maker Program
      • 🔁Cross-Chain VRTX Rewards
      • ❓Trading Rewards - FAQs
    • 🧑‍🤝‍🧑Referral Program
    • ⚒️Resources & Links
    • ❔FAQs
  • VRTX Token
    • 🎓VRTX Tokenomics
    • 📊Token Supply Distribution
  • More
    • 🌐Glossary
    • 🔬Contracts & Code Audits
    • 🦋Bug Bounties
    • 💽Data & Research
    • 🪟Maintenance Windows
    • 🏁Terms of Use
    • ✍️Statement of Risk
    • 🌍Restricted Territories
    • 📸Brand Assets
  • Tutorials
    • 🏁Quick Start
    • 🖱️One-Click Trading
    • ⚙️Trading Basics
    • ♾️Perpetuals
    • 🔮Spot
    • 🧑‍🤝‍🧑Multiple Accounts
    • 🔫TP/SL & Stop-Market
    • 💰Withdrawals
    • ⚡Fast Withdrawals
    • 🌉Cross-Chain Deposits
    • 🔄Lend, Borrow & Repay
    • ❤️Margin Health
    • 💧Pools
    • 💫VRTX Staking
    • ↔️Switching Chains
    • 🪙Trading Rewards
    • ✂️Shortcuts
  • Developer Resources
    • API
      • 🔌Endpoints
      • Gateway
        • Executes
          • Place Order
          • Place Isolated Order
          • Cancel Orders
          • Cancel Product Orders
          • Cancel And Place
          • Withdraw Collateral
          • Transfer Quote
          • Liquidate Subaccount
          • Mint LP
          • Burn LP
          • Link Signer
        • Queries
          • Status
          • Contracts
          • Nonces
          • Order
          • Orders
          • Subaccount Info
          • Isolated Positions
          • Market Liquidity
          • Symbols
          • All Products
          • Edge All Products
          • Market Prices
          • Max Order Size
          • Max Withdrawable
          • Max LP Mintable
          • Fee Rates
          • Health Groups
          • Linked Signer
          • Insurance
          • Min Deposit Rates
        • Signing
          • Examples
          • Q&A
      • Subscriptions
        • Authentication
        • Streams
        • Events
        • Rate limits
      • Archive (indexer)
        • Orders
        • Matches
        • Events
        • Summary
        • Candlesticks
        • Edge Candlesticks
        • Funding Rate
        • Interest & funding payments
        • Oracle Price
        • Perp Prices
        • Product Snapshots
        • Market Snapshots
        • Edge Market Snapshots
        • Maker Statistics
        • Merkle Proofs
        • Rewards
        • Referral Code
        • Liquidation Feed
        • Linked Signer Rate Limit
        • Subaccounts
        • Signatures
        • USDC Price
      • Trigger
        • Executes
          • Place Order
          • Cancel Orders
          • Cancel Product Orders
        • Queries
          • List Trigger Orders
      • V2
        • Assets
        • Pairs
        • APR
        • Orderbook
        • Tickers
        • Contracts
        • Trades
        • VRTX Token
      • Rate limits
      • Errors
      • Symbols
      • Depositing
      • Withdrawing (on-chain)
      • Integrate via Smart Contracts
      • Definitions / Formulas
    • Vertex Typescript SDK
      • Getting Started
      • How To
        • Create a Vertex client
        • Useful Common Functions
        • Query Markets & Products
        • Deposit Funds
        • Withdraw Funds
        • Manage Orders
      • User Guide
        • Client
          • Market
            • Place Order
            • Cancel Orders
            • Cancel Product Orders
            • Mint LP
            • Burn LP
            • Get All Markets
            • Get Latest Market Price
            • Get Market Liquidity
            • Get Open Subaccount orders
            • Get Historical Orders
            • Get Max Order Size
            • Get Max Mint LP
            • Get Candlesticks
            • Get Funding Rate
            • Get Product Snapshots
          • Spot
            • Approve Allowance
            • Deposit
            • Withdraw
            • Get Max Withdrawable
            • Get Token Contract for Product
            • Get Token Wallet Balance
            • Get Token Allowance
          • Perp
            • Get prices
          • Subaccount
            • Link Signer
            • Get Subaccount Linked Signer with Rate limits
            • Get Subaccount Summary
            • Get Subaccount Fee Rates
            • Get Subaccount Token Rewards
        • Engine Client
          • Executes
          • Queries
        • Indexer Client
          • Base Queries
          • Paginated Queries
        • Websocket
          • Executes
          • Queries
          • Subscriptions
        • Utilities
          • Contracts
          • Utils
      • API Reference
    • Vertex Python SDK
    • Vertex Rust SDK
    • Contracts
    • API/SDK Terms of Use
Powered by GitBook
On this page
  • Liquidation Price
  • Liquidation
  • Insurance Fund
  • Socialized Losses
Export as PDF
  1. Basics

Liquidations & Insurance Fund

Learn about Vertex's liquidation model and how the insurance fund works.

PreviousSubaccounts & HealthNextPnL Settlements

Last updated 3 months ago

Liquidations on an exchange refer to the automated process of closing leveraged trading positions when a trader's account balance, or "margin," gets too low to cover potential losses.

Just as a car running low on fuel would need to stop to avoid stalling, liquidations prevent traders from going into debt by ensuring their losses don't exceed their initial investment.

Liquidation mechanisms vary for each exchange, which sets unique and publicly available maintenance weights that are used to determine the risk profile of a given market. Some exchanges might have tighter liquidation thresholds, meaning your position could get liquidated more quickly if the market moves against you. Others might offer more leniency, giving you a bit more room before liquidation kicks in.

Liquidations safeguard an exchange's solvency by settling accounts between traders, maintaining fairness, and preventing potential disruptions that could arise from underfunded positions amid volatility.

You can find Vertex’s market specifications, including maintenance weights, in the “Perpetual and Spot Market Specifications” section.

Efficiently structured liquidation processes on Vertex are supplemented by risk management tooling for users, including portfolio and position health indicators on the front-end along with trigger orders.


Liquidations on Vertex happen at the mark oracle price, derived from a third-party oracle (Stork), which you can learn more about in the “Pricing (Oracles)” section.

Liquidations protect the protocol and users from the risk of systemic bankruptcy. When an account's maintenance health falls below 0, it enters liquidation. The assets and perpetual positions of the subaccount will be closed in the following order:

  1. Orders are canceled.

  2. LPs are decomposed.

  3. Assets are liquidated (Spot Balances / Long Spreads / Perps).

  4. Liabilities are liquidated (Borrows / Short Spreads).

Any user can purchase assets from the liquidating account at a discount or pay off its liabilities at a markup until the underwater account's Initial Health rises above 0.

If, at any point during the liquidation process, the Initial Health of the account exceeds 0, liquidation will cease.

Liquidation Price

When liquidators attempt to liquidate a subaccount, they specify the product and the amount they want to liquidate. The liquidation price for assets is set halfway between the oracle price and the price determined by the maintenance weight.

The net price at which the product is liquidated is calculated as follows:

Long=oracle_price×maintenance_asset_weight+45\text{Long} = \text{oracle\_price} \times \frac{\text{maintenance\_asset\_weight} + 4}{5}Long=oracle_price×5maintenance_asset_weight+4​
Short=oracle_price×maintenance_liability_weight+45\text{Short} = \text{oracle\_price} \times \frac{\text{maintenance\_liability\_weight} + 4}{5}Short=oracle_price×5maintenance_liability_weight+4​

The gross profit of liquidators equals:

Long=oracle_price×1−maintenance_asset_weight5\text{Long} = \text{oracle\_price} \times \frac{1 - \text{maintenance\_asset\_weight}}{5}Long=oracle_price×51−maintenance_asset_weight​
Short=oracle_price×maintenance_liability_weight−15\text{Short} = \text{oracle\_price} \times \frac{\text{maintenance\_liability\_weight} - 1}{5}Short=oracle_price×5maintenance_liability_weight−1​

However, the Vertex protocol receives 50% of the profit that liquidators generate, and these fees are deposited into the insurance fund to protect protocol health moving forward. Thus, the net profit of liquidators equals:

Long=oracle_price×(1−maintenance_asset_weight5)×0.5\text{Long} = \text{oracle\_price} \times \left( \frac{1 - \text{maintenance\_asset\_weight}}{5} \right) \times 0.5Long=oracle_price×(51−maintenance_asset_weight​)×0.5
Short=oracle_price×(maintenance_liability_weight−15)×0.5\text{Short} = \text{oracle\_price} \times \left( \frac{\text{maintenance\_liability\_weight} - 1}{5} \right) \times 0.5Short=oracle_price×(5maintenance_liability_weight−1​)×0.5

Liquidation

Liquidators can specify any product and amount, but the total can be rounded down such that the optimal amount of liquidations occur to bring the liquidatee’s Initial Health back to 0. This minimizes the impact of liquidations on users as much as possible.

Liquidating a specific product can result in two outcomes:

  1. Liquidatee receiving USDC for positive spot balances and their positive PNL perps.

  2. Liquidatee spending USDC to pay back negative spot balances and negative PNL perps.

For Outcome 2, Vertex cannot allow the liquidatee's USDC balance to be spent below 0. Otherwise, losses that need to be socialized can be incorrectly assigned to USDC holders. If all liquidation options are Outcome 2, then the account is insolvent.

At this point, the account's positions would have been exited at a loss, and there is now bad debt in the system.

This triggers Vertex's last lines of defense:

  1. USDC from the insurance fund is pulled into the insolvent account and used to pay liquidators to take on the underwater positions.

  2. If the insurance fund is empty, then the losses from the underwater positions are socialized.

Insurance Fund

To maintain the creditworthiness of the platform, a segregated pool of USDC will be available to fund shortfalls in the event that an account goes into bankruptcy – the Insurance Fund. Initially, this will be seeded with funding from the core team but will then be topped up with a percentage of revenue from liquidations.

If accounts are insolvent, the insurance fund steps in to pay off losses to avoid socialization.

Socialized Losses

In the first instance, bankrupt accounts will be paid from the insurance fund.

However, if the insurance fund is depleted, the system will attempt to socialize against other perpetual accounts in that market. If the account has already been settled, its losses will be socialized against all USDC holders.

In Summary:

  • Step 1: Insurance Fund

  • Step 2: Perp Socialization

  • Step 3: USDC Depositor Socialization

⏰
Conceptual view of the liquidation flow on Vertex.
Page cover image