> ## 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.

# Settlement execution

> Contract paths for solver-funded fulfillment and same-chain flash fulfillment.

For the conceptual distinction, read [Settlement and orchestration](/concepts/settlement-vs-orchestration). This page describes the corresponding contract paths.

## Solver-funded path

1. The source vault holds the reward.
2. The caller approves the destination Portal and supplies the tokens required by `route.tokens`.
3. `fulfill` runs the route and records the claimant; `fulfillAndProve` also initiates proving.
4. The configured source prover exposes the fulfillment evidence.
5. `withdraw` pays the claimant from the source vault.

Proof delivery and reward withdrawal can require additional transactions after the recipient receives destination assets.

## Same-chain flash path

The [LocalProver implementation](https://github.com/eco/eco-routes/blob/ea5111ba0cd644089d04f922e05a5253dbd21fb8/contracts/prover/LocalProver.sol) provides `flashFulfill(route, reward, claimant)`. It temporarily makes the reward withdrawable to itself, uses the received funds to fulfill the route through the Portal, then distributes remaining reward assets to the claimant.

Withdrawal and fulfillment run inside one transaction. If fulfillment reverts, the withdrawal reverts too. The intent must name the Local prover and execute on the same chain as its reward.

## Selecting a path

The contracts expose these entry points; they do not implement a universal three-tier routing policy or choose the cheapest route. An API route or solver determines which supported transaction to submit. Check the returned execution instructions and deployed contracts rather than assuming flash fulfillment is an automatic cross-chain fallback.

## Next steps

See [Flash Intents](/routes/capabilities/flash-intents) for usage constraints and [Portal](/routes/architecture/portal) for methods and errors.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.