-
Notifications
You must be signed in to change notification settings - Fork 32
Updated for new quote rewards according to CIP-88 #664
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Architsharma7
wants to merge
4
commits into
main
Choose a base branch
from
quote-reward-revamp
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change | ||
|---|---|---|---|---|
|
|
@@ -89,7 +89,6 @@ There is no guarantee that the per-auction rewards are greater than the costs of | |||
|
|
||||
| ### Consistency rewards | ||||
|
|
||||
|
|
||||
| With [CIP-85](https://snapshot.box/#/s:cow.eth/proposal/0xb488c343df3ba5f3857a4c7a920a74e18c13a2cdce99d27af34216803da6abff), the protocol introduced consistency rewards. These rewards are based on aggregate metrics evaluated over the full accounting week and are intended to incentivize consistent, reliable solver behavior, broad token coverage, and other aspects the core team considers important for maintaining healthy competition. | ||||
|
|
||||
| Concretely, in each auction, solver $$i$$'s contribution to the consistency budget is | ||||
|
|
@@ -166,28 +165,34 @@ To summarize, truthfully revealing the (cost-adjusted) score that a solver can g | |||
|
|
||||
| Consistency rewards introduce an additional strategic dimension; since the consistency metric rewards competitive bids on executed market orders, solvers have an incentive to participate broadly across auctions with bids close to the winning one, even in cases where they do not expect to win the performance reward. At the same time, since bid quality is discounted by the settlement success rate, solvers should only submit bids they are prepared to settle. Executing out-of-market limit orders earns no consistency rewards; such executions are rewarded through performance rewards only. | ||||
|
|
||||
| ## Price estimation competition rewards (CIPs 27, 36, 57, 72) | ||||
| ## Price estimation competition rewards (CIP 88) | ||||
|
|
||||
| The price estimation competition is a separate competition where solvers provide the best response to a quote request. Quote requests look almost identical to single-order batch auctions, where there is only one order with a trivial limit price, and solvers propose executions of this order with the goal to maximize "out amount minus gas costs" in the case of a sell request, or minimize "in amount + gas costs" in the case of a buy request. | ||||
|
|
||||
| As specified in [CIP-27](https://snapshot.org/#/cow.eth/proposal/0x64e061568e86e8d2eec344d4a892e4126172b992cabe59a0b24c51c4c7e6cc33), [CIP-36](https://snapshot.org/#/cow.eth/proposal/0x4e58f9c1208121c0e06282b5541b458bc8c8b76090263e25448848f3194df986) [CIP-57](https://snapshot.box/#/s:cow.eth/proposal/0x46d4fea1492207cf400fcb7a01141a7d4c730791d658cc77236941fc9eb7dccb), and [CIP-72](https://snapshot.box/#/s:cow.eth/proposal/0xc1b1252f0c99126b4e09730022faa31a7bb58073a3dc064c19b74d44164c39a7), a solver that provides the best quote to an order that is then submitted is rewarded if and only if all of the following conditions are satisfied: | ||||
| As specified in [CIP-88](https://snapshot.box/#/s:cow.eth/proposal/0x3fc7dc270f3e315e9bc2449bf9f5d0288046125f82b9b140b5866c2886fe71ac), quote rewards are paid from a dedicated budget targeting 10% of protocol revenue per chain, separate from the performance and consistency reward budget. | ||||
| This replaces the flat reward per eligible quote set by [CIP-27](https://snapshot.org/#/cow.eth/proposal/0x64e061568e86e8d2eec344d4a892e4126172b992cabe59a0b24c51c4c7e6cc33), [CIP-36](https://snapshot.org/#/cow.eth/proposal/0x4e58f9c1208121c0e06282b5541b458bc8c8b76090263e25448848f3194df986) [CIP-57](https://snapshot.box/#/s:cow.eth/proposal/0x46d4fea1492207cf400fcb7a01141a7d4c730791d658cc77236941fc9eb7dccb), and [CIP-72](https://snapshot.box/#/s:cow.eth/proposal/0xc1b1252f0c99126b4e09730022faa31a7bb58073a3dc064c19b74d44164c39a7), which no longer applies. | ||||
| The budget is computed for each accounting period, which runs weekly from Tuesday 00:00 UTC to the following Tuesday 00:00 UTC, as described in [accounting](/cow-protocol/reference/core/auctions/accounting). | ||||
|
|
||||
| The orders in scope are in-market fill-or-kill orders executed during the accounting period. | ||||
| The budget is divided equally among them, giving each order $$o$$ a budget $$B_o$$. | ||||
| For each order $$o$$, the quote of solver $$i$$ is scored by its error against the executed price | ||||
|
|
||||
| $$ | ||||
| e_{i,o} = \left| \frac{q_{i,o} - x_o} {x_o} \right| | ||||
| $$ | ||||
|
|
||||
| where $$q_{i,o}$$ is the exchange rate of the solver's quote, adjusted for network and volume fee, and $$x_o$$ is the exchange rate at which the order was executed. | ||||
| Only the five quotes with the smallest error are rewarded. | ||||
|
|
||||
| 1. The order is a fill-or-kill market order; | ||||
| 2. The quote is verified (i.e., its calldata successfully simulated in the autopilot); | ||||
| 3. The order was executed (not necessarily by the quoting solver); | ||||
| 4. The solver that provided the winning quote during order creation proposed an execution of the order (in at least one auction) that is at least as good as the quote, and that execution was not filtered out by the fairness filtering of the fair combinatorial auction mechanism. | ||||
| Denoting this set by $$T_o$$, solver $$i$$ receives quote reward $$r_{i,o}$$ | ||||
|
|
||||
| The current rewards for eligible quotes are as follows: | ||||
| $$ | ||||
| r_{i,o} = B_o \cdot \frac{1 / e_{i,o}^{2}}{\sum_{j \in T_o} 1 / e_{j,o}^{2}} | ||||
|
Architsharma7 marked this conversation as resolved.
|
||||
| $$ | ||||
|
|
||||
| - Ethereum mainnet: $$\min\{0.0007 ~\textrm{ETH}, 6 ~\textrm{COW}\}$$, | ||||
| - Gnosis Chain: $$\min\{0.15 ~\textrm{xDAI}, 6 ~\textrm{COW}\}$$, | ||||
| - Arbitrum: $$\min\{0.00024 ~\textrm{ETH}, 6 ~\textrm{COW}\}$$, | ||||
| - Base Chain: $$\min\{0.00024 ~\textrm{ETH}, 6 ~\textrm{COW}\}$$, | ||||
| - Avalanche-C Chain: $$\min\{0.006 ~\textrm{AVAX}, 6 ~\textrm{COW}\}$$, | ||||
| - Polygon Chain: $$\min\{0.6 ~\textrm{POL}, 6 ~\textrm{COW}\}$$ | ||||
| - BNB Chain: $$\min\{0.001 ~\textrm{BNB}, 6 ~\textrm{COW}\}$$ | ||||
| - Linea: $$\min\{0.00003 ~\textrm{ETH}, 6 ~\textrm{COW}\}$$. | ||||
| - Plasma: $$\min\{0.6 ~\textrm{XPL}, 6 ~\textrm{COW}\}$$. | ||||
| - Ink: $$\min\{0.00003 ~\textrm{ETH}, 6 ~\textrm{COW}\}$$. | ||||
| and solvers outside $$T_o$$ receive nothing for that order. | ||||
| If one or more quotes have $$e_{i,o} = 0$$, these quotes share the whole of $$B_o$$ equally. | ||||
| A solver's quote reward for the accounting period is the sum of $$r_{i,o}$$ over all orders in scope, paid in COW as described in [accounting section](/cow-protocol/reference/core/auctions/accounting). | ||||
|
|
||||
| where, again, the conversion from native token to COW is done by using an up-to-date price (specifically, the average native token/COW Dune prices of the past 24h before the payout are used to determine these exchange rates). | ||||
| The core team has a mandate to change how the quote reward budget is allocated among solvers, if needed, to strengthen the quote competition. | ||||
| Any change to the allocation is announced to solvers in advance and reflected in this documentation. | ||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Let's maybe cut that sentence
Suggested change
|
||||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CIP-88 doesn't specify a target per chain (this is one of our interpretations). We should therefore mention the per chain part below when we explain how the budget it computed.