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

# Routes architecture

> How the Portal, per-intent vaults, Executor, and provers work together.

The EVM Routes implementation separates source-chain rewards from destination-chain execution. The Portal connects those operations through a prover selected in each intent.

## Contracts

| Component | Role |
| - | - |
| [Portal](/routes/architecture/portal) | Publish and fund intents, execute fulfillment, and coordinate withdrawal and refund checks |
| [Vault](/routes/architecture/vault) | Hold the reward for one intent at a deterministic address |
| [Executor](/routes/architecture/executor) | Execute the route's destination calls outside Portal storage |
| [Prover](/routes/architecture/provers/overview) | Expose fulfillment evidence for source-chain settlement |
| [ERC-7683 interfaces](/routes/architecture/erc-7683) | Open, resolve, and fill orders through the Portal |

The following sequence shows a solver-funded route using a messaging prover.

```mermaid theme={null}
sequenceDiagram
    participant User
    participant Source as Source Portal and vault
    participant Solver
    participant Destination as Destination Portal and Executor
    participant Provers as Destination and source provers
    User->>Source: Publish and fund the intent
    Solver->>Destination: Supply route tokens and fulfill
    Destination->>Destination: Execute route calls
    Solver->>Destination: Initiate proving
    Destination->>Provers: Dispatch fulfillment evidence
    Provers->>Provers: Deliver and validate evidence
    Solver->>Source: Withdraw the reward
    Source->>Provers: Read proven claimant and destination
    Source->>Solver: Pay the reward
```

## Execution and settlement

Source-chain funding, destination-chain fulfillment, and reward withdrawal are separate operations. Destination calls execute atomically within the fulfillment transaction. Cross-chain proof delivery and settlement follow the selected prover's behavior.

For same-chain intents, the Local prover can read fulfillment directly. Its `flashFulfill` operation also supports using the vault's funds within one transaction; see [Settlement execution](/routes/architecture/settlement-vs-orchestration).

## Scope and versions

These pages describe the EVM contracts in the [Routes source repository](https://github.com/eco/eco-routes). Match your ABI to the deployed contract before integrating; a source release does not establish that every chain runs that release. Solana has a [separate implementation](https://github.com/eco/eco-routes-svm).

## Next steps

Use [Contract addresses](/resources/contract-addresses) to locate the deployment for your route, or follow [Integrate the Routes API](/get-started/integrate-routes-api) to use the returned execution instructions.


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