Hook · I. OFA
OFA.
Orderflowauctionwithsealedsolvercompetition.
Large swaps trigger an N-block solver auction with AMM fallback.
Type
Execution
Status
—
Version
v1.0.0
Pools
0
Mechanics
How it works.
- 01
Swaps above the configured threshold pause execution and open a sealed solver auction in the same transaction.
- 02
Solvers bid for N consecutive blocks; the winning bid fills the trade at an improved price relative to the AMM curve.
- 03
If no solver responds within the window, the trade falls back to the regular AMM execution path with no penalty.
- 04
Pending orderflow is held as ERC-6909 claims for the duration of the auction — there is no early withdrawal.
Integration
Code sample.
// Large swap automatically triggers OFA — no special params required
IPoolManager.SwapParams memory params = IPoolManager.SwapParams({
zeroForOne: true,
amountSpecified: -100_000e18, // large input → opens auction
sqrtPriceLimitX96: MIN_SQRT_RATIO + 1
});
poolManager.swap(poolKey, params, "");