Adrena
  • About Adrena
    • ๐Ÿ‘๏ธVision
    • ๐Ÿ’‰What is Adrena?
      • โœจNo Liquidation Fees
      • ๐Ÿซ—Peer-to-Pool Perp Model (and the risks as a Liquidity Provider)
      • ๐Ÿ‹๏ธTrading Competitions
        • 0๏ธโƒฃPre-Season: Awakening
        • 1๏ธโƒฃSeason 1: Expanse
      • ๐Ÿ’ฝRPC and Trade Execution
    • ๐Ÿง€Fees
      • ๐Ÿ’ฐRevenue Sharing
      • ๐ŸฏWays to Earn Overview
      • ๐Ÿ’ฑBuybacks
    • ๐Ÿ‘พTrader Profile
    • ๐Ÿ“–Achievements
    • ๐ŸงชMutagen (Points System)
    • ๐ŸคReferral System
    • Audits
    • Bug Bounty Program
    • ๐Ÿ”—Useful Links
  • Tokenomics
    • ๐ŸซฆTokenomics Overview
    • ๐Ÿช™ADX
      • ๐Ÿค‘Distribution
      • ๐Ÿ’ธEmissions
      • ๐Ÿ‘ฅForms of ADX
      • ๐ŸฆบVesting
      • ๐ŸšฐStaked ADX - Rewards Emissions Schedule
      • ๐Ÿ”Staking and Duration Locked Parameters for ADX
      • ๐Ÿ—ณ๏ธVoting
    • ๐Ÿ’ŽALP
      • ๐ŸŒŠGenesis Liquidity [terminated]
        • ๐Ÿ’ฆGenesis Liquidity Program [Terminated]
      • ๐ŸšฐStaked ALP - Rewards Emissions Schedule [Terminated]
      • ๐Ÿ”Staking and Locked Stake Parameters for ALP
  • Technical Documentation
    • ๐Ÿ‘คGovernance Shadow Token
    • ๐Ÿค–MrSablier & MrSablierStaking (Open Source Keepers)
    • ๐Ÿ”ฎOracles and Price Feeds
    • โ˜ข๏ธ"Toxic Flow" Countermeasures
    • ๐Ÿช–Position Parameters
    • โŒšSablier Automation Threads (deprecated)
    • ๐ŸฆStaking Implementation Details
    • Terms and Conditions
    • Token Terms and Conditions
  • Guides
    • ๐Ÿ’ปHow to Change to Devnet in Phantom Wallet
    • ๐Ÿ’งHow to get Devnet SOL
    • ๐Ÿ’ฐHow to Get Tokens to Trade
    • ๐Ÿ“ˆHow to Open and Close a Trade
  • Reports
    • 21/11/2024 - BE - Increase Position, position.price miscalculations
    • 22/10/2024 - Upgrade staking accounting issue causing extra reward distribution
    • 12/10/2024 - BE - Borrow fees reset on position increase
    • 01/10/2024 - BE - Custody internal state for `Assets` reports too much locked collateral
    • 27/09/2024 - BE - Missing accounts reload during fee distribution
Powered by GitBook
On this page
  • GMX first countermeasure and fees
  • Artificial latency
  • What we are doing
  1. Technical Documentation

"Toxic Flow" Countermeasures

PreviousOracles and Price FeedsNextPosition Parameters

Last updated 8 months ago

GMX inspired perp venues liquidities are fuelled by passive liquidity providers, and trades execute at 0 slippage, based on oracle price.

In this context, informed traders can extract value from the platform (see the ).

On a traditional order book based venue, this would not be possible, as the cost of liquidity would be impacted. How can GMX style perp platforms protect themselves against this issue?


GMX first countermeasure and fees

The first mechanism that was put in place in the past was quite arcane, and not very user friendly :

On top of this, the built in protection is the high flat fees on any open/close position that make smaller arbitrages less viable.

Artificial latency

One way to mitigate this issue is the voluntary introduction of latency prior to each trade. This is done by splitting trades into 2 TXs on GMX, and having check on the eventual open price. The mechanism is explained in the link above.

Jupiter perps seems to have chosen the same approach, using a keeper that receive trades intents and funds, and eventually submit trades.

From a UX perspective this can be quite heavy, as you loose the snappiness of On chain trading only possible on Solanaโ„ข๏ธ. We, as Jupiter perps fans and users, had some hair-pulling moments when you try to place that trade during high volatility period, and nothing can go through. Even during regular periods, when there isn't much liquidity available it's very hard to land a trade, feels like playing a Counter Strike game rubber banding with 400ms latency (here it's closer to 4 seconds).


What we are doing

Since inception, our ethos is to keep it simple and fair, and to provide a user experience on par with what Solana has to offers in term of TX settlement speed.

We have chosen not to use a keeper.

This allow us to have super snappy trade execution, and also to have a more transparent, straight "on-chain" experience that doesn't take detours.

We are using Pyth pricefeeds, which are updated every ~400ms (Solana block time).

Finally we will progressively rollout in term of position size and size of the pool. Coupled with tight monitoring for "toxic flow", this should give us enough leeway to react in case of abuse at the detriment of the passive liquidity providers.

Detailed metrics monitoring Toxic Flow

We will want to monitor markout_1m, 5m and 10m to see the PnL of trades 1/5/10 min after opening. Also similar metric to the chart below

We have similar open and close fees that discourage small arbitrages, and we have added a novel high volatility period fees mechanism based on Pyth price confidence (see ) which should improve resilience when spread is high.

โ˜ข๏ธ
Oracles and Price Feeds
Avax manipulation incident on GMX Arbitrum
https://gov.gmx.io/t/remove-the-min-price-movement-rule/157