Cross-chain MEV Capture

The MEV engine aggregates orderflow across 15+ chains into a unified pipeline, enabling cross-chain arbitrage, bridge MEV extraction, multi-chain liquidations, and intent settlement.

Supported Chains

Ethereum, BSC, Solana, ZkSync, Arbitrum, Base, Optimism, Avalanche, Polygon, Hyperliquid, Monad, Berachain, Sei, Sui, MegaETH, and more.

How It Works

Step 1: Orderflow Aggregation

The mesh network collects pending transactions from all connected chains via chain-specific connectors. EVM chains use WebSocket subscriptions (newPendingTransactions); non-EVM chains use polling (Solana at 400ms, Sui at 500ms).

Step 2: Cross-chain Opportunity Detection

The engine correlates orderflow across chains to identify cross-chain MEV opportunities. Price discrepancies between the same asset on different chains, bridge transactions creating temporary imbalances, and multi-chain liquidation cascades are all detected in real time.

Step 3: Strategy Execution

Specialized searcher modules execute the optimal strategy for each opportunity. Execution is coordinated across chains with atomic guarantees where possible (same-chain bundles) and probabilistic guarantees for cross-chain legs.

Step 4: Settlement

Profits are settled on the origin chain and distributed according to the rebate model (90% user / 10% protocol for OFA-protected transactions, 100% searcher for direct bundle submissions).

Supported Patterns

PatternDescriptionChains
DEX-DEX ArbitragePrice discrepancy between the same pair on DEXes across chains.All EVM + Solana
Bridge ArbitrageTemporary price imbalance during cross-chain bridge transfers.Ethereum, Arbitrum, Base, Optimism
LiquidationUnder-collateralized positions detected on one chain, liquidated via another.All EVM
Intent SettlementCross-chain intent fulfillment with optimal routing.All supported

Architecture

                    +------------------+
                    |   MEV Engine     |
                    |  (Orchestrator)  |
                    +--------+---------+
                             |
            +----------------+----------------+
            |                |                |
     +------+------+  +-----+------+  +------+------+
     |  Ethereum   |  |    BSC     |  |   Solana    |
     |  Connector  |  |  Connector |  |  Connector  |
     +------+------+  +-----+------+  +------+------+
            |                |                |
     +------+------+  +-----+------+  +------+------+
     |  Arbitrum   |  |    Base    |  |     Sui     |
     |  Connector  |  |  Connector |  |  Connector  |
     +-------------+  +------------+  +-------------+
            |                |                |
            +----------------+----------------+
                             |
                    +--------+---------+
                    |   Mesh Gossip    |
                    |   (P2P Relay)    |
                    +------------------+

Each connector streams pending transactions into the engine. The engine correlates orderflow across chains, identifies opportunities, and dispatches execution bundles back to the relevant chain connectors.

Revenue Model

Cross-chain MEV revenue is split based on the transaction source:

  • OFA-protected transactions: 90% rebated to user, 10% protocol fee.
  • Direct searcher bundles: Searcher keeps 100% minus gas costs.
  • Intent settlements: Solver takes the spread between user's limit and execution price.

SDK Example

TypeScript

import { MEVGatewayClient } from "@yoorquezt/sdk-mev";

const client = new MEVGatewayClient("ws://localhost:9099/ws", {
  apiKey: process.env.YQ_API_KEY,
});

// Subscribe to cross-chain opportunities
const stream = await client.subscribe("cross_chain_opportunities", {
  chains: ["ethereum", "arbitrum", "base"],
  patterns: ["dex_arb", "bridge_arb"],
  minProfitWei: "100000000000000", // 0.0001 ETH
});

stream.on("opportunity", (opp) => {
  console.log(`${opp.pattern} on ${opp.sourceChain} -> ${opp.targetChain}`);
  console.log(`Est. profit: ${opp.estimatedProfitWei} wei`);

  // Submit execution bundle
  client.submitCrossChainBundle({
    opportunityId: opp.id,
    sourceTxs: ["0xf86c..."],
    targetTxs: ["0xf86c..."],
  });
});
Edit this page