ByAUJay
Summary: Intents shift onchain UX from “how to execute” to “what outcome I want.” This post shows decision‑makers how to design a production‑grade intent solver that consistently finds the best route across chains, markets, and builders—using concrete architectures, standards (ERC‑7683/7521/7702/4337), and battle‑tested practices from CoW Protocol, UniswapX, and Flashbots.
Intent Routing 101: Building a Solver That Finds the Best Path (Not the Worst One)
Decision‑makers tell us the same thing: “We implemented intents, but execution quality is inconsistent.” The difference between a worst‑path and best‑path solver isn’t a shiny UI—it’s how you model state, design the objective, search the route space under deadlines, and plug into today’s auction and settlement infrastructure.
Below is a concrete, 1600–2000‑word blueprint for building an intent solver you can safely take to production in 2026 budgeting cycles.
1) The 2025 intent landscape in one page
- Cross‑chain intents are standardizing via ERC‑7683 (Across + Uniswap Labs), defining shared order and settlement interfaces so fillers and apps interoperate instead of recreating relayer networks. Production deployments (e.g., Across Origin/Destination Settlers on Base and Arbitrum) show how intents are encoded with fields like fillDeadline, orderDataType, and orderData. (eips.ethereum.org)
- Per‑swap intents: UniswapX routes using Dutch auctions where fillers compete to satisfy a user’s signed order; benefits include gas‑free swaps and MEV protection, with chain‑specific auction mechanics. (docs.uniswap.org)
- Batched intents: CoW Protocol groups orders into batch auctions with a competitive solver set. Its Fair Combinatorial Batch Auctions (FCBA) enforce uniform directional clearing prices (UDCP), protect against MEV, and maximize user surplus; solvers are bonded/whitelisted and rewarded weekly via CIP‑controlled mechanisms. (docs.cow.fi)
- Orderflow auctions and privacy: Flashbots MEV‑Share exposes open OFA interfaces (privacy, validity conditions, builder inheritance) and simulation endpoints, while SUAVE/BuilderNet push toward neutral, TEE‑backed building and cross‑domain orderflow. BuilderNet v1.2 (Feb 2025) streamlines onboarding and security. (docs.flashbots.net)
- Account capabilities and wallets: ERC‑4337 (AA) and EIP‑7702 (EOA code delegation) enable EOAs to sign intents that solvers execute, with batching, sponsorship, and privilege de‑escalation—critical for enterprise UX and gas abstraction. ERC‑7806 (draft) scopes intent‑centric smart accounts atop 7702. (docs.erc4337.io)
- Research and emerging practice: Multi‑objective solvers (e.g., genetic algorithms) show measurable user‑surplus gains under batch‑auction deadlines; new OFA designs use “failure‑cost” penalties to guarantee quality in permissionless settings. (arxiv.org)
- Beyond Ethereum, Anoma specifies generalized intent machines (gossip, multi‑party matching, solver interfaces), pointing to ring‑trading and cross‑domain settlement paradigms that Ethereum teams can adopt incrementally. (specs.anoma.net)
Bottom line: a best‑path solver is an engineering system that chooses the right venue (Dutch auction vs batch auction vs OFA), encodes portable orders (ERC‑7683/7521), preserves privacy, and optimizes a risk‑aware objective under real‑time constraints.
2) Define “best path” precisely (and measure it)
A worst‑path router greedily maximizes quoted output, ignores execution risk, leaks orderflow, and times out. Your solver should maximize a multi‑objective score under constraints:
- Objective vector F to maximize:
- User surplus (output − reference AMM price at inclusion time)
- Negative gas (ETH or tokenized gas modeled per venue)
- Negative slippage (price impact vs simulated settlement)
- Negative execution risk (probability of revert, inclusion failure, or adversarial reordering)
- Constraints:
- Respect UDCP/UCP when bidding into CoW FCBA; never under‑deliver vs individual best price (fairness constraint). (docs.cow.fi)
- Honor signed limits, deadlines, and exclusivity windows in ERC‑7683 orders; fill all legs or none. (eips.ethereum.org)
- Maintain EBBO guarantees: never worse than direct on‑chain execution. (docs.cow.fi)
- Privacy constraints from MEV‑Share (e.g., builder lists, data‑sharing scope). (docs.flashbots.net)
Practical metric pack for weekly reviews:
- Delivered surplus per $1,000 notional, p50/p95 by chain and venue
- Inclusion time p50/p95
- Failure‑adjusted win‑rate in auctions (bids that land and pay what they promised)
- Gas per filled leg
- Slippage vs post‑trade TWAP
- Leakage incidents (public mempool exposure) and sandwich proximity
3) Architecture of a production solver
Think in four planes: intent intake, state modeling, search/optimization, and submission/settlement.
3.1 Intent intake
- Accept native app intents (your UI), ERC‑7521 “UserIntent” envelopes for smart wallets, and ERC‑7683 cross‑chain orders. Parse:
- fillDeadline (strict timeout)
- orderDataType (EIP‑712 typehash for structured data)
- orderData (tokens, amounts, chains, recipients) (eips.ethereum.org)
- Venue adapters:
- UniswapX Dutch auction maker: decode decay schedule; track per‑chain filler rules. (docs.uniswap.org)
- CoW FCBA: batch windowing and solution format (price vector + trade set). UDCP must hold. (docs.cow.fi)
- MEV‑Share: OFA preferences (privacy builders, validity conditions), event stream subscription. (docs.flashbots.net)
3.2 State modeling
- Liquidity graph:
- Nodes: tokens across domains; Edges: AMMs, RFQ market makers, bridges, cross‑chain settlement legs (ERC‑7683 “legs”).
- Edge costs: gas in native token, pool fee tiers, price impact; for bridges: filler quotes + settlement latency.
- Gas and block dynamics:
- EIP‑1559 base fee forecast for target block; compute marginal inclusion fee per venue. For bundles, next‑block forecast is exact under EIP‑1559 math. (github.com)
- Risk model:
- Inclusion risk by builder set (private vs public), revert probability from simulation deltas, OFA “failure‑cost” exposure if used. (arxiv.org)
3.3 Search and optimization
- Deterministic baseline: multi‑source, multi‑sink shortest path with Bellman‑Ford for negative‑cycle detection (captures arbitrage splits), plus MILP for split‑ratio optimization under EBBO and UDCP constraints.
- Anytime multi‑objective metaheuristics: NSGA‑II or similar to co‑optimize surplus, gas, slippage, risk; soft cap runtime to 0.5–1.0 s for CoW‑like deadlines. (arxiv.org)
- Cross‑chain assembly:
- Build minimal leg sets that satisfy ERC‑7683 (all legs must execute); choose origin/destination settlers with on‑chain addresses your operations can monitor. (docs.across.to)
- Safety filters before submission:
- Respect UDCP; verify limit prices; no “unfair” bundles vs per‑order best price. (docs.cow.fi)
3.4 Submission and settlement
- CoW FCBA: submit multiple solutions per batch to increase selection probability; ensure your on‑chain settlement matches the committed solution bit‑for‑bit. (docs.cow.fi)
- UniswapX: commit to your filler strategy, meet auction decay windows, and honor gas‑free fills if required by chain config. (docs.uniswap.org)
- MEV‑Share/Flashbots:
- Simulate with mev_simBundle; use builder inheritance to align with user privacy; support bundle cancellation via replacementUuid for dynamic market conditions. (docs.flashbots.net)
4) Example: A best‑path solver for a cross‑chain stablecoin swap
Scenario: An enterprise treasurer needs “100k USDC on Arbitrum within 120 seconds, funded from USDC on Base; maximum total cost 15 bps; do not leak to public mempool.”
How a good solver executes:
- Encode ERC‑7683 order
- Build orderData with origin=Base, dest=Arbitrum, token=USDC, minOut=99,850 USDC, recipient=treasury wallet; set fillDeadline=now+120s. (docs.across.to)
- Venue selection
- Prefer intents‑based bridging via Across Origin/Destination Settlers (in production on Base/Arbitrum) over legacy bridge + AMM due to latency and filler competition. (docs.across.to)
- Route construction
- Compute two candidate legs: (a) direct ERC‑7683 cross‑chain transfer via Across; (b) UniswapX Dutch auction route that sources liquidity on Base then settles via a fast bridge.
- Evaluate fillers’ quotes and gas: if UniswapX filler offers net > Across after gas and decay, pick it; else Across. (docs.uniswap.org)
- Privacy and inclusion
- Submit via MEV‑Share with builders restricted to those your compliance team approves; simulate bundle first; target next block on Base. Use private transaction for settlement leg to avoid leakage. (docs.flashbots.net)
- Risk guards
- If block inclusion probability < threshold (e.g., due to gas spike), cancel and re‑submit with adjusted bid using eth_cancelBundle. (docs.flashbots.net)
- SLA outcome
- Delivered surplus report: achieved 100,012 USDC on Arbitrum in 38s; total cost 9.7 bps; zero public mempool exposure (all private builders), satisfying EBBO and fillDeadline.
5) Avoid the 12 classic worst‑path mistakes
- Greedy “max output” without gas/slippage/risk penalties.
- Ignoring UDCP/UCP and fairness—solutions get rejected in CoW FCBA. (docs.cow.fi)
- Not honoring fillDeadline/exclusivity in ERC‑7683; fillers ignore you. (eips.ethereum.org)
- Public mempool broadcast of large orders; you invite sandwiches. Use private builders/MEV‑Share. (docs.flashbots.net)
- No simulation before submit; revert risk spikes. Use mev_simBundle. (docs.flashbots.net)
- One‑venue bias (only AMMs, no OFA/auctions).
- Stale pool state or base‑fee estimates; miss inclusion windows. (github.com)
- Single‑path only; miss split‑flow opportunities across routes. (arxiv.org)
- Settlement mismatch vs committed solution; CoW rejects your fill. (docs.cow.fi)
- No bundle cancellation; you “lock in” a bad price. (docs.flashbots.net)
- Not isolating chain risk; no fallbacks when a destination builder set degrades.
- Over‑sharing orderflow with unvetted builders; break user privacy guarantees. (docs.flashbots.net)
6) Plug into standards that de‑risk integration
- ERC‑7683 cross‑chain intents
- Adopt 7683’s order structs and settler interfaces so your solver can interop with existing filler networks; test against Across’ production settlers on Base/Arbitrum. (eips.ethereum.org)
- ERC‑7521 general intents for SC wallets
- Use a single entry point to verify signatures while delegating intent parsing to versioned handler contracts; enable forward‑compatibility as new intent templates arrive. (eips.ethereum.org)
- EIP‑7702 + ERC‑4337
- Let EOAs “become” smart accounts by delegating code, enabling batching/sponsorship and privilege de‑escalation—key for enterprise custody and policy engines. (eips.ethereum.org)
Tip: design your solver’s signing and validation layers to accept both ERC‑7521 “UserIntent” and 7683 “CrossChainOrder,” then translate internally to a unified plan format (legs, constraints, risk).
7) Best‑in‑class simulation and debugging
- Pre‑inclusion simulations
- MEV‑Share: mev_simBundle on matched bundles; target previous block for realistic state. (docs.flashbots.net)
- Flashbots bundle simulate/send, with base‑fee forecast for the next block; resend per block. (github.com)
- Post‑mortem tooling
- debug_traceCallMany with state overrides for “what‑if” replays; capture revert reasons and call frame traces. (chainnodes.org)
- Operational playbooks
- Automated bundle cancellation/replace via replacementUuid when spreads collapse or builders change. (docs.flashbots.net)
8) What to borrow from leading venues
- From UniswapX Dutch auctions
- Quote decay reduces adverse selection and speeds execution; your solver should track decay curves and pre‑fund gasless fills where applicable. (docs.uniswap.org)
- From CoW FCBA
- Batch across many users to harvest coincidence of wants; enforce EBBO and UDCP to eliminate toxic MEV patterns; generate multiple combinatorial bids per batch. (docs.cow.fi)
- From Flashbots OFA and BuilderNet
- Express privacy and validity preferences; restrict builder sets; plan for TEE‑based verifiable ordering as it matures to reduce trust in any one builder. (docs.flashbots.net)
- From ERC‑7683 production deployments
- Treat cross‑chain as first‑class: encode legs explicitly and select settlers deployed on your target domains today. (docs.across.to)
9) Emerging practices to watch (and pilot)
- Failure‑cost penalties in OFAs that escrow bonds and penalize executed‑but‑unpaid or under‑delivered solutions—raising execution quality in permissionless markets. Aligns with your enterprise SLAs. (arxiv.org)
- Multi‑objective solver stacks combining deterministic baselines with evolutionary search, “never worse than baseline” guarantees, and <1s convergence under auction deadlines. (arxiv.org)
- Generalized intent machines (Anoma): gossip overlays where solvers discover multi‑party matches (e.g., ring trades) and settle on target chains—useful for RFQ networks and cross‑ecosystem onboarding. (specs.anoma.net)
10) Implementation checklist (90‑day plan)
Week 1–2: Requirements and standards
- Pick supported intent formats: ERC‑7521 (wallet), ERC‑7683 (cross‑chain). Draft internal schemas and sign/verify paths. (eips.ethereum.org)
- Choose venues: CoW FCBA, UniswapX, MEV‑Share; list builder sets and privacy defaults. (docs.cow.fi)
Week 3–4: State, simulation, and gas
- Implement EIP‑1559 next‑block base‑fee forecast and gas token modeling; wire Flashbots simulation. (github.com)
- Add debug_traceCallMany for failure analysis with state overrides. (chainnodes.org)
Week 5–6: Optimization core
- Baseline routing with negative‑cycle detection + MILP split optimization; enforce EBBO/UDCP constraints for CoW. (docs.cow.fi)
- Add a multi‑objective metaheuristic (NSGA‑II) with 500–1000 ms compute budget and anytime fallback. (arxiv.org)
Week 7–8: Cross‑chain legs and settlement
- Integrate ERC‑7683 settlers; test Across Origin/Destination addresses on Base/Arbitrum; build SLA monitors for fillDeadline. (docs.across.to)
Week 9–10: Privacy and OFA plumbing
- MEV‑Share intake, privacy scopes, builder inheritance, and bundle cancellation; private submission defaults for large notional. (docs.flashbots.net)
Week 11–12: Guardrails and KPIs
- Reject solutions that underperform EBBO; auto‑cancel deteriorating bundles; ship dashboards for surplus, failure‑adjusted win‑rate, gas per leg, inclusion latency.
Compliance note for enterprises: adopt EIP‑7702 delegation only via audited delegate code; enforce role‑based policies (spend limits, allowlists) and explicit replay protection in signatures. (eips.ethereum.org)
11) A brief comparison: batch vs Dutch vs OFA
- Batch auctions (CoW)
- Best when you can aggregate flow across users to exploit coincidence of wants and eliminate intra‑batch ordering games; solvers must satisfy fairness (UDCP) and often run multi‑route combinatorics. (docs.cow.fi)
- Dutch auctions (UniswapX)
- Best for fast individual fills with gasless UX; your edge is in decay calibration and private sourcing; meta‑aggregator behavior can still split fills under the hood. (docs.uniswap.org)
- OFA with privacy (MEV‑Share/BuilderNet)
- Best for programmable preferences (who sees what), private inclusion, and refunds; pair with robust simulation and cancellation logic. (docs.flashbots.net)
A best‑path solver implements all three and chooses dynamically per intent.
12) What success looks like
Teams that implement the above blueprint typically report:
- 20–80 bps improved effective price vs naive AMM routing on medium‑size orders under volatile gas, with lower inclusion variance
- Fewer reverts due to pre‑inclusion simulation and cancellation
- Faster cross‑chain settlement by standardizing intents (ERC‑7683) and using production settlers where available (docs.across.to)
13) How 7Block Labs can help
7Block Labs implements end‑to‑end intent stacks for enterprises and high‑volume startups: ERC‑7683/7521 order plumbing, solver optimization engines, OFA/auction connectivity, and compliance‑grade privacy policies. We start with a two‑week architecture sprint and deliver an A/B tested solver in 10–12 weeks with measurable surplus gains.
If you want a solver that reliably picks the best path—not the worst one—let’s put the blueprint above into your 2026 roadmap.
Sources and recommended reading
- ERC‑7683 spec and production notes; Across deployments on Base/Arbitrum. (eips.ethereum.org)
- CoW Protocol FCBA, UDCP/EBBO, solver onboarding/rewards. (docs.cow.fi)
- UniswapX overview, whitepaper, Dutch auction mechanics. (docs.uniswap.org)
- Flashbots MEV‑Share docs, simulations, bundle cancellation; SUAVE/BuilderNet updates (Nov 2024–Feb 2025). (docs.flashbots.net)
- ERC‑7521, EIP‑7702, ERC‑4337 documentation (intents + account capabilities). (eips.ethereum.org)
- Research on multi‑objective solvers and OFA failure‑cost mechanisms. (arxiv.org)
- Anoma intent machine specs (generalized matching/solving). (specs.anoma.net)
Like what you're reading? Let's build together.
Get a free 30‑minute consultation with our engineering team.

