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 and 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 — security model and call validation.
