FeedProjects
Developers
Settings
🎉 A new chapter begins: Boardroom has joined Agora
Learn more
protocol logo
Explore / Projects
CoW DAO

Proposals

Members

Information

Create Proposal

CoW DAO

ProposalsMembersInformation
Proposal
Back to Proposals
closedEnded a year ago · Snapshot (Offchain)

CIP-66: Flash-Loan Router Integration

By 0x9cF8...DB7C71
 CIP-66
 title: Integration of Flash-Loan Router into CoW Protocol
 author: Kowrigan
 status: Active
 created: 2025-04-09

Simple Summary

This proposal suggests integrating a Flash-Loan Router into the CoW Protocol, enabling solvers to execute settlements utilising funds from one or more flash-loans. The Flash-Loan Router contract will be allow-listed in the AllowList smart contract to permit calling the settle function

Motivation

Integrating a Flash-Loan Router will enhance the flexibility and efficiency of CoW Protocol solvers by allowing them to access temporary liquidity without collateral. This aligns with CoW DAO’s commitment to optimizing trading mechanisms and providing solvers with advanced tools to improve settlement outcomes.​

Specification

The Flash-Loan Router is a smart contract that permits CoW Protocol solvers to execute settlements by leveraging flash-loans.

The primary function, flashLoanAndSettle, accepts a CoW Protocol settlement and a list of flash-loan requests, each specifying:

The ERC-20 token and amount to be loaned.​

The flash-loan provider (e.g., Balancer, Aave, Maker).​

The borrower, an adapter contract that utilizes the loaned funds.​

Upon execution, the router requests the specified loans through the adapter’s execution function, and ensures repayment within the same transaction. This process allows solvers to access necessary liquidity for settlements without requiring collateral upfront.​

The Flash-Loan Router is assimilated to a solver for CoW Protocol and calls settle directly once the flash-loans have been obtained. The Flash-Loan Router contract will be added to the AllowList smart contract, enabling it to call the CoW Protocol’s settle function. The function flashLoanAndSettle can be called by any solver that is part of the AllowList at the time of execution. The settlement will be deemed executed by the solver calling the flashLoanAndSettle. For the avoidance of doubt, the allow-listing of the Flash-Loan Router smart contract does not make this solver part of a bonding pool.

Rationale

Flash-loans provide a mechanism for obtaining uncollateralized loans, granted that the borrowed amount is returned within the same transaction. By integrating the Flash-Loan Router, solvers can:​

Access immediate liquidity to facilitate complex settlements.​

Enhance trading strategies by leveraging temporary funds.​

Increase the efficiency and success rate of settlements within the CoW Protocol.​

Alternative designs were considered, such as solvers individually integrating flash-loan capabilities. However, a centralized router offers a standardized, secure, and efficient approach, reducing redundancy and potential security risks.​

Risks and Responsibilities

The Flash-Loan Router contract has undergone a security audit. Links to the audit report(s) will be provided here: https://github.com/cowprotocol/flash-loan-router/tree/main/audit

All risks associated with using flash-loans via the Flash-Loan Router, including potential losses due to failed settlements or inability to repay loans within the same transaction, are borne solely by the solvers calling the router. CoW DAO assumes no liability for these operational risks.

Consequence of passing this CIP

The passing of this CIP defines the address of the Flash-Loan Router as: 0x9da8b48441583a2b93e2ef8213aad0ec0b392c69 on all EVM-compatible networks, as long as there is a contract at that address. Code can be deployed in a permissionless manner by anyone using the code in the GitHub accessible at GitHub - cowprotocol/flash-loan-router: Smart contracts that allows CoW Protocol solvers to call the settle function in the context of a flash-loan contract. or by replaying the mainnet deployment transaction on the targeted network.

Execution Details in Words

Deploy the Flash-Loan Router contract to enable CoW Protocol solvers to execute settlements using flash-loans. Whitelist the router contract address in the AllowList contract to allow it to invoke the settle function.

Implementation

The code of the Flash-Loan Router can be found at GitHub - cowprotocol/flash-loan-router: Smart contracts that allows CoW Protocol solvers to call the settle function in the context of a flash-loan contract.

Continue Reading
Connect Wallet to Add Note
0
Votes 68
VoterCast PowerVote & Rationale
0xa86f...471E82
13.206M

For

0xF7AC...D6EAf5
12.29M

For

0x0041...2D633c
3.571M

For

0x9Dbc...21C199
3.052M

For

0x4af8...1F6A0B
2.711M

For

SHOW MORE
VOTE POWER
0
Connect Wallet
Proposal Status
  • Wed April 09 2025, 09:36 amVoting Period Starts
  • Wed April 16 2025, 09:36 amEnd Voting Period
Current Results

1-For

38.77M

2-Against

134.047

0%

3-Abstain

0.053

0%
Quorum 38.77M/35M
DocumentationBrandingContact Us
Home
This Project is Currently Disabled

If you would like to enable it, please checkout below.

Boardroom Subscription

Sign up for an individual subscription (access all projects on the platform)

Subscribe
Enable Project

Enable the entire project for every user

Enable Project
Contact Us