Order flow toxicity and JIT liquidity
1. TL;DR
Section titled “1. TL;DR”Trades against an AMM come in two flavors that look identical on-chain but are worth very different amounts to liquidity providers: informed (“toxic”) flow that picks off a stale price at the LP’s expense, and uninformed flow that simply pays the fee for convenience. Just-in-time (JIT) liquidity is a strategy that exploits this asymmetry directly — a specialized provider adds a large concentrated position for the instant a big trade executes, captures a disproportionate share of the fee, and withdraws immediately after, all in one block. Despite the alarm it has drawn, careful measurement on Uniswap v3 finds JIT liquidity filled only about 0.3% of all trading demand between May 2021 and July 2022, dominated by a single account — while a separate strand of research shows that block times, gas costs, and swap fees interact with ordinary arbitrage-driven (“toxic”) flow in ways that don’t reduce to a simple rule.
2. Explain it simply
Section titled “2. Explain it simply”Analogy
Section titled “Analogy”A market stall that posts one fixed price all day does fine against regular shoppers, but a professional buyer who already knows tomorrow’s wholesale price will show up right when the board is stale, buy the underpriced goods, and vanish before the sign updates — that buyer is “toxic” flow. A just-in-time trader is different: they overhear that a truck is about to unload one huge order, rush behind the register for exactly that one sale, take their cut, and leave again before having to serve anyone else all day.
When someone trades against a pool of tokens, the people who deposited those tokens earn a small fee. Not every trade is equally good for them: some traders just want convenience and are pure profit for the pool; others know where the price is headed next and are, in effect, taking the pool’s money at a price it will regret the moment it updates. A “JIT” trader watches for one huge upcoming trade, quickly drops in a big pile of both tokens right before it happens, lets that one trade pay them a fee, and pulls the pile back out immediately — without sitting through the ordinary ups and downs everyone else deals with all day.
Step-by-step walkthrough
Section titled “Step-by-step walkthrough”Scenario: an ETH/USDC pool has $2,000,000 of passive liquidity spread across a wide price range, and a $2,000,000 swap is about to execute at a 0.05% (5 basis point) fee.
- Before (state: passive LPs hold the pool’s liquidity, no JIT position exists). A large swap appears in the public transaction queue; a specialized provider watching for it can see its size and the pool’s current price.
- JIT mint (state: provider adds $5,000,000 of concentrated liquidity in a single narrow tick around the current price, same block). This is added specifically so the incoming swap trades almost entirely against it rather than the wider passive liquidity.
- Swap executes (state: swap trades against the JIT position; JIT provider earns the bulk of the $2,000,000 × 0.05% = $1,000 fee). Passive LPs also in range receive only the small remaining share.
- JIT burn (state: provider withdraws principal plus fee in the same block). The JIT provider’s capital was exposed to price risk for one block only, and is typically hedged elsewhere for that instant.
- After (state: pool back to ordinary passive liquidity). The next block looks as if the JIT position never existed, except most of that swap’s fee now sits with the JIT provider instead of the long-term LPs.
Common misconceptions
Section titled “Common misconceptions”- Myth: All trading volume is equally good for liquidity providers. Reality: Volume mixes informed (“toxic”) and uninformed flow; only uninformed flow is close to pure profit for LPs (alexnezlobin, ethresear.ch, 2022-07).
- Myth: JIT liquidity is rampant and quietly stealing most LP fees. Reality: A Uniswap community poll found most guessed “over 40%” of v3 liquidity was JIT; the measured figure through July 2022 was about 0.3%, with over 95% from one address (Adams & Wan, Uniswap Labs, 2022-09).
- Myth: Shorter blocks always make life better for LPs. Reality: Shorter blocks reduce stale-price exposure, but each arbitrage trade also burns a transaction fee, so on fee-heavy chains the LP-loss reduction can be much smaller than a naive square-root-of-block-time model predicts (atiselsts, ethresear.ch, 2024-05).
- Myth: A JIT provider takes the same price risk as a regular LP. Reality: A JIT position exists for one block and is typically paired with an offsetting hedge, so its price exposure is close to zero by design (Adams & Wan, 2022-09).
If you only remember one thing
Section titled “If you only remember one thing”A pool’s fee revenue is split between LPs and arbitrageurs picking off stale prices; JIT liquidity is simply a specialized provider stepping in for one trade to grab a larger share of the fee side of that split.
3. How it works
Section titled “3. How it works”Order flow toxicity and market resilience
Section titled “Order flow toxicity and market resilience”alexnezlobin frames the LP’s problem as needing two things from a market: liquidity (low price impact) and resilience — the mid-price and available liquidity recovering quickly after an uninformed trade so that a large trader can split their order into smaller pieces without moving the price against themselves each time. He identifies a structural asymmetry versus a limit order book: on a book, both makers and takers can correct the mid-price, but on an AMM only a taker can, and a taker must pay the swap fee to do so — so the price only gets corrected once it has drifted by more than the fee, which is bad for resilience.
Loss-versus-rebalancing as the toxic-flow cost
Section titled “Loss-versus-rebalancing as the toxic-flow cost”The instantaneous rate at which an AMM loses value to arbitrage — loss-versus-rebalancing (LVR) — is, per Milionis et al., , depending only on volatility , price , and the pool’s marginal liquidity . atiselsts (2024-05) extends this: on a real chain an arbitrage trade pays gas, so the nominal LVR of a price move splits three ways — to LPs (swap fee), to the searcher/builder/proposer (“SBP”), and to native-asset holders via the burned base fee. This creates a friction region around the AMM price: an arbitrageur only trades once the CEX–DEX gap exceeds both the swap fee and the transaction cost, so LP loss is not simply proportional to once fees are nonzero.
Just-in-time liquidity
Section titled “Just-in-time liquidity”Adams and Wan (Uniswap Labs, 2022-09) define JIT liquidity as a strategy in which a provider observes a pending swap, mints a concentrated position (usually in the single tick the swap will trade through) immediately before it, lets the swap execute against that liquidity, and burns the position immediately after — hedging any inventory risk elsewhere in the same window. They derive an upper bound on expected profit: $$\text{Expected Profit} \le (\text{Swap Size}\times\text{Pool Fee Rate}) - (\text{Hedging Costs} + \text{Gas Costs} + \text{MEV Auction Costs})$$ Because a JIT position must outbid alternative MEV strategies (in particular, simply backrunning the swap) to be included in the same bundle, the paper derives a further bound: the price improvement a JIT LP can profitably offer the trader is capped at twice the fee rate of the pool the swap trades in. Both bounds explain why JIT only makes economic sense against swaps large enough to amortize fixed hedging and gas costs, which is why it concentrates in a handful of the most liquid pools and largest trade sizes.
4. Worked numeric example
Section titled “4. Worked numeric example”JIT on a single swap (same scenario as §2). A $2,000,000 swap trades through a 5bp pool. Without JIT, the pool’s fee is 0.05% of $2,000,000, i.e. $1,000, split among whatever passive liquidity is in range at that moment. A JIT provider mints $5,000,000 of liquidity concentrated in the swap’s tick immediately before it and burns it immediately after; because their liquidity dominates the in-range total for that one block, they capture most of the $1,000 fee, leaving only a small residual for passive LPs who happened to be in range. By the derived bound, the maximum price improvement this JIT provider can profitably pass to the trader is twice the fee rate, or 0.10% of the $2,000,000 swap — up to $2,000 — so the trader benefits from tighter execution even though most of the fee now goes to the JIT provider rather than the passive LPs.
Measured scale on Uniswap v3 (Adams & Wan, 2022-09). From Uniswap v3’s deployment on 5 May 2021 through 18 July 2022, researchers identified 8,287 JIT liquidity-provision attempts (57 failed). Successful JIT provided just over $2 billion of liquidity against $600 billion of total trading volume in the same period — about 0.3% of demand — with over 95% of all JIT liquidity from a single account and fewer than 20 addresses ever attempting it (as of 2022-07). Over half of JIT transactions supplied more than $100,000 individually, and only 245 of the 8,000+ supplied less than $10,000, confirming the fixed-cost logic: JIT only pays off against large trades.
LVR and fees on a real pool. atiselsts (2024-05) models the Uniswap v3 ETH/USDC 0.05% pool, which held roughly $1 billion of virtual assets (~$150 million real) as of April 2024. Under a 50%-annualized-volatility simulation with zero transaction cost, nominal LVR came to about $1/second ($3,600/hour), with LP losses of $350–900/hour ($3–8 million/year) once ordinary uninformed-flow fees are excluded. Adding a realistic $10 per-swap cost (~150,000 gas at 22 gwei, $3,000 ETH, as of 2024-05) broke the fit with the textbook model: at a 0.05% swap fee, moving from a 12-second to a 2-second block time only cut modeled LP loss from ~44.2% to ~31.3% of nominal LVR — real, but far smaller than the square-root model alone predicts.
5. Where it’s used
Section titled “5. Where it’s used”Ethereum
Section titled “Ethereum”- Uniswap v3 — the sole venue with a public, measured history of JIT liquidity; concentrated almost entirely in the top ten pools by volume, which account for ~95% of all JIT liquidity ever supplied versus 55% of total trading volume (Adams & Wan, 2022-09).
- LVR and toxicity apply to every CFMM, not just Uniswap — Milionis et al.’s model and atiselsts’ fee-adjusted extension are stated generally for constant-product pools; see /exchange/impermanent-loss-vs-lvr/.
- Uniswap v4 hook designs aim to price in or redistribute toxic-flow losses directly (e.g. am-AMM, LVR-minimizing hooks); see /exchange/v4-hooks-and-am-amm/.
Solana
Section titled “Solana”- Proprietary AMMs (SolFi, ZeroFi, HumidiFi, Tessera, Orbic, and others) — a Solana-specific market-maker class that manages toxicity by refreshing on-chain quotes many times per second from an oracle instead of waiting to be picked off by trade history. HumidiFi’s oracle updates cost as little as 143 compute units — “over 1,000 times less” than a typical Jupiter aggregator swap — letting a maker pay only a small Jito tip for “cancel priority”: refreshing a quote ahead of a taker’s transaction to cut adverse-selection exposure (Helius, as of 2025-08).
- Jupiter aggregation as a toxicity filter. Proprietary AMMs source most flow through Jupiter specifically because it is “predominantly clean, non-toxic retail order flow”; in July 2025, aggregator-routed trades made up 99.2% of GoonFi’s volume, 97.3% of ZeroFi’s, and 88.4% of SolFi’s, and proprietary AMMs overall captured over 60% of SOL/USDC volume — peaking at 86% on 5 July (Helius, as of 2025-08).
- Drift’s JIT auctions — the closest Solana analogue to the word “JIT,” though a different mechanism: every taker order runs a short per-order Dutch auction rather than a one-off concentrated-liquidity mint, with makers filling first-come-first-served (see /exchange/batch-auctions/).
6. Risks, attacks, and incidents
Section titled “6. Risks, attacks, and incidents”- JIT concentration risk. Over 95% of all historical JIT liquidity on Uniswap v3 came from a single account, with fewer than 20 addresses ever attempting the strategy (as of 2022-07) — the “competitive MEV auction” this strategy is supposed to run through has, in practice, had almost no competitors (Adams & Wan, 2022-09).
- A documented example. A real JIT mint–swap–burn sequence ran as three sequential transactions inside block 13733864, bundled through Flashbots — since the swap size and liquidity distribution were known in advance, the provider could compute its exact fee earnings before submitting (Adams & Wan, 2022-09).
- Toxic-flow losses are structural, not a hack. Unlike a discrete exploit, LVR and JIT extraction are continuous background costs of running an AMM; integrated searcher-builders — entities that both find and include their own arbitrage — increasingly dominate this flow because it is simpler for them to split the profits internally (atiselsts, 2024-05, citing Heimbach et al., 2024).
- Manipulating perception, not price. Public perception has run far ahead of measured reality: a Uniswap community poll found most respondents believed JIT made up “over 40%” of v3 liquidity, against a measured ~0.3% — evidence of how easily this risk gets overstated without careful measurement (Adams & Wan, 2022-09).
7. Open problems
Section titled “7. Open problems”- Does shorter block time systematically help LPs? atiselsts’ fee-adjusted model and the Uniswap Foundation’s own LP-strategies simulations both find only a limited, chain-dependent effect once transaction costs are included, contradicting the simpler prediction from Milionis et al.’s fee-free model — the two strands of research disagree on how much this matters in practice (atiselsts, 2024-05).
- Can LP inclusion be tied to price improvement rather than raw MEV bidding? Adams and Wan flag this as unsolved: whether a JIT transaction lands in a block today has nothing to do with how much price improvement it offers the trader (Adams & Wan, 2022-09).
- Is more liquidity actually better for resilience? llllvvuu argues a market may want lower liquidity (higher price impact) so it “gets out of the way” of large informed moves — a position alexnezlobin isn’t yet convinced by, leaving the trade-off open (ethresear.ch, 2022-07/08).
- Generalizing the fee-adjusted LVR model across chains. atiselsts cautions his results are specific to the ETH/USDC 0.05% pool and to chains where shorter blocks don’t proportionally cut base fees, leaving L2 and other-chain behavior open (atiselsts, 2024-05).
8. Ethereum vs Solana
Section titled “8. Ethereum vs Solana”| Aspect | Ethereum | Solana |
|---|---|---|
| Where toxic flow is measured | Public mempool + on-chain history; academically studied (LVR, JIT) | No public mempool; toxicity managed privately inside proprietary AMMs |
| JIT-style liquidity | Concentrated-liquidity mint/swap/burn bundles, ~0.3% of Uniswap v3 volume (as of 2022-07) | Drift’s per-order JIT Dutch auctions; proprietary AMMs refresh quotes rather than mint positions |
| Main defense against toxicity | Swap fees + emerging hook designs (am-AMM, LVR-min hooks) | Ultra-cheap, high-frequency oracle-driven quote updates plus Jito tip-based “cancel priority” |
| Source of “clean” flow | No equivalent aggregator-driven filtering documented in this research | Jupiter aggregation, capturing 88–99% of several proprietary AMMs’ volume (as of 2025-07) |
| Block/slot time | ~12 s; fee-adjusted LVR model shows limited benefit from shortening it further | ~400 ms; toxicity is managed through update frequency and priority, not block time alone |
Ethereum’s toxicity problem is visible and academically tractable because the mempool and pool history are public — exactly what let Adams and Wan measure JIT precisely and atiselsts model LVR net of fees. Solana’s dominant liquidity venues moved the same problem into private, closed-source proprietary AMMs that never expose a mint/swap/burn sequence to study; they instead compete on how cheaply and often they can refresh a quote, a fundamentally different mitigation to the same adverse-selection problem.
9. Reference doc
Section titled “9. Reference doc”The reference
Section titled “The reference”CEX/DEX arbitrage, transaction fees, block times, and LP profits — atiselsts, 2 May 2024. ethresear.ch/t/19444
Summary of the reference
Section titled “Summary of the reference”The post extends the loss-versus-rebalancing (LVR) model of Milionis et al. by adding transaction cost as a parameter, arguing that prior LVR research “mostly ignored transaction cost as a parameter in CEX/DEX arbitrage.” It opens with background on the result relating expected arbitrage profit to arrival rate (or block time ), and surveys a split literature: several papers (McMenamin 2023, Adams 2024, Fritsch 2024) find real-world data broadly confirms the model, while others (Dahi 2023 on the XRP ledger; the Uniswap Foundation’s own LP-strategies series) find only a small, block-time-independent effect.
Analyzing single-trade LVR. The author models the nominal LVR of a single trade as being “distributed” between three actors — LPs (via the swap fee), the searcher/builder/proposer as a collective entity, and ETH holders (via the burned base fee) — and defines a “friction region” around the CEX price, created by the chain’s base fee and other costs, inside which no arbitrage trade occurs at all.
Simulation studies. Modeling the Uniswap v3 ETH/USDC 0.05% pool (~$1B virtual assets as of April 2024) under a 50%-annualized-volatility GBM simulation, the nominal LVR comes to about $1/second with zero base fee, and LP losses of $350–900/hour fit the model reasonably well. Once a realistic $10–30 per-swap base-fee cost is introduced, the fit degrades sharply, and a table across block times from 2 to 600 seconds shows the swap fee, not the block time, dominates LP outcomes in most regimes.
Discussion. The author cautions the results are pool-specific (lower-liquidity pools see proportionally more friction; higher-liquidity pools less) and chain-specific (the model assumes shorter blocks don’t proportionally cut base fees). He closes by noting the effect of shorter blocks on “MEV” is genuinely ambiguous: shorter blocks increase the number of arbitrage transactions and the gas they consume, while simultaneously decreasing the expected value of LP losses per trade — a result that can read as either more or less MEV depending on which quantity is being tracked.
Key quotes
Section titled “Key quotes”“It’s widely recognized that CEX/DEX arbitrage trades create a large part of DEX volume, perhaps even the majority of that volume.” (Background)
“Liquidity provider (LP) losses from arbitrage trades do not have the same magnitude as the profits of the arbitrager… and as such, are not accurately predicted by a model that approximates them with the square root of the block time.” (Summary bullets)
“The results clearly show that LP losses are not accurately predicted by the √BT model, unless the basefee is close to zero.” (Implications for blockchain design)
“There’s potential for a confusion, because MEV is increased in one sense, and decreased in another sense.” (Shorter blocks = less MEV?)
How to read the original
Section titled “How to read the original”Background needed: the basic LVR result from Milionis et al. (see /exchange/impermanent-loss-vs-lvr/) and a rough sense of what a constant-product pool’s fee tier does to arbitrage. Skip the literature survey of competing papers on a first pass and go straight to “Analyzing the single-trade LVR” and the simulation tables. The hardest part to internalize is the “friction region”: it is easiest to think of it as a no-trade band around the CEX price, widened by gas costs on top of the ordinary no-arbitrage band the swap fee already creates.
What changed since
Section titled “What changed since”- Solana’s 2025 proprietary-AMM wave (Helius, 2025-08) sidesteps this entire cost model by making price updates cheap enough (143 CUs) that makers can refresh continuously rather than reason about amortizing a fixed gas cost per arbitrage trade — a different equilibrium than anything modeled for Ethereum’s fee structure.
- Ongoing debate over the LVR/toxicity split has moved toward Uniswap v4 hook designs (am-AMM, LVR-minimizing hooks) that try to redistribute or recapture toxic-flow losses at the protocol level rather than accept them as a fixed cost (see /exchange/v4-hooks-and-am-amm/).
Secondary references
Section titled “Secondary references”- Adams & Wan (Uniswap Labs), “Just-in-Time Liquidity on the Uniswap Protocol” (2022-09) — read for the empirical JIT measurement and the profit/price-improvement bounds; see below for full treatment as this page’s second canonical reference.
- alexnezlobin, “Order flow toxicity on DEXes” (ethresear.ch 13177, 2022-07) — read for the liquidity-vs-resilience framing that motivates why toxicity matters in the first place.
- Milionis, Moallemi, Roughgarden & Zhang, “Automated Market Making and Loss-Versus-Rebalancing” (arXiv 2208.06046, 2022-08) — read for the underlying LVR model this post extends.
The reference
Section titled “The reference”Just-in-Time Liquidity on the Uniswap Protocol — Austin Adams, Xin Wan (Uniswap Labs), 9 September 2022. blog.uniswap.org/jit-liquidity
Summary of the reference
Section titled “Summary of the reference”The post sets out to correct a specific public misconception: a Dan Robinson Twitter poll asking what percentage of Uniswap v3 liquidity is JIT found the most common answer was “over 40%,” with only 16.5% of respondents correctly guessing “less than 1%.” The authors define JIT liquidity, measure its true historical scale, and derive theoretical bounds on how a rational JIT provider should behave.
What is JIT. A JIT provider observes a pending swap, mints a concentrated position (usually in the exact tick the swap will trade through) immediately before it, lets the swap trade against that liquidity, and burns the position (collecting principal and fees) immediately after — hedging any resulting inventory elsewhere. The post walks through a real example: three sequential transactions (mint, swap, burn) inside block 13733864, bundled through Flashbots, where the JIT provider could compute the exact fee they’d earn in advance because both the swap size and the pool’s liquidity distribution were already known.
Historical scale. From Uniswap v3’s 5 May 2021 launch through 18 July 2022, the authors identify 8,287 JIT attempts (57 failed). Successful JIT supplied just over $2 billion of liquidity against $600 billion of total trading volume in the same window — about 0.3% — and over 95% of it came from one account, with fewer than 20 addresses ever attempting it. JIT concentrates heavily in the top pools (the USDC-WETH 5bp pool alone accounts for over half of all JIT ever supplied; the top ten pools for ~95%, versus 55% of total volume) and in middle fee tiers, balancing transaction-size thresholds against hedging costs.
Economic model. The authors derive an upper bound on expected JIT profit — swap size times fee rate, minus hedging, gas, and MEV-auction costs — and, by requiring JIT to out-compete a simple backrunning strategy for inclusion in the same MEV bundle, derive a further bound: price improvement offered to the trader is capped at twice the pool’s fee rate. Empirically, most observed JIT trades fall within this bound, with violations attributed to simplifying assumptions in the counterfactual calculation rather than the bound itself being wrong.
Conclusion. JIT liquidity “has historically played a minimal role within the Uniswap Protocol,” concentrated in a handful of pools and a single dominant address, while still providing traders with real execution-quality improvements bounded by the theory above. The authors suggest future mechanism designs could tie block inclusion directly to the degree of price improvement a liquidity provider offers, rather than to raw MEV bids.
Key quotes
Section titled “Key quotes”“JIT liquidity is a special form of liquidity provision where an LP mints and burns a concentrated position immediately before and after a swap.” (Summary)
“JIT transactions are very rare; there were a little over 8,000 JIT transactions between May 2021 and July 2022.” (Summary)
“Over 95% of JIT liquidity was supplied by one single account, and less than 20 addresses have ever attempted to supply JIT liquidity.” (Historical JIT volume and Distribution)
“JIT liquidity has historically played a minimal role within the Uniswap Protocol.” (Conclusion)
How to read the original
Section titled “How to read the original”Background needed: how Uniswap v3 concentrated liquidity and tick ranges work (see /exchange/concentrated-liquidity/) and a basic notion of MEV bundling via Flashbots. Skip the appendix derivations of the tick-choice sub-case on a first pass. The hardest paragraph is the derivation of the 2x-fee-rate price-improvement bound: it is easiest to read as “a JIT provider’s profit must beat what a simple backrunning searcher could earn from the same swap, and cancelling common terms leaves twice the fee rate as the trader’s maximum possible discount.”
What changed since
Section titled “What changed since”- Uniswap v4’s hook architecture (2024) opened the door to protocols that price in or capture toxic-flow value directly rather than leaving it to ad hoc JIT competition; see /exchange/v4-hooks-and-am-amm/.
- atiselsts’ 2024-05 fee-adjusted LVR model (this page’s first reference) extends the same “toxic flow costs LPs money” question to the ordinary arbitrage case beyond JIT specifically, and shows the picture is further complicated once gas costs are included.
- Solana’s 2025 proprietary-AMM design (Helius, 2025-08) represents a structurally different answer to the same underlying problem: instead of an occasional JIT mint against a passive pool, the entire pool is “actively” repriced many times per second.
Secondary references
Section titled “Secondary references”- atiselsts, “CEX/DEX arbitrage, transaction fees, block times, and LP profits” (2024-05) — see above, this page’s first canonical reference.
- Milionis, Moallemi & Roughgarden, “Automated Market Making and Arbitrage Profits in the Presence of Fees” (arXiv 2305.14604, 2023-05) — read for the fee-aware extension of the core LVR model underlying both references.
- Helius, “Solana’s Proprietary AMM Revolution” (2025-08) — read for how Solana’s newest liquidity venues manage toxicity structurally differently from JIT.
10. Sources
Section titled “10. Sources”- CEX/DEX arbitrage, transaction fees, block times, and LP profits — atiselsts — 2024-05-02 — https://ethresear.ch/t/cex-dex-arbitrage-transaction-fees-block-times-and-lp-profits/19444
- Just-in-Time Liquidity on the Uniswap Protocol — Austin Adams, Xin Wan (Uniswap Labs) — 2022-09-09 — https://blog.uniswap.org/jit-liquidity (fetched 2026-08-29)
- Order flow toxicity on DEXes — alexnezlobin — 2022-07-28 — https://ethresear.ch/t/order-flow-toxicity-on-dexes/13177
- The Dominance of Uniswap v3 Liquidity — Gordon Liao, Dan Robinson (Paradigm) — 2022-05-05 — https://www.paradigm.xyz/writing/the-dominance-of-uniswap-v3-liquidity
- Automated Market Making and Loss-Versus-Rebalancing — Jason Milionis, Ciamac C. Moallemi, Tim Roughgarden, Anthony Lee Zhang — 2022-08-11 — https://arxiv.org/abs/2208.06046
- Automated Market Making and Arbitrage Profits in the Presence of Fees — Jason Milionis, Ciamac C. Moallemi, Tim Roughgarden — 2023-05-24 — https://arxiv.org/abs/2305.14604
- Solana’s Proprietary AMM Revolution — Helius — 2025-08 — https://www.helius.dev/blog/solanas-proprietary-amm-revolution
- JIT Auctions — Drift Protocol docs — https://docs.drift.trade/developers/market-makers/jit-auctions