My belief is that limit orders will boost CoWs, CowSwap can potentially become the best limit order service out there.
Meanwhile we could allow users to create “extended orders” (or whatever we would call it) meaning they will signal that they don’t mind to wait for CoWs or more trades to be included in the same batch (this kind of orders should never be set in batches with less than 2/3 or 4 trades for instance). This feature should allow users to make their order valid for some hours (24h max wouldn’t be bad to start). With this in place, we could increase “regular orders” fees enough to make the protocol profitable. If people don’t want to pay that “premium fee” then they can use extended orders or hold enough tokens for discount (meaning discounts would be boosted).
Another solution would be to create “priority orders” signaling that people don’t want to wait for CoWs and they want to get their trade settled asap but paying a premium fee. All regular trades would then be executed only if there’s more than 2 or 3 trades per batch.
Exactly. I wouldn’t care much about the protocol profitability if we hadn’t a Bear Market evolving and if people wouldn’t be so short term focused but it seems that the majority keeps selling because they don’t see any value in COW tokens (not even for voting). Sellers don’t believe in the future of the protocol or they believe in CowSwap utility but they don’t get anything in return. With a trading fee premium we may lose some traders but not if we give alternatives to avoid this premium (boosted discounts and eventually “extended orders” or whatever). I would like to avoid this but under current market conditions doing nothing isn’t exactly the smarter move.
Like @Zen_Dragon also said I don’t think buybacks are good, if the market doesn’t want to buy the token, this buybacks will transfer value from the Treasury to COW token sellers. That’s the reality, recently we saw how useless this buybacks can be.
After reading @fleupold first post I also immediately thought we should increase efficiency which is more trades per batch using a two options (or dynamic) feed model. Like others also proposed already here.
a) Fast trade → higher fee which makes single trade per batch bring revenue to the protocol
b) normal trade → lower fee and wait till at least 4 traders per batch can be included or timeout after x hours (Possible to set timeout by user, maybe advanced settings and use default value)
Do we have any data how many trades per batch on average we had during the UST/LUNA collapse? This is kind of a best case (for us) scenario from market point of view. I assume a lot of trades happpend and I would like to know if we had enough traders per batch there to break even.
I also thought about making the solver rewards dynamic like EIP-1559 when we have enough solvers. But it seems the COW rewards for solvers a just a very little part of the expenses. @fleupold Do you have the cost breakdown between gas costs and the COW rewards by hand?
Also what is the goal: Make COW more valuable by price or more valuable as a utility (Holding gives benefits e.g. cheaper trading fees).
We have all trade data available in Dune Analytics. A specific analysis of fee vs cost per batch can e.g. be found here.
During the Luna/UST collapse we also had settlement throughput issues stemming from high gas costs and volatility making it difficult for the system to settle batches successfully. The congestion increased batch size and made the protocol overall profitable that day (modulo failed gas costs which are currently covered by the solvers).
Maybe its an idea to incentivize users to get some COW tokens when their trade is settled through a CoW while also setting a protocol fee that is relatively higher when a CoW is settled than when a trade is settled through AMMs. In this way gaming this system would also give holders of COW token a higher income when revenue is shared between holders (or perhaps stakers). Even solvers would be incentivized to stake their rewarded COW tokens when winning a batch because they can also earn income on the fees with it.
Furthermore I agree with Voyta to set fee ratios higher for ‘complex’ orders rather than for ‘easy’ orders so that the difference in cost between CoW protocol and AMMs like Uniswap or Curve is low and people still are better off by going to CoW Protocol because they are protected from MEV etc
Sorry, the query is wrong in that it filters only on batches that are making a loss (where fee_value < tx_cost_usd). I created a fork of it here without that constraint.
Three things to keep in mind that this table doesn’t consider:
Not all solvers optimise for CoWs yet, which means that some large batches when solved via single order solvers (ie. 1Inch) don’t yet achieve the maximum gas savings. Take this batch as an example Ethereum Transaction Hash (Txhash) Details | Etherscan : it touches the USDC<>ETH Uni pair 4 times in the same transaction, whereas it should have only touched it once. We hope that external solver competition will make those type of batches more efficient.
Small trades can be filled from “internal balances” that the settlement contract holds. This is the reason why some very small batches still turn out profitable.
The way the subsidy currently works is that it gives a fixed discount to each order (+ the CoW based % discount). This means batches are relatively speaking more subsidized during times of low gas (<50 gwei) and less subsidized during times of higher demand.
By the way, for people willing to play with some numbers there’s a query for simulation purposes (just change the default values and push “Apply all parameteres”).
I also added a default simulation with 30% premium on all fees collected to be used as example so people can see how easy it may be to make the protocol profitable (still ignoring external factors like solvers revenue and more).
The multitiered version works as follow by default:
Are there any plans extending this as this can bring fees down? I think I saw you talking about an own AMM for CoW as something which can happen in the future. Maybe starting with frequently traded assets.
Yes, we would love to eventually allow market makers to keep their own “internal balances” in the settlement layer to allow for most efficient matching of user orders even of larger size.
At the moment, securing large amounts of funds inside the settlement contract requires a large security deposit from solvers - currently in the form of “bonding pools”. This increases the barrier to entry for them. We are researching ways to combine “vouches” of multiple bonding pools for individual solutions (and having those signatures verified by the smart contract) to bring the individual capital requirements of solvers down while still allowing larger amounts to be stored inside the contract.
Redirect inflation offered to solvers based on veCow voting.
Thus solvers will have an incentive to offer the best price(even at loss, aka fee rebate) to traders of the most veCow-voted tokens, which should increase the competitiveness of CowSwap and attract volume.
Projects will benefit from greater liquidity at low cost, and veCow holders will be incentivized to vote, thus providing additional returns.
What do you think?
Sorry for my English I don’t write your language well yet.
Exactly, instead of having a fixed reward per batch, we could have a variable portion of the rewards based on the volume of tokens traded(or other metric).
The amount of additional rewards will be depending on the tokens chosen by veCow owners, like Curve.
This would allow us to give utility to COW, reduce sell pressure with the lock, add buy pressure with the bribe and have more competitive prices than other DeX and even attract MMs via 0x for example.
If I understand it correctly funds in the settlement contract are accesible by every solver, so the bond is needed to secure the funds against misbehavior of any solver.
Couldn’t the funds be split in multiple settlement contracts. One for every solver / solver pool. In this case they can only rug pull the money they own and not the money of the others. This should reduce the needed security bond. Also it would increase competition as more funds in the settlement contract can reduce TX costs. So they compete against each other to hold the best trading assets in their portfolio.
Looking at the architecure picture again, I’m asking myelf: Isn’t the driver controlling the settlement contract? So couldn’t all solvers use the funds in the settlement contract for their batch proposal without risking funds as the driver submits the final batch?
I could think of something similar to EIP 1559 where we have a base fee + tip.
In our case base fee copuld be something to ensure we have percentage X of solvers participating in finding CoWs and submitting a batch,
When X% drops below Y base fee is increased. When X% goes above Z base fee is reduced.
On top we have the tip which could be based on some metrics like you mentioned and the vote via veCOW.
Protocol “Internal balance” (etherscan | zapper.fi) belongs to the protocol and not to solvers, splitting this balance isn’t interesting since it will create fragmentation (and potentially unbalance).
From my understanding, what was said is that it would be great to add market makers funds to the settlement layer, increasing this overall balance. The more funds available, better it is. We would reduce the amount of external swaps but it’s also a bigger challenge (and risk).
Yeah I had to look at the architecture picture to see my mistake. I did an EDIT at the end of my last post.
Adding more funds to reduce external swaps is defintely worth discorvering when we can manage the risk.
I don’t think want to do Robinhood model. In this model, the fee is hidden and nontrasparent, so it is also likely very unfairly distributed. CoW Protocol is a credible attempt I have seen that can make the settlement prices fair (uniform in a block), without relying on order flow deals or related (which paraswap seems to be doing with its market makers cooperation). I believe an explicit fee is fairer (which should depend on the trade parameters as well).
agree, reducing sell pressure with a combination of some locking/staking mechanisms consequently decreases token velocity and increases the value of DAO treasury (value per token), but that needs to be part of a long-term strategy. With stronger purchasing power its easier to buy “fundamentals” (integrations, grants, extrinsic token productivity, and generally build more revenue streams) and create a “positive value loop”. I am against short-term solutions, for example LP farming rewards - that has some purpose or its just pressure from holders to increase their portfolio productivity?