Execution Surplus and Welfare in a Simplified Intent-Auction Game

A better execution price tells us what a trader received, not what the market saved.

In an intent auction, solver competition and trader participation also determine which execution opportunities become available. This post asks how those forces, together with matching quality, shape private execution gains vs. aggregate welfare across batch durations.

The main piece is a Solver–Trader mechanism simulation under specified protocol fee, reward-cap, and batch-duration policies. Welfare accounting then separates transfers from real resource savings. A 25-order CoW audit in the Appendix marks which of those quantities public settlement data can identify; the simulation is not calibrated to those orders. Production CoW uses a fair combinatorial auction and a richer reward system (solving formulation; competition rules; rewards); the model uses a reduced-form winner reward capped as a share of fee revenue.


Actors, policy instruments, and payoffs

The model tracks three actor groups and five payoff categories. Protocol instruments are the fee ff, reward-cap share κ\kappa, and batch duration Δ\Delta; those policies are specified, while Solver effort and Trader participation are endogenous. Protocol profit is

ΠP=fV−R−O,\Pi_P=fV-R-O,

where VV is participation, RR the Solver reward paid out, and OO operating cost. Two Solvers choose efforts on a discrete grid; the higher-effort Solver wins RR, and equal efforts pay zero to both:

πi(ei,ej)=1{ei>ej} R(ei,ej)−c2ei2,\pi_i(e_i,e_j)=\mathbf{1}\lbrace e_i>e_j\rbrace\,R(e_i,e_j)-\frac{c}{2}e_i^2,

where c>0c>0 is the effort-cost parameter. Joint Solver profit is ΠS=π1+π2\Pi_S=\pi_1+\pi_2. A unit mass of traders chooses immediate AMM execution or the intent venue:

ΠT=aqV−fV−wˉΔV24,\Pi_T=aqV-fV-\frac{\bar{w}\Delta V^2}{4},

where aa is private friction avoided by a successful match, qq matching quality, and the last term expected waiting cost under unit-time costs uniform on [0,wˉ][0,\bar{w}] with expected delay Δ/2\Delta/2. The all-pay cost structure follows complete-information contests such as Baye, Kovenock, and de Vries (1996); quadratic cost and a deterministic winner are modeling choices.

ActorRole in the reported exercises
ProtocolSets (f,κ,Δ)(f,\kappa,\Delta); profit ΠP\Pi_P evaluated under that policy
SolversChoose (e1,e2)(e_1,e_2) on the effort grid; payoffs πi\pi_i
TradersChoose AMM now vs. intent batch; aggregate payoff ΠT\Pi_T
LP / MEVPassive incidence (foregone outside-route revenue), not strategic
Protocol, two Solvers, and Traders linked through matching quality and reward feedback

Fig. 1. Actor roles and feedback: Solver effort raises matching quality, which shifts participation and feeds back into Solver rewards. Batching complementarities: Canidio and Henneke.


Matching, participation, and equilibrium selection

Matching quality is

q(e,V,Δ)=q0+(1−q0)(1−e−(λ0+βe)VΔ),q(e,V,\Delta)=q_0+(1-q_0)\left(1-e^{-(\lambda_0+\beta e)V\Delta}\right),

where q0∈(0,1)q_0\in(0,1) is baseline match probability, λ0>0\lambda_0>0 a baseline matching intensity, and β>0\beta>0 the effort sensitivity of that intensity. Given an effort profile, set ew=max⁡(e1,e2)e_w=\max(e_1,e_2). Participation is the highest locally stable fixed point of

V=clip⁡[0,1]2(aq(ew,V,Δ)−f)wˉΔ.V=\operatorname{clip}_{[0,1]}\frac{2\bigl(aq(e_w,V,\Delta)-f\bigr)}{\bar{w}\Delta}.

Denote that root by V\*V^\*. Both Solvers are then scored at the same V\*V^\*:

qi=q(ei,V\*,Δ),i=1,2.q_i=q(e_i,V^\*,\Delta),\qquad i=1,2.

If ei>eje_i>e_j, the winner reward is

R(ei,ej)=min⁡{ΛV\*(qi−qj)+,κfV\*},R(e_i,e_j)=\min\lbrace\Lambda V^\*(q_i-q_j)_+,\kappa fV^\*\rbrace,

where Λ>0\Lambda>0 converts the quality gap into a reward; if e1=e2e_1=e_2, both rewards are zero. A unilateral deviation recomputes ewe_w, re-solves V\*V^\* under the same highest-stable-root rule, and reassigns rewards. Thickness–waiting trade-offs in dynamic matching markets motivate treating delay as economically meaningful (Akbarpour, Li, and Oveis Gharan, 2020); the functional form is a modeling assumption.

For fixed (f,κ,Δ)(f,\kappa,\Delta), the simulation enumerates efforts on {0,0.05,…,0.8}\lbrace 0,0.05,\ldots,0.8\rbrace. A pure-grid Nash equilibrium has no profitable unilateral deviation on that grid. If several equilibria exist, selection maximizes joint Solver payoff ΠS\Pi_S, then matching quality q(ew,V\*,Δ)q(e_w,V^\*,\Delta), then lexicographically minimizes (e1,e2)(e_1,e_2). Sampled durations without a pure-grid equilibrium are marked unavailable. Duration scans fix f=1f=1 and κ=0.25\kappa=0.25 and vary only Δ\Delta. Baseline primitives (a=5a=5, q0=0.25q_0=0.25, wˉ=8\bar{w}=8) and market compositions are reported in the companion notebook. With a=5a=5 and f=1f=1, f/a=0.20f/a=0.20 is a meaningful baseline participation boundary in this specification: if matching quality cannot clear that hurdle, the selected outcome can be V=0V=0.


Batch duration in the Solver–Trader subgame

A longer batch allows more time for matching but raises waiting costs; participation responds to both. Frequent batch auctions motivate treating the interval as a design object. Here (f,κ)(f,\kappa) stay fixed while Solvers and Traders adjust: Protocol profit tracks fees net of rewards, while aggregate welfare tracks avoided real resource cost net of waiting, Solver effort, and operating cost. Figures below compare two markets that keep the same private friction a=5a=5 but split it differently into transfers vs. real resources (transfer-heavy vs. resource-heavy; compositions in the companion notebook).

Protocol profit and aggregate welfare at discrete batch-duration values in transfer-heavy and resource-heavy model markets

Fig. 2. Selected pure-grid equilibria over Δ=0.02–0.50 with f=1 and κ=0.25. Points are unconnected (discrete effort and participation). Shaded durations have no pure-grid equilibrium. At Δ=0.38, selected V=0.716.

Between Δ=0.02\Delta=0.02 and Δ=0.36\Delta=0.36, the selected equilibrium moves from effort 0.050.05 and full participation to effort 0.500.50 and participation of approximately 0.9790.979. Matching quality rises from 0.2580.258 to 0.4820.482. In the resource-heavy specification, the resulting increase in avoided real costs exceeds the additional waiting and effort costs. Welfare increases modestly from 0.9690.969 to 1.0281.028, while Protocol profit falls from 0.9760.976 to 0.7140.714. Endogenous participation also changes equilibrium availability in the discrete solver contest (19 vs. 12 of 25 sampled durations). This result is sensitive to the contest specification and is not a general equilibrium-existence claim; the full endogenous vs. fixed comparison is in the companion notebook.

Varying only q0q_0 shows a related participation boundary. Lower q0q_0 can raise the relative importance of batch duration when positive-participation equilibria remain; it can also produce selected pure-grid equilibria with V=0V=0.

Animated scan of protocol profit and welfare as baseline matching quality q0 falls from 0.30 to 0.05

Fig. 3. Only q₀ changes (0.30→0.05); f=1, κ=0.25, Δ grid, and selection fixed. Filled = V>0 equilibrium; hollow = selected V=0; gray = no pure-grid equilibrium. On this grid, resource-heavy welfare peaks at Δ=0.02 when q₀=0.30 and at Δ=0.36 when q₀=0.25; for q₀≤0.15 every selected outcome has V=0.


Welfare accounting: transfers vs. resources

a=t+g,t=tLP+tMEV,a=t+g,\qquad t=t_{\mathrm{LP}}+t_{\mathrm{MEV}},

with tLPt_{\mathrm{LP}} avoided LP fee revenue, tMEVt_{\mathrm{MEV}} avoided trader-borne extraction, and gg avoided real resource cost. After transfers cancel,

W=gqV−wˉΔV24−c2(e12+e22)−O.\boxed{W=gqV-\dfrac{\bar{w}\Delta V^{2}}{4}-\dfrac{c}{2}(e_{1}^{2}+e_{2}^{2})-O}.

Private payoffs depend on aa, not its split, so changing the composition leaves the selected equilibrium unchanged and

W(g2)−W(g1)=(g2−g1)qV.W(g_{2})-W(g_{1})=(g_{2}-g_{1})qV.
Execution surplus as transfers plus savings vs. social welfare as real resource savings minus costs

Fig. 4. Private execution improvement can include transfers; WW keeps only real-resource savings net of waiting, Solver effort, and operating cost. Ledger detail: companion notebook.

At q0=0.25q_0=0.25, Δ=0.20\Delta=0.20, the selected allocation is V=1V=1, q=0.377q=0.377, efforts (0,0.4)(0,0.4), f=1f=1, κ=0.25\kappa=0.25. Holding that allocation fixed and changing only the composition of aa:

ActorTransfer-heavyResource-heavy
Trader+0.486+0.486
Solver+0.154+0.154
Protocol+0.730+0.730
LP−0.755−0.189
MEV recipient−0.755−0.189
Social welfare WW−0.139+0.993

Private payoffs are identical; WW reverses sign with the resource share. Whether public CoW data can identify that split is a separate question; the Appendix records a 25-order identification audit and one shared-settlement worked example.

Closing

Better execution is a private outcome, not a welfare measure. The open measurement problem is the resource share of execution surplus: without it, a private edge cannot be mapped to WW. The audit below is a scope check on that gap, not a calibration of the game.

Appendix

Baseline parameters, market compositions, and reproduction checks are in the companion notebook.

On-chain data audit: 25 CoW orders

Separately from the simulation, I examined 25 executed Ethereum orders across 23 CoW settlements. Each order has a direct Uniswap v3 quote at the exact auction-start block; 23 records expose protocol-fee arrays. Twenty quotes selected a 1 bp pool and five a 5 bps pool. These are benchmark route choices, not confirmed bilateral CoW matches.

Worked example (shared settlement)

Settlement 0x17868a…d60def contains two audited orders at auction-start block 25715500. Focus on order 0x06782a…81ef0 (USDC→WETH sell):

Observed fieldWhat it establishesWhat remains unidentified
Order UID 0x06782a…81ef0Unique executed orderTrader valuation / waiting cost
Settlement tx 0x17868a…d60defShared settlement with a second orderBilateral vs. buffer vs. external liquidity
Auction-start block 25715500Quote timing stateFull outside-route opportunity set
Uniswap v3 quote (1 bp): 0.008568443238783844 WETH (8,568,443,238,783,844 wei). Reconstructed by eth_call against the pool quoter at block 25715500—there is no separate quote transactionNarrow same-block direct-pool benchmarkWhether that pool was the relevant outside option
CoW executed buy: 0.008591511028597428 WETH (8,591,511,028,597,428 wei), recorded on order 0x06782a…81ef0 and settlement 0x17868a…d60defPrivate execution vs. that quote (+26.9 bps archived edge)Transfer vs. resource split of the edge
Protocol-fee policy array (present)Fee-policy fields were exposedRecipient reconciliation and incidence
Settlement gas used 193,784; effectiveGasPrice 156,112,596 wei (≈0.156 gwei); payment 30,252,123,303,264 wei (= gasUsed × effectiveGasPrice) from eth_getTransactionReceiptSettlement-level gas expenditure in wei (field is not gwei)Order-level allocation; transfer vs. real-resource share of gas

The receipt reports settlement-level gas, not an order allocation. Charging the full payment to each of two co-settled orders would imply

G^1=G^2=Gs⟹G^1+G^2=2Gs,\widehat{G}_1=\widehat{G}_2=G_s\quad\Longrightarrow\quad\widehat{G}_1+\widehat{G}_2=2G_s,

where GsG_s is the settlement gas payment. Sharing a settlement does not identify bilateral matching; matching_class is unavailable here, so the edge cannot be split into tt and gg.

Across the probe, realized solver rewards, losing-solvers' resource costs, and traders' waiting disutility are unobserved. Public data support a narrow execution-quality comparison and a limited fee/gas availability check—not the empirical resource share of surplus.

Notes