CIP-Draft: Laertes Capital Market Making Line of Credit

Motivation:
Hi I’m Jeffrey Liang and I run Laertes Capital LLC, a Delaware LLC which runs the Laertes cow solver. I started working on building a solver in mid August of this year and we just formed the legal entity in October. We have been a powerful and motivated force aligned with the best interests of the CoW Protocol. In this short time (less than three months!), we have gone from zero to becoming the top solver during the last week. Furthermore, we have been relentlessly reinvesting our COW rewards back into the ecosystem. Starting about two weeks ago, we started providing our own private liquidity directly to users on Cowswap. We’ve put in about $10k at this point out of our $18k in profits. In that time, we’ve facilitated over 300 trades, saving 20k+ gas each time. Even at 10 gwei, that’s $100+ in value or 33% annual return for the ecosystem! These activities have been reasonably profitable for us so far as well.

We’d like to expand these activities but market making is extremely capital intensive. However, the CoW Treasury has significant funds sitting idle and putting them to work in the ecosystem seems like a win-win. Meanwhile, we hold substantial assets as part of our activities. Besides our market making funds, we are required to hold 25% of our COW rewards and we have to keep ETH in our solver accounts to pay for the gas costs of our settlements. We also have significant cash flow of $3-4k weekly from COW solver rewards. These resources could be utilized to repay in the unlikely scenario that funds are lost. Accordingly we are proposing the following:

Proposal:
CoW DAO grants Laertes Capital LLC a DAI line of credit to use for market making activities and possibly solver development. These loans would be subject to an interest rate of 5% and the line of credit must be unwound by the end of Q1 2023 for review. A CoW team wallet will be added as a signer on the market making wallet. The maximum size of the line of credit will be equal to the “locked funds” - the dollar value of Laertes Capital’s locked COW rewards and ETH in the two solver accounts used for gas (currently about $21k). Furthermore, under the condition that no incidents risking funds have occurred, this size will increase by 25k DAI every thirty days. Assuming this proposal passes this month, this would reach 100k DAI in March 2023. Therefore the maximum size of the line of credit will be 100k DAI + the value of the “locked funds”.

Risks:
Before any funds are borrowed, Laertes Capital LLC will undertake a thorough security review to harden our infrastructure against potential security threats including hacks and bugs.

Access is lost to market making wallet: This is mitigated by adding the cow team signer on the wallet.
Unauthorized access to market making wallet: If signers wallets are compromised. We use state of the art hardware wallets on our end.
Funds are lost from market making wallet: The settlement contract has full access to most of the market making assets. Other solvers should harden their security to protect against hacks. It is our understanding that solvers will be held responsible in this scenario and be slashed to pay for losses fully. There is also the possibility of a bug in our own algorithms that leads to a loss in funds. We have various safeguards in place to protect against this and as mentioned, will conduct a security review prior to the disbursement of funds. Less seriously, our market making strategies may make a small loss.

Incident Response:
In the event that borrowed funds are put at risk by an event, such as the above, Laertes Capital LLC will immediately inform the Cow team and no further loans can be taken out until another CIP is passed. We would then work together with the Cow team to figure out the best way to deal with the situation and unwind the loans.

Any and all constructive feedback is very welcome!

2 Likes

Great proposal and congrats on the astonishing entry to the competition! I guess 5% is a bit low given the current interest rate environment, but I’m curious what the protocol will say. Anyways, OTEX will be happy to second the notion on a line of credit for (all) solvers. We will soon release a new version that will implement our own market making strategy and capital. The line of credit would indeed help taking the opposite side of bigger orders.

Have you considered onchain solutions like lending $cow (or other necessary assets) from money markets directly?

The problem with this proposal imo is that this is basically a handshake deal which cannot be enforced onchain, and would require a fallback onto tradfi entities signing a contract. I would be more interested in seeing an onchain solution to this, preferably one that is permissionless and would thus also have the potential to benefit other parties.

Thanks Filius for the positive feedback!

Thanks for taking the time to give your thoughts! Honestly we haven’t really considered that. We would only be able to do that with the locked COW which would be around $8k and then reduced significantly by the collateral ratio. That wouldn’t get us anywhere near where we want to be. And that’s if there even are reputable places to borrow against COW, which I’m not sure of?

Could you elaborate on why that is a problem? Most of the world runs on that tradfi contract stuff and that’s how the Cow team itself is working with the DAO, no? More broadly, I don’t think blockchain can or will ever absolve protocols of the need to identify talented motivated individuals or teams and give them the resources to build for the ecosystem.

I think it would be a big mistake to look at this and other proposals as risks instead of opportunities. Cow is a blockchain startup. It’s inherently risky and in my opinion, being very risk averse is maybe the riskiest strategy of all.

Hey @tomatosoup!
Awesome to see your solver performs so well!
Thanks for taking the time to write this proposal.

I see that also @Filius expressed interest in a loan for bootstrapping their solver’s private liquidity.
I want to discuss few topics from my point of view (Ideally trying to represent CoW DAOs POV)

  • Better understanding the challenges CoW Protocol’s solvers are facing and specifically the upfront inventory / capital problem
  • Protocol neutrality and encouraging fair competition between solvers
  • Points to consider for CoW DAO giving uncollateralized loans to solvers (risks and benefits)

Problem statement

(I’ll try to simply describe the problem as I understand it from OP. Please LMK if wrong or need corrections…)
In order to have a fair, competitive and thriving solver landscape, it is desired to reduce barriers to entry. One such barrier was identified in the past as the required solver bond, which was remedied by a DAO-hosted shared bonding pool for qualified solvers.
As I understand, we have here a similar problem. In order to provide competitive pricing solvers would like to hold inventory of tokens which they can use for directly matching user orders, which requires upfront capital. @tomatosoup proposal is for CoW DAO to provide some bootstrapping loans that will allow solvers to market-make more efficiently.

Protocol Neutrality

By providing discretionary loans to solvers, CoW DAO might be giving a competitive advantage to certain solvers. In order to overcome this, the DAO might consider developing a transparent “Bootstrapping Loan Program” that is standardized and open to any solver that applies and is considered qualified.

Managing risks

I’m not super familiar with the topic of uncollateralized loans, and would think there’s a challenge in creating a proper framework for CoW DAO to evaluate those risks.
I think we need to further discuss how those funds are going to be used and the ability of the solver to repay the loan.
The intention is to convert the proceeds to a basket of tokens that will be used as inventory for liquidity provision?
Potentially we could partner with an undercolletaralized lending protocol (Maple, Atlendis) to crowdsource such a fund and get more appropriate advice on what a reasonable interest rate would be (Wintermute, one of the most reputable MMs is drawing at ~10% atm)

Having said that and in order to make sure we can move fast, maybe it would make sense to start with a small program which should limit the risks. In parallel we can try to assess what is needed for launching a bigger program.

1 Like

Thanks for the detailed response! Yes I would say that is an accurate description of the problem. Yeah that sounds reasonable to develop a standardized program.

Yeah the current plan is to convert half the DAI to WETH and use those tokens to market make like we have already been doing for over two weeks. I understand that uncollateralized loans are tricky so we could definitely start small. At a minimum though we could give loans against the locked assets solvers already hold. This would already be a huge deal for Laertes Capital! We have locked assets worth $21k while our total holdings are only around $35k!

1 Like

Okay I wrote up a quick v2 proposal for a standardized program which follows:

Motivation:
Recently solvers including us at Laertes Capital have been building infrastructure that allows us to provide our own liquidity on Cowswap. This brings substantial benefits to the ecosystem. Not only will users receive better pricing but private liquidity removes the bad UX and costs of reverts and significantly reduces gas. We have been running our implementation for over two weeks and would like to scale up these activities but market making is very capital intensive. Meanwhile we and other solvers hold large amounts of illiquid assets. As part of the solver competition rules, we must hold 25% of our COW rewards but these assets are just sitting idle. We also hold ETH in our solver wallets to pay for the gas of the weeks’ swaps. While these are utilized, typically only a small portion is consumed each week to pay for negative slippage and failed transactions. In other words, we can easily setup a win-win agreement here by allowing solvers to borrow against their illiquid assets.

Proposal:
Establish a Bootstrapping Market Making Program. This program would allow solvers to take out ETH lines of credit against their illiquid assets. In particular, the locked COW solvers receive as solver rewards and the ETH they hold in solver wallets to pay for the weeks’ gas. The solvers would transfer the locked COW to the Cow DAO to be held as collateral. Currently the ETH is held in wallets controlled by the Cow team but as this is set to change, we propose that then the Cow team should hold a signature on the multisig where the ETH is held. Any Cowswap solver would be eligible and would pay 5% interest while the loan is active. The maximum size of the line of credit will be equal to the ETH value of the collateral when the loan begins. There is no requirement to return the loan if the ETH value of collateral decreases as we expect this not to be significant.

Let me know what you think! Thanks all!

1 Like

Some questions

  1. Can you walk us through the worst case scenario?
    Your solver takes a loan and a bug sends all the capital to zero address. What should happen next?

  2. How will Cowswap level the plainfield? Will every solver who wants a loan, get it?

  3. How should Cowswap incorporate the loan risk in the objective function?

  4. If you believe it’s a good idea, why wouldn’t your LLC raise the money or ask for a bank loan?
    You would have an edge in the competition, right?

Thanks!

Hi poolpi, thanks for the questions. Here are my responses:

  1. If we are unable to repay the loan, our collateral will be used to service our debts.
  2. Yes every solver can get a loan up to their collateral value.
  3. We believe it should not because these loans will be collateralized.
  4. I think banks generally don’t touch crypto at all and the fixed costs of paperwork and due diligence and time waiting are too much for a loan of the size we envision. (~$10-30k) Plus we can generate some yield for the Cow DAO treasury this way.

Did you see my updated proposal in the last post before yours? Sorry I don’t think I have permission to edit the OP. We think this proposal is low risk because the loans would be collateralized and the amounts are not large but it would dramatically improve our capital efficiency at the moment.

Okay I put this in the CIP template format and filled in some more details:

CIP: <to be assigned when moved to phase 2>
title: Bootstrapping Solver Market Making Program
author: Jeffrey Liang (jeff@laertescapital.io)
status: Draft
created: 2022-11-15

Simple Summary
Establish a Bootstrapping Solver Market Making Program which allows solvers to borrow ETH from the CowDAO against illiquid assets they hold as part of their solver activities. This is low risk, will generate yield for the treasury and will dramatically increase capital efficiency for market making solvers, particularly those with limited capital.

Motivation
Recently solvers including us at Laertes Capital have been building infrastructure that allows us to provide our own liquidity on Cowswap. This brings substantial benefits to the ecosystem. Not only will users receive better pricing but private liquidity removes the bad UX and costs of reverts and significantly reduces gas. We have been running our implementation for over two weeks and would like to scale up these activities but market making is very capital intensive. Meanwhile we and other solvers hold large amounts of illiquid assets. As part of the solver competition rules, we must hold 25% of our COW rewards but these assets are just sitting idle. We also hold ETH in our solver wallets to pay for the gas of the weeks’ swaps. While these are utilized, typically only a small portion is consumed each week to pay for negative slippage and failed transactions. In other words, we can easily setup a win-win agreement here by allowing solvers to borrow against their illiquid assets.

Specification
Establish a Bootstrapping Solver Market Making Program. This program would allow solvers to take out ETH lines of credit against their illiquid assets. In particular, the locked COW solvers receive as solver rewards and the ETH they hold in solver wallets to pay for the weeks’ gas. The solvers would transfer the locked COW to the Cow DAO to be held as collateral. Currently the ETH is held in wallets controlled by the Cow team but as this is set to change, we propose that then the Cow team should hold a signature on the multisig where the ETH is held. Any Cowswap solver would be eligible and would pay 5% interest while the loan is active. The maximum size of the line of credit will be equal to the ETH value of the collateral when the loan begins. There is no requirement to return the loan if the ETH value of collateral decreases as we expect this not to be significant.

Rationale
We chose to denominate the lines of credit in ETH as these illiquid assets are volatile and closely tied to ETH so this will minimize dramatic shifts in the LTV ratio. Structuring as lines of credit gives solvers the flexibility to only borrow what they need/want at the moment. We allow any Cowswap solver to participate so as to treat solvers equally. We believe 5% interest is reasonable given that, as far as we know, the funds are currently earning 0% interest and these loans would be collateralized.

Some things that could be discussed are: requiring solvers to return some of the loan if the LTV ratio gets too high to further reduce risk for the CowDAO, and allowing solvers to borrow against all of their COW rewards. This last option could potentially reduce sell pressure on COW from solvers as they could borrow against their COW rewards to use in market making activities instead of having to swap them for key liquid assets like WETH and USDC.

Hey @tomatosoup, thanks for pushing this proposal forward

I feel like details are still missing in the Specification section.

I think that borrowing against your own ETH funding for the transaction is not a good idea since this balance is changing over time and might get to zero. If capital efficiency is important, you can keep low balance and auto schedule top ups.

I’m not sure if that really makes sense, but trying to scope this further to play with a more concrete proposal:
I think the DAO can denominate the loans in ETH or DAI since those are tokens that are already on the treasury.
Solvers (bonded solver) will be allowed to deposit 200k COW and borrow against it 10 ETH or 12k DAI per solver. (just so we cap the risks and understand them before (if) we go bigger)

Theoretically we could have used an isolated gated lending pool.
But since CoW DAO anyway has exposure to COW and established some level of trust with bonded solvers MAYBE we can skip on having an onchain liquidation system that will require a reliable COW price feed?
Basically what that means is trying to come up with “softly enforced” rules for those credit lines.
But then what those rules are exactly? What happens if a solver does not return the loan? When a solver should be margin called? Who is responsible to enforce them? The DAO directly? delegated multisig?

Hey, thanks for the comments and sorry for the late response.

Yeah it’s not 100% but typically almost all of the ETH spent on gas is refunded at the end of the week. We could do that but the main difficulty is getting funds out of the wallets as they are controlled by the Cow team atm and is not something they want to do all the time.

That would not be my preferred outcome but I think definitely something I would support.

Right, I guess there are some more details to specify but I’m rather indifferent/clueless about what they should be so I’m open to suggestions! My original thinking was that collateral would be used to repay in the case of default and no margin calls.

1 Like

I think that coming up with accurate details for the proposal is important in order to evaluate it and its benefits / risks.
I don’t think I’m well positioned to define such details myself though.
Things like LTV ratios, when and how a solver get margin called?
Who is responsible to manage and enforce the program’s rules?

I’m def in favor of working towards the concept of “Line of credit for solvers” if this will help solvers operations, capital efficiency and ultimately pricing!
Looking forward for further discussion to find proper definitions that (IMO) will allow CoW DAO to form consensus around it.

Thinking about this more, I’d like to propose the following:

Loans can be taken out at an initial LTV ratio of 75%. At the end of every week’s accounting period, LTV ratios are computed by the COW team. If a solver’s LTV exceeds 85%, they have until the next week to repay so that it is below 85% again. If they fail to do so, they will be liquidated to bring their LTV to 85%. For the LTV ratio computation, “value” will be computed as the ETH value of collateral, where collateral is the deposited COW plus ETH in prod + barn solver addresses at the end of the accounting period plus ETH to be refunded to prod + barn.

This should provide more safety to the Cow DAO as well as minimizing the administrative overhead by only checking LTV on a weekly cycle along with the rest of solver accounting. To my knowledge, it should also be fairly simple to spin up a Dune query that computes the LTV ratio.

1 Like

I don’t think this is a very robust solution, but maybe could be define as an early stage experiment that allows CoW DAO to extend credit to solvers.

You didn’t mention in which token the loan will be denominated, and whether COW or ETH will be liquidated first.

I think this requires more discussion from other solvers and community members.
Would love to know if there will be demand from solvers and whether the community think this is a good idea

There are other avenues for lines of credit, and this idea introduces new risks to the DAO treasury. What are the benefits when adjusting for risk?

Hey, why don’t you think it is robust? I mentioned in my earlier proposals that it would be denominated in ETH. Yeah I left the decision of which asset to liquidate first up to the Cow team.

Yes I would welcome some more discussion for sure! Filius expressed interest above so that’s a significant portion of the solvers already haha.

Mm our locked COW is a bit tough to borrow against in other places since it’s locked by agreement with the Cow Dao. Meanwhile, Cow also holds more power over us (e.g. authorization to be a solver) which could be used to deter default.

As I mentioned above, the benefits are that this will allow solvers to market make more on Cowswap which brings benefits to users in the form of better pricing and UX, as well as generating yield for the treasury. Also it will help solvers which is beneficial to the Cow protocol as we are deeply intertwined partners and allies.

We could definitely cap the loans at something like 20 ETH. I think that would still be great. Even something like borrowing 20 ETH at full value against locked COW would be awesome and I think reasonable risk for the dao. Literally worst case scenario, the solver defaults and essentially the DAO bought back some COW with 20 ETH at that market price.