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:| Contract | Address |
|---|---|
| FlashLoanRouter | 0x9da8B48441583a2b93e2eF8213aAD0EC0b392C69 |
| AaveBorrower | 0x7d9C4DeE56933151Bc5C909cfe09DEf0d315CB4A |
| ERC3156Borrower | 0x47d71b4B3336AB2729436186C216955F3C27cD04 |
The Flash Loan Router was introduced as part of CoW Protocol through CIP 66.
Supported networks
CoW Protocol is deployed on the following networks:| Network | Chain ID | Type |
|---|---|---|
| Ethereum | 1 | Mainnet |
| Gnosis Chain | 100 | Mainnet |
| Arbitrum One | 42161 | Layer 2 |
| Base | 8453 | Layer 2 |
| Optimism | 10 | Layer 2 |
| Polygon | 137 | Sidechain |
| BNB Smart Chain | 56 | Sidechain |
| Avalanche C-Chain | 43114 | Sidechain |
| Linea | 59144 | Layer 2 |
| Sepolia | 11155111 | Testnet |
How it works
The execution flow follows these steps:- Solver initiates: A registered solver calls
flashLoanAndSettle()with loan parameters and settlement data - Flash loans requested: The router requests loans sequentially from each specified lender through borrower adapters
- Funds received: Each borrower receives loaned assets and calls back the router
- Settlement executed: Once all loans are obtained, the router executes the CoW Protocol settlement
- Loans repaid: The settlement transfers assets back to borrowers and approves lenders to pull repayment
- Verification: Lenders verify repayment, completing the atomic transaction