Execution-Improvement Auctions

Execution-improvement auctions go beyond simple MEV extraction. They run a multi-objective optimization across competing solver bids to find the best overall execution for the user -- maximizing output, minimizing slippage, rewarding speed, and factoring in solver reputation.

Scoring Factors

Each solver bid is evaluated across four dimensions:

FactorWeightDescription
Output40%Net output tokens delivered to the user relative to the baseline.
Slippage25%Reduction in price impact compared to naive execution.
Speed20%Estimated time to inclusion (fewer blocks = higher score).
Reputation15%Solver's historical success rate and reliability score.

Scoring Formula

The composite score for a solver bid is computed as:

score = (0.40 * output_normalized)
      + (0.25 * slippage_normalized)
      + (0.20 * speed_normalized)
      + (0.15 * reputation_normalized)

Each factor is normalized to the range [0, 1] relative to the other bids in the same auction round. The bid with the highest composite score wins.

Configuration

Auction parameters are configured in the engine's YAML config:

auction:
  type: execution_improvement
  scoring:
    output_weight: 0.40
    slippage_weight: 0.25
    speed_weight: 0.20
    reputation_weight: 0.15
  deadline_blocks: 2
  min_improvement_bps: 10
  max_solvers: 20
  timeout_ms: 500
FieldTypeDescription
output_weightfloatWeight for the output factor.
slippage_weightfloatWeight for the slippage factor.
speed_weightfloatWeight for the speed factor.
reputation_weightfloatWeight for the reputation factor.
deadline_blocksintMaximum blocks a solver has to fulfill the order.
min_improvement_bpsintMinimum improvement in basis points over baseline.
max_solversintMaximum concurrent solver bids per auction.
timeout_msintAuction round timeout in milliseconds.

Solver Bid Fields

Solvers submit bids with the following structure:

{
  "solver_id": "solver_abc123",
  "auction_id": "auc_xyz789",
  "output_amount": "1025000000",
  "output_token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
  "slippage_bps": 5,
  "estimated_blocks": 1,
  "bundle": ["0xf86c..."],
  "signature": "0x3045..."
}
FieldTypeDescription
solver_idstringUnique identifier for the solver.
auction_idstringThe auction this bid targets.
output_amountstringAmount of output token the solver commits to deliver.
output_tokenstringAddress of the output token.
slippage_bpsintEstimated slippage in basis points.
estimated_blocksintExpected blocks until inclusion.
bundle[]stringSigned transactions that execute the solver's strategy.
signaturestringECDSA signature over the bid payload.

Backward Compatibility

Execution-improvement auctions are backward compatible with standard bundle auctions. If no solvers bid on an order, the engine falls back to the standard MEV backrun auction pipeline. Searchers that only submit traditional bundles continue to work without modification.

Intent Marketplace Integration

Execution-improvement auctions integrate with the intent marketplace. When a user submits an intent (e.g., "swap 1 ETH for maximum USDC"), the intent is broadcast to registered solvers who compete in an execution-improvement auction. The winning solver's bundle is submitted atomically, and the user receives the best available execution across all competing strategies.

Edit this page