Intents and Solvers: Intent-Based Trading

Intent or transaction, the role of solvers, UniswapX, CoW Protocol and ERC-7683: understand intent-based trading, its advantages and its trust assumptions.

Advanced · Avancé · 8 min read · Publié le

The essentials

Transaction or intent: what's the difference?

The classic transaction: you provide the route

When you swap on a DEX the classic way, your wallet builds a transaction that precisely describes the path: call this contract, go through this pool, swap this amount, with this minimum slippage. You pay the gas, you send the transaction into the public mempool, and you accept the result, even if it's degraded by a sandwich attack or a price move.

It's like ordering a taxi and specifying every street to take.

The intent: you provide the destination

An intent is a signed message that expresses a desired outcome, with constraints: "I want to swap 1,000 USDC for at least 0.33 ETH, before such-and-such a time." You don't say which way to go. This message is not a transaction: it doesn't execute on its own and costs nothing to sign.

Players called solvers (or "fillers," depending on the protocol) read these intents, look for the best way to satisfy them, then themselves submit the transaction onchain. A settlement contract verifies your signature and makes sure your constraints are met. If the promised outcome isn't reached, the execution fails and your funds stay with you.

It's like telling the taxi "take me to the station for 20 euros maximum," letting several drivers compete for the ride.

Classic transactionIntent
What you signA precise execution pathAn outcome and constraints
Who pays the gasYouGenerally the solver (passed through in the price)
Exposure to the public mempoolYesReduced, depending on the protocol

The role of solvers

Solvers are operators, often professionals, who have optimization software, access to liquidity (onchain pools, market makers, their own inventory) and sometimes capital to front the funds.

Their added value comes from several levers:

  • Routing: splitting an order across several pools or DEXs.
  • Private liquidity: tapping their own reserves or those of market makers.
  • Matching: directly pairing two users with opposite needs.
  • Gas management: bundling several orders into a single transaction.

Competition between solvers is the heart of the model. It should push each one to offer the best price, otherwise a competitor wins the order. If this competition weakens, for example because a few players dominate, the benefits for the user shrink.

Two implementations to know

UniswapX: the Dutch auction

UniswapX is described by its documentation as an open-source, permissionless, auction-based swap protocol. You sign an order that uses Permit2 (a token approval contract) to allow your tokens to be transferred only if the order's conditions are met.

The signature mechanism is the Dutch auction: the order starts at a price very favorable to you, then gradually worsens over a defined duration. The first filler that judges the price profitable executes the order. In practice, the price you get corresponds to the moment when execution becomes attractive to at least one filler.

The documentation highlights gasless swaps for the user, protection against MEV, liquidity aggregation and no fees on failure.

CoW Protocol: batch auctions

CoW Protocol groups intents into batch auctions. Once the batch is closed, solvers submit solutions; the one that generates the most surplus (the gain relative to users' limit prices) wins the right to execute the settlement.

Two properties are worth highlighting:

  • Uniform prices: the same pair traded several times within a batch settles at a consistent price, which makes the order of transactions within the batch irrelevant and limits front-running.
  • Coincidence of Wants (CoW): if Alice sells ETH for USDC and Bob does the opposite, the solver can match them directly, without going through a pool.

The documentation specifies that solvers are independent and "bonded" participants (they post collateral), paid in COW tokens for successful settlements. On the user side, tokens are accessed through an ERC-20 approval granted to the protocol's relayer contract, and the settlement contract verifies the signature and the price and quantity constraints.

Cross-chain intents and ERC-7683

Intents become particularly useful when several blockchains are involved. Rather than using a bridge yourself, then swapping on the destination chain, you sign: "I deposit 1,000 USDC on Arbitrum, I want to receive at least 999 USDC on Base."

A relayer (or filler) pays you immediately on the destination chain with its own capital. Your funds, locked in escrow on the origin chain, are released to it only after verification that it has filled the order. You therefore receive your funds quickly, and it is the relayer who bears the delay and the settlement risk.

ERC-7683 ("Cross Chain Intents") is a proposed Ethereum standard, still in Draft status on the official EIPs website, that aims to standardize how these cross-chain intents are expressed so that a shared solver infrastructure can serve several protocols. Its FAQ cites Across and UniswapX among the projects using it. The current version of the text focuses on the solver-side interface: "resolver" contracts translate each protocol's own format into a common representation that solvers can evaluate. The standard aims to be agnostic about the proof system used to verify settlement.

Since the text is still in Draft, its technical details may change.

A concrete example

You want to swap 2,000 USDC for ETH on an intent-based protocol.

  1. The interface shows a quote, for example 0.66 ETH, with a guaranteed minimum slightly lower.
  2. The first time, you sign an approval for the protocol's contract. This is a classic onchain transaction.
  3. You then sign the order itself: an off-chain signature, with no gas fees, that specifies the token sold, the token received, the minimum accepted and the expiration date.
  4. Solvers compete. One of them executes the order and pays the gas, whose cost is built into the price.
  5. You receive the ETH in your wallet. If no solver can meet your minimum before expiration, the order expires and nothing happens.

Before signing at step 3, read carefully what your wallet displays: amount sold, minimum amount received, receiving address and deadline.

Advantages and risks

What intents bring

  • Less MEV suffered: your orders don't pass in the clear through the public mempool as an exploitable swap.
  • No gas paid on failure: if the order isn't executed, you don't lose fees.
  • Potentially better execution: access to liquidity sources you wouldn't have on your own.
  • Simplified experience: no need to hold each chain's native token for gas, or to manage a bridge manually.

The trust assumptions

  • Settlement contracts: they are what protect your funds. A bug or a misconfiguration can lead to losses.
  • Solver concentration: if only a few players win most orders, competition and therefore price quality may decline.
  • Censorship or non-execution: a solver may choose not to execute your order. Your funds in principle stay with you, but you don't get your swap.
  • Cross-chain: the verification mechanism between chains (oracle, proof, messaging) is an additional security assumption.
  • Off-chain signatures: since a simple signature can move your tokens, phishing sites imitate these screens. A signature isn't "free" in the sense of "risk-free."

Mistakes to avoid

  • Signing a message without reading it: an order signed on a fake site can authorize the transfer of your tokens to an attacker.
  • Granting unlimited approvals without follow-up: regularly revoke unnecessary approvals.
  • Confusing the quote with the guaranteed minimum: only the minimum is contractually protected by the settlement contract.
  • Setting too long an expiration: an order valid for a long time may be executed under market conditions that no longer suit you.
  • Assuming a cross-chain intent is risk-free: it relies on an escrow and a verification mechanism between chains, with their own risks.

This guide provides general information and is not investment advice.

Key takeaways

  • An intent expresses a desired outcome; a transaction describes an execution path.
  • Solvers or fillers compete to execute intents and generally pay the gas.
  • UniswapX uses Dutch auctions, CoW Protocol uses uniform-price batch auctions.
  • ERC-7683, still in Draft, aims to standardize cross-chain intents so that solvers can be shared.
  • The model reduces the MEV you suffer but relies on settlement contracts and competition between solvers.
  • Read every signature: a signed order can move your tokens without any transaction from you.

Sources

Compare services related to this topic