Skip to main content
The Flash Loan Router is a smart contract infrastructure that enables CoW Protocol solvers to execute settlements using funds from one or more flash loan providers. It acts as a proxy solver for CoW Protocol, allowing registered solvers to borrow assets, execute trades, and repay loans within a single atomic transaction.

What is Flash Loan Router?

Flash Loan Router is a permissionless smart contract system deployed on multiple EVM networks that provides:
  • Multi-source flash loans: Borrow from multiple lenders (Aave, Maker, etc.) in a single settlement
  • CoW Protocol integration: Seamlessly execute settlements with borrowed liquidity
  • Modular architecture: Support for any flash loan provider through adapter contracts
  • Atomic execution: All operations succeed or fail together, ensuring safety

Who is it for?

This infrastructure is designed specifically for CoW Protocol solvers who need access to liquidity beyond their own capital to:
  • Execute large settlements that require substantial upfront capital
  • Optimize settlement strategies by accessing external liquidity sources
  • Reduce capital requirements while maintaining competitive solver operations
  • Execute complex multi-step trading strategies within settlements
Only registered CoW Protocol solvers can call the Flash Loan Router. Authentication is managed through the same contract that handles solver authentication for the CoW Protocol settlement contract.

Key benefits

Capital efficiency

Execute settlements without needing to maintain large capital reserves

Multi-lender support

Access liquidity from Aave, Maker, and any ERC-3156 compatible lender

Deterministic deployment

Same contract addresses across all supported networks using CREATE2

Security model

Solvers maintain full control of settlement execution with protected call flow

Deployed contracts

All contracts are deployed deterministically with CREATE2 and share the same addresses across supported networks:
ContractAddress
FlashLoanRouter0x9da8B48441583a2b93e2eF8213aAD0EC0b392C69
AaveBorrower0x7d9C4DeE56933151Bc5C909cfe09DEf0d315CB4A
ERC3156Borrower0x47d71b4B3336AB2729436186C216955F3C27cD04
The Flash Loan Router was introduced as part of CoW Protocol through CIP 66.

Supported networks

CoW Protocol is deployed on the following networks:
NetworkChain IDType
Ethereum1Mainnet
Gnosis Chain100Mainnet
Arbitrum One42161Layer 2
Base8453Layer 2
Optimism10Layer 2
Polygon137Sidechain
BNB Smart Chain56Sidechain
Avalanche C-Chain43114Sidechain
Linea59144Layer 2
Sepolia11155111Testnet
See the networks.json file for complete deployment details.

How it works

The execution flow follows these steps:
  1. Solver initiates: A registered solver calls flashLoanAndSettle() with loan parameters and settlement data
  2. Flash loans requested: The router requests loans sequentially from each specified lender through borrower adapters
  3. Funds received: Each borrower receives loaned assets and calls back the router
  4. Settlement executed: Once all loans are obtained, the router executes the CoW Protocol settlement
  5. Loans repaid: The settlement transfers assets back to borrowers and approves lenders to pull repayment
  6. Verification: Lenders verify repayment, completing the atomic transaction
If any step fails (loan unavailable, settlement reverts, insufficient repayment), the entire transaction reverts. This ensures solvers never end up with unpayable debt.

Next steps

Last modified on March 4, 2026