> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eco.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Solvers

> Solvers are independent operators that fulfill intents on destination chains in exchange for the reward locked in the source-chain vault.

A **solver** is an independent operator that fulfills intents on destination chains in exchange for the reward locked in the source-chain [vault](/routes/architecture/vault). Solvers compete on price and speed; the user gets the best execution; failed solvers lose nothing but gas.

## What a solver does

For each intent, a solver:

1. Reads the intent from the source chain (or receives it offchain)
2. Decides whether the reward covers the destination-chain cost plus margin
3. Executes the route on the destination chain
4. Calls a [prover](/concepts/provers) to carry proof back to the source
5. Withdraws the reward from the vault

Most production solvers also run a **quoting service**, an HTTP endpoint Eco's quote aggregator calls to get pricing for a candidate intent. See the [solver integration guide](/recipes/become-a-solver).

## Competition model

Solvers compete in two ways:

* **Price**: best quote on the input/output pair wins the user's intent
* **Speed**: faster fulfillment captures volume from time-sensitive flows

Eco's quote aggregator queries all registered solvers in parallel and surfaces the best to the user.

## Capital efficiency

Settling intents requires the solver to front capital on the destination chain. Two mechanisms reduce that constraint:

* **Orchestration mode**: when no solver is willing to front capital, the user's vaulted funds move through underlying infrastructure at gas cost. See [Settlement vs Orchestration](/concepts/settlement-vs-orchestration).
* **Crowd Liquidity**: solvers can flash-borrow stablecoin liquidity from a permissionless pool to fulfill larger intents than their reserves would otherwise allow. See [Crowd Liquidity](/routes/primitives/crowd-liquidity).

## Becoming a solver

Solvers are permissionless. To register:

1. Implement the V2 quote endpoints (`/api/v2/quote`, `/api/v2/quote/reverse`)
2. Register your endpoint URLs via `POST /api/v1/solverRegistry/registerSolver`
3. Monitor the source-chain Portal for `IntentPublished` events
4. Fulfill, prove, withdraw

→ Full guide: [Become a solver](/recipes/become-a-solver) · [Solver Registry API](/api-reference/introduction#solver-registry)
