Skip to main content

MEV on Solana

· 13 min read

Introduction

In this post, we explore the most common forms of MEV on Solana, how MEV will evolve as value and sophistication increase, and its effects on the Solana network.

We also compare MEV on Solana to MEV on Ethereum, and pose some open questions about the evolution and effects of MEV.

Readers should have some background on MEV and how transactions are included on Solana.

See Lifecycle of a Solana Transaction for the relevant background, and Solana’s MEV Problem for high-level discussion of MEV on Solana.

MEV on Solana Today

Trades

MEV on Solana is still in its infancy, and so appears to be limited to a few main strategies which we will explore below.

Atomic Arbitrage

Atomic arbitrage is the most common form of MEV on Solana, with at least $3M of purely atomic arbitrage profits in 2023. The most simple atomic arbitrage opportunity is when two DEXs have different prices for the same trading pair. On Solana, the legs of the trade are usually picking off an AMM with stale quotes, and hedging on an on-chain limit order book whose market makers have moved their quotes to prices reflecting off-chain price movements.

Atomic Arbitrage Example

In this example, the price of the SOL/USDC pair has moved off-chain, and a Phoenix market maker has moved their quotes to reflect this. Because the Orca AMM is still quoting around the stale price, this opens up an arbitrage opportunity for a trader. They buy 2.1151 SOL with 45 USDC on Orca and sell 2.115 SOL for 45 USDC on Phoenix, netting a profit of 0.0001 SOL (about $0.002). The transaction is executed atomically, so there is no inventory risk taken on by the trader: the only risk is of paying transaction fees for failed transactions that land on-chain.

Liquidations

Margin protocols incentivize third parties to participate in liquidations to keep the protocol healthy. When margin positions approach insolvency (as determined by an oracle price), third party liquidators can permissionlessly liquidate the position. They do so by closing out the unhealthy margin position and receive the position’s collateral at a discount.

NFT Mints

When a popular NFT mint goes live with a first-come-first-serve mint mechanism, it can be profitable to mint the NFT. Once the mint goes live, triggered by a block number or an on-chain state change, NFT minters race to mint the NFT. This trade is not atomically profitable, as the minted NFTs have to be later sold at a profit. First-come-first-serve IDOs have similar characteristics.

Transaction Inclusion

The trades described above are profitable, so MEV searchers compete to win them.

By running a Solana node, a searcher can view the most current state of the network. The up-to-date state is constantly changing due to Solana’s continuous block building and propagation. State updates must be read as quickly as possible, because the sooner a competitive trade is identified and sent to the network, the more likely it is to succeed.

State is propagated through Turbine, Solana’s transaction propagation mechanism, which will be discussed further in a future post. Since partial blocks (shreds) are first propagated from the leader to a set of validators chosen by a stake-weighted shuffle, it is advantageous for a searcher to either directly control a high amount of stake, or to use a service provided by another validator with a high amount of stake.

Once the state is read and a trade is identified, the searcher must land the trade. Naively sending the trade to the current leader is one way to land the trade. But as discussed in Lifecycle of a Solana Transaction, the native Solana transaction scheduler is not first-come-first-serve. So there are many optimizations we see in practice to increase the chance of inclusion.

MEV Searching

Spam

Spamming transactions in the hopes that one of them will land on-chain is a straightforward but crude way to increase the chance of inclusion. Because of network jitter and scheduler jitter, it can be the case that a later copy of the same transaction is included first. Solana lacks a built-in dynamic fee mechanism for accurately pricing blockspace, meaning that as long as the cost of a failed transaction landing (0.000005 SOL) doesn’t exceed the expected profit of the marginal transaction sent, it can make sense for a searcher to spam their trades.

This has the side effect of filling blocks with failed transactions, similar to Ethereum blocks when priority gas auctions were the main way in which searchers competed for trades. Today, about 96% of attempted atomic arbitrages on Solana fail. This is suboptimal because these failed transactions consume blockspace and benefit nobody. Furthermore, this is an inefficient mechanism for validators to capture the value of the blockspace that they control. Searchers should be willing to pay more with deterministic inclusion or guarantees that failed transactions don’t land on-chain.

Priority Fees

As discussed in Lifecycle of a Solana Transaction, setting a priority fee should strictly increase the chance of transaction inclusion. However, a higher priority fee does not guarantee inclusion earlier in the block: due to the nature of Solana’s continuous block production, a transaction with a priority fee may still land after a transaction without one.

This means that priority fees help searchers if they are about as fast as other competing searchers, but do not help if they are significantly slower. In practice, we rarely see priority fees for arbitrage transactions exceeding 0.02 SOL. The low ceiling on priority fees suggests that although priority fees are an effective tool in more accurately pricing general blockspace, they are not an effective mechanism for pricing specific blockspace (again, similar to priority gas auctions on Ethereum before Flashbots Auction), extracting and distributing MEV, or reducing the volume of spam that lands on-chain today.

Jito Bundles

When the leader is running Jito-Solana (validator client built by Jito), searchers can instead send bundles to the Jito bundle auction. Conceptually, Jito bundle auctions are quite similar to bundle auctions run by Ethereum block builders. For top-of-block (atomic arbitrage) or backrun (atomic arbitrage, liquidation, NFT mints) opportunities, searchers can send transaction bundles along with bids to the bundle auction. While these auctions take time (200ms) and therefore pause continuous block production, they allow for more efficient extraction of MEV, where searchers compete more on price and less on speed. Failed bundles do not land on-chain, reducing the amount of blockspace that is used by spam and increasing the efficiency of the auction.

For atomic arbitrages today, we tend to see Jito bundle tips in the 20% to 50% range of MEV available and increasing.

Optimistic Transactions

Searchers can also send transactions optimistically, if they are not sure that an opportunity is currently available but think it may become available. The searching logic then lives on-chain, so the state of the chain is read at execution time rather than before the transaction is sent. By doing this, they can skip the step of responding to an up-to-date view of the current state that shows a trade is available, reducing the end-to-end latency of the trade.

The simplest example is a smart contract that exposes a single method ping to the searcher. When the method is called, the contract attempts to swap 10 USDC for SOL on Orca, then the resulting SOL for USDC on Phoenix, and reverts if unprofitable. Simple off-chain logic can determine when it is makes sense to hit the contract to reduce the amount of failed transactions landing on chain.

This type of transaction exists on Solana and not Ethereum because read latency is much more important on Solana (continuous block building), and failed/reverted transactions landing is so cheap.

Value Capture

Today, most of the MEV extracted on Solana is captured by searchers. When the leader is running the native Solana client, the only ways for a searcher to express a strong preference for inclusion are spam and priority fees, which are both non-deterministic. Additionally, half of the fees are burned, which imposes a hard upper bound on the amount of MEV the leader captures at 50%. This is an inefficient mechanism for validators to capture the MEV that they control.

Solana fee distribution

When the leader is running Jito-Solana, searchers can transfer them value more efficiently through Jito bundle auctions. Because searchers compete on price rather than on speed, a higher proportion of the extractable value needs to be bid in the bundle auction. 100% of bundle tips go to the validator and their stakers. It is important for validators to maximally capture the MEV available to them, as we will see below.

Fee distribution with Jito-Solana

The Future of MEV on Solana

Today, MEV extraction on Solana is relatively unsophisticated compared to on Ethereum. As activity on Solana grows and MEV increases, we expect extraction to become more competitive as well, with validators capturing over 90% of atomic MEV as we see on Ethereum today. The maturation of MEV extraction comes with centralizing forces that threaten the long-term decentralization of the Solana network.

Validator Extraction and Centralization

As far as we can tell, the vast majority of Solana validators today are running unmodified forks of the native Solana client or Jito-Solana. However, a sophisticated validator could instead extract MEV themselves. For slots where they are the the leader, they can theoretically extract more MEV than independent searchers. By abandoning continuous block production and building the entire block at the end of their slot, an extracting validator can create and win all of the MEV opportunities, including those not extractable under the current Jito bundle abstraction. For example, transactions can be ordered in a way that exposes a backrunning opportunity, then capture the backrun themselves.

Such a validator can then offer higher staking rewards to their stakers, and thus win more stake over time. This is a centralizing force that affects the long-term decentralization of the network.

The point of out-of-protocol blockspace auctions is to fight this centralizing tendency by democratizing access to MEV opportunities—anyone can be a searcher, and any validator can easily opt in to the auctions. By reducing the theoretical profit disparity between a sophisticated self-extracting validator and one using Jito-Solana, the impact of the centralizing force is lowered.

Validator / Searcher Integration and Colocation

We have established that searcher to validator latency is important, both for reading state and for landing transactions. The natural next step is for these entities to colocate or vertically integrate to reduce this latency. Many searchers are already colocating their setups to be able to react to state changes faster than others, by being in the same data center as large validators. This tendency toward verticalization of the MEV supply chain is another centralizing force.

Validator / Validator Colocation

Because reading state quickly is important to winning trades, it makes sense for searchers’ nodes to colocate with validators with high amounts of stake. This also incentivizes all stake to colocate, threatening the geographic decentralization of the network. It is also plausible that in the near future, validators will tend to colocate their stake near centralized exchanges (Binance, Coinbase) to increase the MEV they can extract during off-chain price movements.

Vote Delays and Reorgs

Validators can modify the voting module of the validator client to delay their votes. This allows them to more accurately vote for forks that are more likely to win and therefore earn more rewards, while still being within the bounds of what is allowed by consensus. In degenerate cases this can lead to chain reorgs or even the halting of the chain (e.g. if every validator waits to observe other votes before voting themselves). This is similar to blocks and attestations being delayed on Ethereum.

Differences with Ethereum

MEV extraction on Solana looks very different from MEV on Ethereum.

  • Continuous block building and continuous state updates means that reading state updates quickly is important to be first to a competitive opportunity. Reading state optimally involves being colocated with the current leader, being connected with a large amount of stake, and many other small optimizations.
  • Optimistic MEV transactions exist on Solana and not Ethereum because the cost of a failed transaction landing on-chain is so low. Instead of waiting for the state to update and reveal an opportunity, a searcher can send transactions assuming that the state has updated and reverting if it hasn’t yet. This incentivizes spam and reduces the dependency on read latency.
  • Latency is more important for searchers on Solana because state updates are so frequent. Today, some atomic opportunities exist for multiple blocks before they are captured.
  • Solana’s continuous block production means that it’s difficult to run out-of-protocol blockspace auctions. Such auctions must add a “speed bump” (auction time, 200ms for Jito today).
  • Unlike on Ethereum, Solana’s priority fees don’t go 100% to the validator—instead, half is burned. This necessitates out-of-protocol markets for blockspace.

Open Questions

MEV represents opportunity for searchers and validators, and is inherent to any blockchain with sufficient amounts of value. However, its extraction leaks value from protocols built on the L1, threatening their sustainability. It also creates centralizing forces at the validator layer of the network, threatening its decentralization. We are interested in the following open questions related to MEV on Solana.

  • As the DeFi ecosystem continues to grow, how strong are the incentives for different entities across Solana’s MEV supply chain to colocate or vertically integrate? Can we monitor the degree of entity decentralization and geographic decentralization of Solana validators?
  • For a given amount of trading volume or liquidity, how much less MEV is exposed by DeFi protocols for a fixed decrease in block times?
  • How can we keep Solana sufficiently decentralized, so that it remains credibly permissionless and censorship-resistant? Can social pressure, more sophisticated validator clients, and faster blocks get us most of the way there?
  • How can application developers reduce value leakage to the L1? Are there incentive-compatible fee mechanisms to return MEV back to protocols?
  • In what ways can MEV extraction or other locally optimal validator behavior destabilize the network? How can we counteract those forces?
  • Can we appropriately price blockspace with in-protocol mechanisms? Does some form of multidimensional EIP 1559 make sense for pricing resources on Solana?
  • Does some form of distributed block production (similar to proposer-builder separation) make sense on Solana? This can theoretically decrease the advantage of a self-extracting validator.

Conclusion

In this piece, we examined the most common forms of MEV on Solana today, how it is extracted, and how the extracted value is distributed. We speculated on what a world with more efficient extraction could look like on Solana, and the resulting forces that threaten the decentralization of the network.

We also presented some open questions on the future of MEV on Solana and how it may affect network and protocol health.

To collaborate with us, please reach out to collaborators@umbraresearch.xyz.