Skip to main content
Routes is Eco’s intent-based stablecoin bridging and swapping module. Instead of users navigating complex bridging decisions, they simply express what they want—and Routes handle the rest.

Overview

When a user wants to transfer stablecoins across chains, they create an “intent”, a signed message describing their desired transfer. Solvers then compete to fulfill this intent on the destination chain, with cryptographic proofs ensuring atomic settlement. This approach abstracts away the complexity of:
  • Selecting optimal bridging paths
  • Managing liquidity across chains
  • Handling execution risk
  • Ensuring transaction atomicity

Participants

There are three main user profiles:
  • Users: Individuals who want to transact across different L2s.
  • Solvers: Individuals interested in performing transactions on behalf of others for a fee.
  • Provers: Individuals interested in proving on the source chain that an intent was fulfilled on the destination chain.

How it works

User wants to initiate a cross-chain transaction by creating an intent. Put simply, an intent represents a User’s end goals on the destination chain. It contains the calls they’d want to make, those calls’ corresponding addresses, the resources a Solver would need to perform those calls, and the rewards the User would be willing to pay a Solver to execute this call on their behalf, along with other metadata. A User can publish this directly on our system or otherwise disseminate that information to a Solver. A User also must fund this intent - escrow the reward tokens corresponding to the intent. Solver, upon seeing this intent and determining based on the inputs and outputs that it is profitable and ensuring that the User has funded the intent, marshalls the required resources and fulfills the intent transaction on the destination chain that corresponds to the user’s intent, storing the fulfilled intent’s hash on the destination chain. Prover - perhaps the Solver themselves or a service they subscribe to - sees this fulfillment transaction and performs a proof that the hash of the fulfilled transaction on the destination chain matches that of the intent on the source chain. After the intent is marked as proven,the Solver can withdraw their reward. We also implement ERC-7683 and enable the creation and fulfillment of intents in our system via that interface.

Standard Intent Flow

Gasless Intent Flow

Core Operations

Intent Publishing: Intents can be published on any chain, regardless of where input and output tokens live. An intent need not be published via the Portal at all - users can disseminate intent information directly to solvers if they choose. Intent Funding: A funded intent has its reward tokens stored in a deterministic Vault created via CREATE2. Intents can be funded during publishing, after the fact via permit2 signatures, or by directly transferring tokens to the Vault. Intent Fulfillment: Fulfillment happens on the destination chain Portal. Solvers approve the Portal to pull required tokens and call fulfill. Fulfillment may trigger proving-related post-processing, such as relaying a message back to the source chain. Intent Proving: Intent proving lives on Prover contracts, which are on the source chain. Provers are effectively the source chain’s oracle for whether an intent was fulfilled on the destination chain. A User chooses ahead of time which Prover their intent will query for fulfillment status. There are currently three types of provers: StorageProvers (Prover.sol), which use storage proofs to verify the fulfillment of an intent, HyperProvers(HyperProver.sol), which utilize a Hyperlane bridge in verifying intent fulfillment, and LayerZeroProvers(LayerZeroProver.sol), which utilize a LayerZero bridge for cross-chain verification. Intent Reward Settlement: Settlement occurs on the source chain. The withdrawal flow checks that an intent has been proven and transfers reward tokens to the solver. If an intent was not fulfilled before the deadline, users can trigger a refund. Edge cases like overfunding are handled gracefully.

Components

  • Portal: Main contract/program handling all intent operations
  • Vault: Escrow storage for intent rewards (EVM: separate contracts, Solana: PDA accounts)
  • Prover: Validates cross-chain execution proofs
  • Executor: Arbitrary contract call execution contract
  • Solver: Off-chain service that executes intents for profit

Portal contract

The main gateway contract that manages the complete intent lifecycle: Intent Publishing: Users define cross-chain operations with specific parameters Intent Funding: Users escrow reward tokens in deterministic vaults to incentivize solver execution Intent Fulfillment: Solvers execute the requested operations and provide proof Proof Validation: Validates fulfillment proofs from destination chains via multiple prover types Reward Settlement: Distributes rewards to successful solvers

Provers

Specialized provers that integrate with different cross-chain messaging protocols: HyperProver: Uses Hyperlane for cross-chain message delivery LayerZeroProver: Integrates with LayerZero protocol for cross-chain verification MetaProver: Uses Metalayer for cross-chain proofs LocalProver: Handles same-chain intents

Vault contract

Deterministic reward escrow system:
  • Accepts native and ERC20 token deposits
  • Releases rewards to proven solvers
  • Handles refunds for expired intents

Executor contract

Secure call execution system:
  • Only Portal can execute calls
  • Prevents dangerous calls to EOAs
  • Batch execution with comprehensive error handling

ERC-7683 Integration

Eco Routes implements ERC-7683, the standard for cross-chain order protocols. This enables seamless interoperability with other ERC-7683 compatible systems and provides a standardized interface for cross-chain intent creation and fulfillment.

ERC-7683 Components

EcoERC7683OriginSettler: The entry point to our system that implements the ERC-7683 standard for intent creation and funding on source chains. EcoERC7683DestinationSettler: An abstract contract inherited by our Portal that handles ERC-7683 compatible intent fulfillment on destination chains.

Benefits of ERC-7683 Compatibility

  • Standardized Interface: Compatible with any ERC-7683 tooling and infrastructure
  • Ecosystem Interoperability: Works seamlessly with other intent-based protocols
  • Developer Experience: Familiar patterns for developers already using ERC-7683
  • Future-Proof: Built on an evolving standard for cross-chain transactions
  • Users can create and fulfill intents through both our native interface and the standardized ERC-7683 interface, providing maximum flexibility and compatibility.
I