# Solvers and solver markets

> Who fills orders, how they compete, and what they can and cannot do with your users' funds.

## What a solver is

A solver is an independent agent that turns an intent's "what" into a "how":

1. It watches the hub for open intents.
2. It works out how to satisfy them: from its own inventory, by sourcing the token on other venues, or by matching intents against each other.
3. It submits that plan, a **solution**, to the hub through intent sequencing.
4. It is paid only if the hub validates the solution and settles it.

A solver earns its spread: the difference between the rate an order accepts and what it costs the solver to deliver. When you quote, solvers are pricing your order. The rate in the quote is the one they are prepared to fill at.

## What a solver cannot do

The hub re-validates every solution before applying it. A solver therefore cannot:

- fill below an intent's rate, on any fraction of it,
- send the output anywhere but the order's recipients,
- take escrowed funds it is not owed.

A solver that misprices, goes offline, or misbehaves can only leave an order unfilled, and an unfilled order is refunded at its deadline. So it is safe to let many independent solvers fill orders.

## Solver markets

From your side, you publish orders into a **solver market**: a network of independent agents competing to fill them. A solver sees the same book as an **intent market**, a live stream of orders, each priced by the rate it accepts.

Orders and solvers meet in one shared book on the hub, every order is settled by the same contracts, and any authorized solver can fill any open order whose terms it can meet.

### Why one shared book

mTokens are per token per chain, but they all clear in one book. A solver's inventory therefore serves every pair at once:

- the same token across chains (USDC on Ethereum to USDC on Base),
- different tokens on one chain (USDT to USDC on Arbitrum),
- different tokens across chains (USDT on Ethereum to USDC on Polygon).

Liquidity is shared across pairs and chains, so a new pair can use all existing liquidity the day it is listed. For your users, that means more solvers able to fill each order, which keeps quotes competitive and fills reliable.

## Where to go next

- [Collaborative solving](/concepts/collaborative-solving/): how several sources of liquidity fill one order.
- [Trust model](/concepts/trust-model/): what the contracts enforce, end to end.
