PropAMM Shenanigans
0x documents two patterns where propAMM operators on Base systematically deliver worse execution than quoted, backed by empirical data across thousands of fills.
March 20, 2026
Under the Hood

FOREWORD
PropAMMs are a legitimate innovation in the world of DEX design. They give market makers new tools for fighting toxic flow, and enable tighter spreads and better pricing than traditional AMMs with passive liquidity. However, their flexibility and opaque inner workings have been seen to proliferate harmful behaviors that systematically degrade execution quality at the expense of traders.
On Base, Flashblocks have made propAMMs viable in the context of the EVM. 0x currently integrates five propAMMs on Base, with five more under evaluation. They drive 40–50% of Swap API volume on the chain, with a single propAMM generating $1.25 billion of volume over a recent three-month period.
.png)
While the spoofing techniques documented in this article don’t violate the blockchain protocol rules, they are unacceptable to any company or trader who values accurate execution over headline quotes. 0x monitors execution quality because we believe it’s important for our customers and their users to be able to trust the quotes shown to them.
What We Found
The patterns documented below make it harder for aggregators to deliver reliable quotes. In each case, the prices observed by DEX aggregators while identifying the optimal route do not persist to settlement. The gap between quoted and executed price is consistent, measurable, and always moves in the operator's favor.
Two distinct patterns result in traders receiving worse prices than quoted. The first is a propAMM-specific pattern tied to Base's Flashblock architecture: Aggregator Spoofing via Flashblocks (Pattern 1). The second is a propAMM repricing pattern that exploits the latency between quote and settlement on any chain: Random Spread Fluctuations (Pattern 2).
Pattern 1: Aggregator Spoofing via Flashblocks
At a glance:
- PropAMM operators publish an attractive price in the last Flashblock (~200ms) of each block, then reprice worse in the first Flashblock of the next block. Aggregators snapshot the attractive price; traders settle at the repriced level.
- Typical impact: 5 to 10 basis points per trade. At $1B monthly volume, approximately $500,000 per month from a single source.
- The statistical signature: intra-block price variance runs 5–7x higher than inter-block variance, an inversion that normal market activity does not produce.
.png)
How It Works
Aggregators route based on end-of-block chain state, specifically the state at Flashblock 10, the final ~200ms sub-block in each 2-second window. PropAMM operators can reprice between each Flashblock.
An operator publishes a competitive price in the last Flashblock of block N. The aggregator snapshots that price and routes accordingly. In the first Flashblock of block N+1, the operator reprices worse. The trader's transaction, queued for inclusion in block N+1, settles at the worse price. Slippage tolerance absorbs the difference.
The operator's final price update lands in the last 10% of the block 97.4% of the time, regardless of what trades are present. At the moment the aggregator snapshots, the propAMM's price is better than the reference AMM 100% of the time. The propAMM's price is consistently worse when the trader's transaction actually settles.
.png)
If this were a legitimate response to market conditions, the operator's repricing would respond to trade characteristics like size, direction, or counterparty. Instead, it responds to block position. The positioning is the same in 97.4% of observed blocks, regardless of what trades are present.
Impact
0x analyzed a major trading pair on Base over approximately one month, sampling prices at the top, middle, and bottom of each block. One propAMM averaged 3 basis points worse than a single reference AMM pool; another averaged 6 basis points worse, with outliers reaching 40 bps.
Competing quotes on liquid pairs are often within 1 basis point of each other. At $1 billion in monthly volume, consistently overquoting 5 basis points means traders receive approximately $500,000 less per month, from a single source. A single basis point can determine which source wins the route.
0x simulated propAMM fills at different positions within a block as well as across sequential blocks, measuring the price deviation between them. Under normal market conditions, price variance within a block should be lower than variance between blocks, since the time interval is shorter. For both propAMMs exhibiting this behavior, the inverse is true.
.png)
.png)
.png)
Pattern 2: Random Spread Fluctuations
At a glance:
- A propAMM operator quotes a tight spread so the aggregator routes through them. The operator widens the spread by several multiples before the trader's transaction settles. The transaction lands at the wider price.
- Unlike the previous pattern, the mechanism is not tied to Flashblock timing. It exploits the latency between quote and settlement that exists on any chain where propAMMs operate.
- 0x has observed this pattern on Base. Solana's trading research division has documented the same behavior on Solana.
How It Works
Every swap has latency between the moment an aggregator reads a price and the moment a trader's transaction is included onchain. A propAMM operator can update prices faster than the trader's transaction settles. If the spread widens between quote and settlement, the trader absorbs the difference.
A propAMM operator maintains a tight spread of approximately 2 basis points, competitive enough to win the routing decision. The spread then snaps wide to 8, 12, or 16 basis points with no corresponding move in the underlying market. The widening is sudden and brief. The spread returns to tight shortly after.
.png)
When a trader's swap gets routed based on the 2 basis point quote, and the transaction is already in flight — signed, submitted, and waiting for inclusion, the operator then widens the spread to 12 basis points and the transaction lands at a significantly worse price. Slippage tolerance absorbs the difference.
Impact
Whether intentional or a byproduct of how the propAMM operator rebalances, traders receive the same outcome — filled at a worse price than the quote that won the routing decision.
The Solana Foundation's trading research division documented the same outcome on Solana, though the piece was quickly removed. PropAMMs quoting sub-3 bps at top-of-book while actual fills execute 20+ bps wide.
This pattern requires only two things: an operator that can reprice faster than the quote-to-settlement pipeline, and an aggregator that routes based on a price that can change before settlement. Both conditions exist on every chain where propAMMs operate.
Summary
The outcome is the same in both cases. The price a trader sees when their aggregator makes a routing decision is not the price they receive at settlement. Whether the divergence comes from a propAMM operator repricing between Flashblocks, spreads fluctuating randomly while transactions are in flight, the cost is borne by the trader on every affected swap.
Why It Persists
Aggregators compete primarily on quoted price. The aggregator showing the best number wins volume, regardless of whether that number reflects what traders actually receive at settlement. An aggregator that cuts a misbehaving source shows less competitive quotes on every comparison tool, even if its traders get better fills. Every other aggregator then faces a choice.
.png)
This creates a prisoner's dilemma. Either all aggregators police misbehaving propAMMs, or the one that tolerates them ends up winning. On Solana, one propAMM raised concerns about a competitor's pricing behavior. The dominant aggregator declined to act. Within a month, the party that raised the concern adopted the same practices.
0x has taken a different position on Base, monitoring execution quality and confronting the behaviors documented above. As the largest aggregator on the chain, 0x cuts off liquidity sources until issues are remedied, even when it makes quotes appear less competitive. This position is viable at current scale, but becomes harder to sustain with every new aggregator willing to compete on quoted price alone. Institutional participants are entering onchain markets and they will not tolerate this level of execution quality.
Sustaining it long-term requires something the industry does not yet have: a shared operational standard for measuring fill quality, not just quoted price.
Subscribe to 0x Insights for future research on DEX execution quality and onchain market structure.
Appendix: Phantom Liquidity
This pattern is not propAMM-specific. It is included here because it produces the same outcome for traders through a different mechanism tied to Flashblock architecture.
At a glance:
- A liquidity provider deposits millions in liquidity in the last Flashblock, collects a full block of LP rewards, then withdraws in the first Flashblock of the next block.
- Aggregators route based on the deep liquidity visible at end-of-block. Most trader transactions arrive after withdrawal, executing against a shallow pool.
- The reward contracts are not Flashblock-aware and cannot distinguish a position held for 200ms from one held for the full 2-second block.
How It Works
This pattern is structurally different: the liquidity provider is farming LP rewards, not facilitating trades. Worse execution for traders is a byproduct.
The contracts governing LP rewards on Base are not Flashblock-aware. The EVM has no visibility into Flashblock position because Flashblocks are a sequencer-level construct the virtual machine cannot see. From the contract's perspective, a position held at the end of a block was held for the entire block. This is what makes the pattern possible: 200ms of liquidity provision earns the same rewards as 2 seconds. 0x has observed addresses executing this pattern with millions of dollars at block cadence, continuously for months.
.png)
Impact
Aggregators price routes based on end-of-block chain state showing deep liquidity. Trader transactions land after that liquidity has been withdrawn. The trade executes against a shallow pool where the depth that justified the routing decision no longer exists. The same trade that would have moved price 2 bps on the deep pool moves it 8+ bps on the shallow one.
This is phantom liquidity: depth that appears at the moment an aggregator prices a route and disappears before a trader's transaction can settle against it.
Contents
Subscribe to newsletter