A destination call is an arbitrary contract interaction on the destination chain, included in the intent’s route and executed atomically by the Executor contract after the solver delivers the requested asset. This turns “bridge then do something” into a single signed action with all-or-nothing execution.Documentation Index
Fetch the complete documentation index at: https://eco.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
When to use
- One-click cross-chain protocol deposits (“deposit USDC into our Arbitrum vault from any chain”)
- Bridge-and-swap into a non-stable destination asset
- Pay an invoice that requires a specific contract call beyond a transfer
- Cross-chain auto-stake or auto-compound flows
How it works
- The intent’s
route.callsarray contains one or moreCallstructs —{ target, value, data }— to execute on the destination chain. - The solver fronts the destination-chain tokens to the Executor.
- The Executor runs each call sequentially. If any call reverts, the entire intent reverts. The solver pays only gas; the user gets refunded.
Examples
Bridge + deposit
Bridge + DEX swap + transfer
Constraints
| Constraint | Reason |
|---|---|
| Calls execute sequentially in array order | Deterministic execution |
| Any failure reverts the whole intent | Atomicity — no partial states |
| Calls to EOAs with calldata are blocked | Phishing-pattern protection |
| The Executor has no persistent state | Isolation from Portal storage |
Read next
- Executor contract — the contract that runs your calls
- Executor contract — security model and call validation
