Skip to main contentSkip to FAQSkip to contact
3 min read

Intent Netting & Batch Auction#

Phase 2 - fully designed, not yet in production.

  • Netting Offsetting flows cancel out - zero solver capital needed
  • UCCP Uniform pricing - every order in a batch pays the same bps
  • Efficiency Up to 95% gas savings on netted settlements

Batch Pipeline#

8-Stage Batch Pipeline

Mini Map
Actor
Engine
Contract
Network
  1. POST /v1/quotes → validates, assigns auction ID
  2. Order Book accumulates → 2-5s batch window per corridor
  3. Netting Pre-Processor → detects CoW, groups batches, finds rings
  4. Solver Broadcast → batched bundle via WebSocket
  5. CIP-67 Evaluator → reference outcome → fairness filter → surplus max
  6. Execution → batchClaim() for netted orders

CIP-67 Fair Winner Selection#

StepNameRule
1ReferenceBest standalone bid per order - the baseline
2FairnessReject any batch bid where ANY corridor gets less surplus than reference
3MaximizeFrom surviving bids, select combination maximizing total surplus

Surplus (per order, in bps of notional): (output_received − input_paid) / limit_price × 10000

Batch score (per corridor): Σ (surplus + fee) - aggregated across orders

UCCP (uniform clearing price, bps): (input − output) / input × 10000 - identical for all orders in the batch

All three values are expressed in bps of notional - positive surplus means price improvement vs. the taker's limit. A batch is only selected if every order's surplus ≥ its reference (standalone) surplus (Fairness rule).

Fairness Guarantee Batched bids can ONLY win if every order gets ≥ its standalone best price. No order subsidizes another.

Matching Engine: Four Ways to Match Orders#

The aggregator detects obvious matches (Simple & Batching) automatically. Solvers optimize complex routing and leverage private liquidity for Intermediate and Ring matches.

Matching Mode Comparison

FeatureSimple Match
Batching MatchIntermediate MatchRing Match
Mechanics4 features
Tag
P2PBatchRouteCycle
Handled by
AggregatorAggregatorSolversSolvers
How
Direct P2P match between two opposing ordersMultiple orders on same corridor combined for gas savings3+ intents routed through a shared intermediate tokenCircular A→B→C→A cycle where each sell is the next buy
Settlement
TEE atomic swapSingle batchClaim()Solver fills, intermediate cancelsTEE-linked revelation
Properties4 features
Solver capital
Oracle needed
Gas savings
~95%~80%~60%~95%
Complexity
LowLowMediumHigh

Examples per Mode#

The comparison above summarizes ownership, capital, oracle, and gas tradeoffs. The tabs below walk through one concrete example for each mode:

P2P

Direct P2P match between two opposing orders. A sells USDC→ETH while B sells ETH→USDC. The aggregator detects this mirror match and settles both orders with zero external liquidity. No DEX routing, no slippage, no bridge fees.

Simple Match
A: USDC ETH
B: ETH USDC
──────────────
Direct P2P Match
4 linestext

Example: Alice: Base USDC→OP USDT, Bob: OP USDT→Base USDC.

Delivery Roadmap#

PhaseMilestoneScope
2aSimple & Batch NettingCoW detection, UCCP, batchClaim()
2bIntermediate & RingMulti-hop, cycle graphs, TEE revelation
3Persistent Order BookCross-chain CLOB, full combinatorial matching