Skip to content

Update documentation for CIP on consistency rewards#603

Merged
fhenneke merged 19 commits intomainfrom
consistency-rewards
Apr 17, 2026
Merged

Update documentation for CIP on consistency rewards#603
fhenneke merged 19 commits intomainfrom
consistency-rewards

Conversation

@fhenneke
Copy link
Copy Markdown
Contributor

@fhenneke fhenneke commented Mar 13, 2026

Description

This CIP adapts the documentation to reflect the changes from this CIP draft.

Changes to the CIP draft need to be reflected in this PR before moving to snapshot.

The PR must be adapted with the CIP number and snapshot link if the CIP moves to voting, and be merged if the voting passes.

Summary by CodeRabbit

  • Documentation
    • Added CIP‑85 to the solver rewards references and relabeled price‑estimation rewards.
    • Introduced a "Performance rewards" subsection and renamed per-solver payoff to "performance reward".
    • Clarified reward cap: now a chain‑specific fraction of the protocol fee with stated defaults and ranges.
    • Added "Consistency rewards" with per‑auction budget contributions and order‑count–based period distributions.
    • Updated solver strategy guidance and a link in the onboarding tutorial.

@fhenneke fhenneke requested a review from a team as a code owner March 13, 2026 12:49
@vercel
Copy link
Copy Markdown

vercel bot commented Mar 13, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview Apr 17, 2026 10:14am

Request Review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 13, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • ✅ Review completed - (🔄 Check again to review again)
📝 Walkthrough

Walkthrough

Updated solver rewards doc: added CIP‑XX placeholder; renamed “payment” to “performanceReward”; defined cap as 50% of the protocol fee (excluding partner fees); introduced “Consistency rewards” with per‑auction budget and order‑count distribution; adjusted strategy text to reflect consistency incentives.

Changes

Cohort / File(s) Summary
Solver Rewards Documentation
docs/cow-protocol/reference/core/auctions/rewards.md
Inserted CIP-XX placeholder; renamed winning‑solver variable/text from payment_i to performanceReward_i; changed cap c_u definition to “50% of the protocol fee (excluding partner fees)”; split solver‑competition rewards into Performance rewards and Consistency rewards with per‑auction budget formula and order‑count based end‑of‑period distribution; updated strategy discussion to note consistency incentives.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 I nibble at lines and hop through the text,
PerformanceReward renamed — a tidy quest,
Caps now half, budgets set to play,
Consistency counts each solver's day,
Hooray for docs — I bounce away!

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive The description provides context linking to the CIP draft and explains the synchronization requirements, but does not include a detailed 'Changes' section as specified in the repository template. Add a 'Changes' section with a bulleted list of specific changes (e.g., updated reward descriptions, new subsections, modified parameters) to provide reviewers with a clear summary of what was modified.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main change: updating documentation to reflect a new CIP on consistency rewards, which aligns with the substantial content additions and restructuring in the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch consistency-rewards

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/cow-protocol/reference/core/auctions/rewards.md`:
- Line 99: The onboard.md cross-reference anchor is missing "36" and should
match the rewards.md heading; locate the link in
docs/cow-protocol/tutorials/solvers/onboard.md (around the anchor at the
existing reference "#price-estimation-competition-rewards-cips-27-57-72") and
update it to "#price-estimation-competition-rewards-cips-27-36-57-72" so it
matches the heading "Price estimation competition rewards (CIPs 27, 36, 57, 72)"
in rewards.md.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 2a7d3054-b47e-4ac8-9876-94bde7937fc6

📥 Commits

Reviewing files that changed from the base of the PR and between 1e54f9f and 7b4afa8.

📒 Files selected for processing (1)
  • docs/cow-protocol/reference/core/auctions/rewards.md

Comment thread docs/cow-protocol/reference/core/auctions/rewards.md
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/cow-protocol/reference/core/auctions/rewards.md`:
- Line 8: Replace the placeholder "CIP-XX(add snapshot link)" with the final CIP
identifier and its snapshot URL (i.e., update the draft CIP-XX token to the
actual CIP number and full snapshot link) wherever it appears in the rewards
text (the literal CIP-XX and "add snapshot link" tokens); if the CIP is not
finalized yet, explicitly mark that sentence as draft-only (e.g., remove the
placeholder from main copy and add a clear "DRAFT" comment) so no placeholder
ships to main.
- Line 8: There is a missing comma between the CIP-48 and CIP-57 links in the
CIP list; update the sentence in the auctions rewards paragraph by inserting a
comma (and a space) between the [CIP-48](...) entry and the [CIP-57](...) entry
so the list reads "... [CIP-48](...) , [CIP-57](...)" and restores correct
punctuation and readability.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: ec040c08-aa35-4ac7-89bd-7ec71fa7fbc0

📥 Commits

Reviewing files that changed from the base of the PR and between 7b4afa8 and 75e94e9.

📒 Files selected for processing (1)
  • docs/cow-protocol/reference/core/auctions/rewards.md

Comment thread docs/cow-protocol/reference/core/auctions/rewards.md Outdated
# Solver rewards

The protocol is currently subsidizing the solver competition on all chains it operates on, by rewarding solvers on a weekly basis (currently, every Tuesday) with rewards paid in COW. Solvers are rewarded based on their performance as solvers (i.e., when participating in the standard solver competition) as specified by [CIP-20](https://snapshot.org/#/cow.eth/proposal/0x2d3f9bd1ea72dca84b03e97dda3efc1f4a42a772c54bd2037e8b62e7d09a491f), [CIP-36](https://snapshot.org/#/cow.eth/proposal/0x4e58f9c1208121c0e06282b5541b458bc8c8b76090263e25448848f3194df986), [CIP-38](https://snapshot.org/#/cow.eth/proposal/0xfb81daea9be89f4f1c251d53fd9d1481129b97c6f38caaddc42af7f3ce5a52ec), [CIP-48](https://snapshot.org/#/cow.eth/proposal/0x563ab9a66265ad72c47a8e55f620f927685dd07d4d49f6d1812905c683f05805) [CIP-57](https://snapshot.box/#/s:cow.eth/proposal/0x46d4fea1492207cf400fcb7a01141a7d4c730791d658cc77236941fc9eb7dccb), [CIP-67](https://snapshot.box/#/s:cow.eth/proposal/0xf9ecb08c4738f04c4525373d6b78085d16635f86adacd1b8ea77b2c176c99d32) and [CIP-74](https://snapshot.org/#/s:cow.eth/proposal/0x0c70c8cd92accee872b52614b4fa10e3e3214f45c5b6857f7e88e910607a3c1d). Solver rewards for participating in the price estimation competition and providing quotes that are needed for the gas estimates and limit price computations of market orders are 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).
The protocol is currently subsidizing the solver competition on all chains it operates on, by rewarding solvers on a weekly basis (currently, every Tuesday) with rewards paid in COW. Solvers are rewarded based on their performance as solvers (i.e., when participating in the standard solver competition) as specified by [CIP-20](https://snapshot.org/#/cow.eth/proposal/0x2d3f9bd1ea72dca84b03e97dda3efc1f4a42a772c54bd2037e8b62e7d09a491f), [CIP-36](https://snapshot.org/#/cow.eth/proposal/0x4e58f9c1208121c0e06282b5541b458bc8c8b76090263e25448848f3194df986), [CIP-38](https://snapshot.org/#/cow.eth/proposal/0xfb81daea9be89f4f1c251d53fd9d1481129b97c6f38caaddc42af7f3ce5a52ec), [CIP-48](https://snapshot.org/#/cow.eth/proposal/0x563ab9a66265ad72c47a8e55f620f927685dd07d4d49f6d1812905c683f05805) [CIP-57](https://snapshot.box/#/s:cow.eth/proposal/0x46d4fea1492207cf400fcb7a01141a7d4c730791d658cc77236941fc9eb7dccb), [CIP-67](https://snapshot.box/#/s:cow.eth/proposal/0xf9ecb08c4738f04c4525373d6b78085d16635f86adacd1b8ea77b2c176c99d32), [CIP-74](https://snapshot.org/#/s:cow.eth/proposal/0x0c70c8cd92accee872b52614b4fa10e3e3214f45c5b6857f7e88e910607a3c1d), and CIP-XX(add snapshot link). Solver rewards for participating in the price estimation competition and providing quotes that are needed for the gas estimates and limit price computations of market orders are 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).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The terms used are a bit confusing, in my opinion. You write

Solvers are rewarded based on their performance as solvers (i.e., when participating in the standard solver competition)

This already mentions performance, but in the explanatory parenthesis, participation shows up.

Then in the next section "Solver competition rewards ", we start with a subsection "Performance rewards".

I would suggest we explicitly define the terms and make the split between performance and consistency to make

Comment thread docs/cow-protocol/reference/core/auctions/rewards.md
\frac{1}{2} \cdot \textrm{protocolFee}_i - \max(0, \textrm{performanceReward}_i),
$$

where $$\textrm{protocolFee}_i$$ is the protocol fee (excluding partner fees) earned from the trades in all solutions supplied by solver $$i$$. When the performance reward is a penalty (i.e., negative), the full $$\frac{1}{2} \cdot \textrm{protocolFee}_i$$ is contributed to the consistency budget. The total consistency budget for an accounting period is the sum of these contributions across all solvers and auctions.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"...earned from the trades in all solutions supplied by...."

not a being fan of the phrasing here. I would be more explicit. Something like

"earned from the trades in all solutions that got successfully executed onchain by solver i"


### Consistency rewards

In each auction, solver $$i$$'s contribution to the consistency budget is
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe start with 1-2 sentences explaining what consistency rewards are? This reference to "consistency budget" looks a bit abrupt

Comment thread docs/cow-protocol/reference/core/auctions/rewards.md Outdated
Comment thread docs/cow-protocol/reference/core/auctions/rewards.md Outdated
Copy link
Copy Markdown
Contributor

@harisang harisang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

left some comments

Comment thread docs/cow-protocol/reference/core/auctions/rewards.md
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/cow-protocol/reference/core/auctions/rewards.md (1)

102-102: ⚠️ Potential issue | 🟡 Minor

Add missing comma between CIP-36 and CIP-57.

This list has the same punctuation issue as above and should be comma-separated consistently.

✏️ Suggested edit
-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-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:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cow-protocol/reference/core/auctions/rewards.md` at line 102, Insert a
missing comma between the CIP links so the clause reads "...[CIP-27], [CIP-36],
[CIP-57], and [CIP-72]..."—specifically add a comma after [CIP-36] in the
sentence containing the CIP links to make the list consistently comma-separated
(references: [CIP-27], [CIP-36], [CIP-57], [CIP-72]).
♻️ Duplicate comments (2)
docs/cow-protocol/reference/core/auctions/rewards.md (2)

8-8: ⚠️ Potential issue | 🟠 Major

Replace draft placeholders before merge (CIP-XX / XX).

Draft placeholders are still present in published-facing text and heading. This should be finalized (actual CIP number + snapshot URL) or explicitly gated as draft-only content so it does not ship to main.

Also applies to: 16-16

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cow-protocol/reference/core/auctions/rewards.md` at line 8, Replace the
draft placeholder "CIP-XX" (present in the published-facing text and heading)
with the final CIP number and its snapshot URL, or if the proposal is not
finalized, explicitly mark the section as draft-only; update the same
placeholder occurrence referenced at the duplicate location (the second
occurrence noted) to keep both instances consistent in rewards.md.

8-8: ⚠️ Potential issue | 🟡 Minor

Add missing comma between CIP-48 and CIP-57.

There is still no comma separator between these links, which hurts readability of the CIP list.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cow-protocol/reference/core/auctions/rewards.md` at line 8, The list of
CIP links is missing a comma between the CIP-48 and CIP-57 entries; update the
markdown in the rewards description to insert a comma (and a space) after the
CIP-48 link so the sequence reads "...[CIP-48](...), [CIP-57](...)" (reference
the CIP-48 and CIP-57 link entries).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In `@docs/cow-protocol/reference/core/auctions/rewards.md`:
- Line 102: Insert a missing comma between the CIP links so the clause reads
"...[CIP-27], [CIP-36], [CIP-57], and [CIP-72]..."—specifically add a comma
after [CIP-36] in the sentence containing the CIP links to make the list
consistently comma-separated (references: [CIP-27], [CIP-36], [CIP-57],
[CIP-72]).

---

Duplicate comments:
In `@docs/cow-protocol/reference/core/auctions/rewards.md`:
- Line 8: Replace the draft placeholder "CIP-XX" (present in the
published-facing text and heading) with the final CIP number and its snapshot
URL, or if the proposal is not finalized, explicitly mark the section as
draft-only; update the same placeholder occurrence referenced at the duplicate
location (the second occurrence noted) to keep both instances consistent in
rewards.md.
- Line 8: The list of CIP links is missing a comma between the CIP-48 and CIP-57
entries; update the markdown in the rewards description to insert a comma (and a
space) after the CIP-48 link so the sequence reads "...[CIP-48](...),
[CIP-57](...)" (reference the CIP-48 and CIP-57 link entries).

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: a5d1e6b9-50da-4372-af96-90dafccfb5c1

📥 Commits

Reviewing files that changed from the base of the PR and between 75e94e9 and f7b9807.

📒 Files selected for processing (1)
  • docs/cow-protocol/reference/core/auctions/rewards.md

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

♻️ Duplicate comments (2)
docs/cow-protocol/reference/core/auctions/rewards.md (2)

105-105: ⚠️ Potential issue | 🟡 Minor

Add missing comma in the CIP list.

There should be a comma between the [CIP-36](...) and [CIP-57](...) links for correct punctuation and readability.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cow-protocol/reference/core/auctions/rewards.md` at line 105, The list
of CIPs in the sentence beginning "As specified in [CIP-27]..." is missing a
comma between the `[CIP-36](...)` and `[CIP-57](...)` links; edit that sentence
in rewards.md to insert a comma after the
`[CIP-36](https://snapshot.org/#/cow.eth/proposal/0x4e58f9c1208121c0e06282b5541b458bc8c8b76090263e25448848f3194df986)`
link so the list reads "[CIP-27], [CIP-36], [CIP-57], and [CIP-72]" for correct
punctuation and readability.

8-8: ⚠️ Potential issue | 🟠 Major

Finalize or explicitly gate CIP-XX placeholders before merge.

CIP-XX(add snapshot link) / XX still appears in main prose and section titles. This should be replaced with the final CIP + snapshot link (or clearly marked draft-only and excluded from merge-to-main content).

Also applies to: 16-16, 63-63

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cow-protocol/reference/core/auctions/rewards.md` at line 8, Replace the
placeholder "CIP-XX(add snapshot link)" with the final CIP identifier and its
snapshot URL (or, if still draft, remove/mark it as draft-only and exclude from
main content); search for all occurrences of "CIP-XX" in this document
(including the solver rewards paragraph and any section titles) and update them
consistently so no unresolved "CIP-XX" placeholders remain.
🧹 Nitpick comments (1)
docs/cow-protocol/reference/core/auctions/rewards.md (1)

20-20: Use descriptive link text instead of “here”.

Please replace [here](competition-rules#off-chain-protocol) with descriptive text (e.g., “off-chain protocol rules”) to improve scanability and accessibility.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cow-protocol/reference/core/auctions/rewards.md` at line 20, The link
text "here" is not descriptive; update the markdown in the paragraph that
currently links to competition-rules#off-chain-protocol so the anchor remains
but the link text is a descriptive phrase (for example "off-chain protocol
rules" or "off-chain protocol") instead of "here" to improve accessibility and
scanability; locate the link `[here](competition-rules#off-chain-protocol)` in
the rewards.md paragraph and replace the display text only, keeping the same
target.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/cow-protocol/reference/core/auctions/rewards.md`:
- Line 24: Update the phrasing in the sentence "a solution as executed on chain
must equal the solution as submitted at the bidding stage." to use the
hyphenated compound adjective form "on-chain" (i.e., change "executed on chain"
to "executed on-chain") so it reads correctly as "a solution as executed
on-chain must equal the solution as submitted at the bidding stage."
- Line 8: Fix the typo "from now one" to "from now on" and rephrase the long
sentence starting with "Solvers are rewarded based on..." in
docs/cow-protocol/reference/core/auctions/rewards.md: split that clause into two
sentences so the part introducing "price estimation or quote rewards" reads
clearly (e.g., end the first sentence after listing CIPs and start a new
sentence: "From now on we will call these price estimation or quote rewards."),
ensuring the phrase and CIP references (CIP-27, CIP-36, CIP-57, CIP-72) remain
intact.

---

Duplicate comments:
In `@docs/cow-protocol/reference/core/auctions/rewards.md`:
- Line 105: The list of CIPs in the sentence beginning "As specified in
[CIP-27]..." is missing a comma between the `[CIP-36](...)` and `[CIP-57](...)`
links; edit that sentence in rewards.md to insert a comma after the
`[CIP-36](https://snapshot.org/#/cow.eth/proposal/0x4e58f9c1208121c0e06282b5541b458bc8c8b76090263e25448848f3194df986)`
link so the list reads "[CIP-27], [CIP-36], [CIP-57], and [CIP-72]" for correct
punctuation and readability.
- Line 8: Replace the placeholder "CIP-XX(add snapshot link)" with the final CIP
identifier and its snapshot URL (or, if still draft, remove/mark it as
draft-only and exclude from main content); search for all occurrences of
"CIP-XX" in this document (including the solver rewards paragraph and any
section titles) and update them consistently so no unresolved "CIP-XX"
placeholders remain.

---

Nitpick comments:
In `@docs/cow-protocol/reference/core/auctions/rewards.md`:
- Line 20: The link text "here" is not descriptive; update the markdown in the
paragraph that currently links to competition-rules#off-chain-protocol so the
anchor remains but the link text is a descriptive phrase (for example "off-chain
protocol rules" or "off-chain protocol") instead of "here" to improve
accessibility and scanability; locate the link
`[here](competition-rules#off-chain-protocol)` in the rewards.md paragraph and
replace the display text only, keeping the same target.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: e8cd929d-3992-429c-8f04-71fc5292f2a9

📥 Commits

Reviewing files that changed from the base of the PR and between 19d1cae and ecbce4e.

📒 Files selected for processing (1)
  • docs/cow-protocol/reference/core/auctions/rewards.md

Comment thread docs/cow-protocol/reference/core/auctions/rewards.md Outdated
Comment thread docs/cow-protocol/reference/core/auctions/rewards.md Outdated
Comment thread docs/cow-protocol/reference/core/auctions/rewards.md Outdated
Co-authored-by: Haris Angelidakis <64154020+harisang@users.noreply.github.com>
Concretely, in each auction, solver $$i$$'s contribution to the consistency budget is

$$
\frac{1}{2} \cdot \textrm{protocolFee}_i - \textrm{performanceReward}_i,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 1/2 should probably be replaced by the chain-specific parameter \beta, right?

**Current metric: order count.** Each solver's share of the consistency budget is proportional to the number of executed orders for which it submitted a solution:

$$
\textrm{consistencyReward}_i = \textrm{consistencyBudget} \times \frac{\textrm{orderCount}_i}{\sum_j \textrm{orderCount}_j}.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems a bit sloppy/not-very-precise, due to not well defined notation. We could skip it altogether, or try to define things properly

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it should be removed


The consistency budget is distributed at the end of each accounting period according to a consistency metric. The core team has a mandate to adapt this metric when they see fit; every change will be announced in advance on the [CoW Protocol forum](https://forum.cow.fi).

**Current metric: order count.** Each solver's share of the consistency budget is proportional to the number of executed orders for which it submitted a solution:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
**Current metric: order count.** Each solver's share of the consistency budget is proportional to the number of executed orders for which it submitted a solution:
**Current metric: order count.** Each solver's share of the consistency budget is proportional to the number of executed orders for which it submitted a solution (in the auction that got each order executed):

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will add a sentence on this restriction.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
docs/cow-protocol/reference/core/auctions/rewards.md (1)

24-24: ⚠️ Potential issue | 🟡 Minor

Hyphenate compound adjective "on-chain".

The phrase "executed onchain" uses "onchain" as a compound adjective modifying "solution" and should be hyphenated as "on-chain" per standard English style guides. This issue also appears in lines 42 and 72.

✏️ Suggested fix
-From the protocol's perspective, a solution as executed onchain must equal the solution as submitted at the bidding stage.
+From the protocol's perspective, a solution as executed on-chain must equal the solution as submitted at the bidding stage.

Note: This issue was previously flagged and marked as addressed, but the non-hyphenated form still appears in the current version.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cow-protocol/reference/core/auctions/rewards.md` at line 24, Replace the
unhyphenated compound adjective "onchain" with the hyphenated form "on-chain" in
the sentence starting "From the protocol's perspective, a solution as executed
onchain..." and in the other occurrences referenced (the similar phrases around
lines 42 and 72); update each instance so the phrase reads "executed on-chain"
to conform to compound-adjective style.
🧹 Nitpick comments (1)
docs/cow-protocol/tutorials/solvers/onboard.md (1)

156-156: LGTM! Cross-reference link correctly updated.

The anchor fragment now properly includes CIP-36, matching the heading "Price estimation competition rewards (CIPs 27, 36, 57, 72)" in rewards.md.

♻️ Optional: More descriptive link text

For better accessibility and scannability, consider replacing "here" with descriptive link text:

-Besides the solving competition, there is also a quoting competition. More information about the quoting competition can be found [here](https://docs.cow.fi/cow-protocol/reference/core/auctions/rewards#price-estimation-competition-rewards-cips-27-36-57-72).
+Besides the solving competition, there is also a quoting competition. More information about the quoting competition can be found in the [price estimation competition rewards documentation](https://docs.cow.fi/cow-protocol/reference/core/auctions/rewards#price-estimation-competition-rewards-cips-27-36-57-72).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cow-protocol/tutorials/solvers/onboard.md` at line 156, Replace the
vague link text "here" in the sentence that points to
https://docs.cow.fi/cow-protocol/reference/core/auctions/rewards#price-estimation-competition-rewards-cips-27-36-57-72
with a descriptive phrase such as "Price estimation competition rewards (CIPs
27, 36, 57, 72)" so the anchor and link are accessible and scannable; update the
inline link text in the markdown line mentioning the quoting competition to use
that descriptive text instead of "here".
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/cow-protocol/reference/core/auctions/rewards.md`:
- Line 72: Fix the grammatical issues in the sentence defining protocolFee_i:
add the missing word "solutions" so it reads "in all solutions successfully
executed", change "chain specific" to "chain-specific" for beta's description,
and change "onchain" to "on-chain"; ensure the variables/prose around
protocolFee_i and β remain unchanged except for these wording/hyphenation fixes.

---

Duplicate comments:
In `@docs/cow-protocol/reference/core/auctions/rewards.md`:
- Line 24: Replace the unhyphenated compound adjective "onchain" with the
hyphenated form "on-chain" in the sentence starting "From the protocol's
perspective, a solution as executed onchain..." and in the other occurrences
referenced (the similar phrases around lines 42 and 72); update each instance so
the phrase reads "executed on-chain" to conform to compound-adjective style.

---

Nitpick comments:
In `@docs/cow-protocol/tutorials/solvers/onboard.md`:
- Line 156: Replace the vague link text "here" in the sentence that points to
https://docs.cow.fi/cow-protocol/reference/core/auctions/rewards#price-estimation-competition-rewards-cips-27-36-57-72
with a descriptive phrase such as "Price estimation competition rewards (CIPs
27, 36, 57, 72)" so the anchor and link are accessible and scannable; update the
inline link text in the markdown line mentioning the quoting competition to use
that descriptive text instead of "here".
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: d8b9f22d-4985-45ad-a1dd-2553ea4892e7

📥 Commits

Reviewing files that changed from the base of the PR and between 19d1cae and 4052a1c.

📒 Files selected for processing (2)
  • docs/cow-protocol/reference/core/auctions/rewards.md
  • docs/cow-protocol/tutorials/solvers/onboard.md

\beta \cdot \textrm{protocolFee}_i - \textrm{performanceReward}_i,
$$

where $$\textrm{protocolFee}_i$$ is the protocol fee (excluding partner fees) earned from the trades in all successfully executed onchain by solver $$i$$ in that auction and $$\beta$$ is the chain specific parameter defined above. When the performance reward is a penalty (i.e., negative), the penalty itself contributes to the consistency budget. The total consistency budget for an accounting period is the sum of these contributions across all solvers and auctions.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix grammatical errors in the protocol fee definition.

The phrase "earned from the trades in all successfully executed onchain by solver $$i$$" is missing the word "solutions" and has two additional issues:

  1. Missing word: Should be "in all solutions successfully executed"
  2. Hyphenation: "chain specific" → "chain-specific"
  3. Hyphenation: "onchain" → "on-chain" (duplicate of earlier comment)
✏️ Suggested fix
-where $$\textrm{protocolFee}_i$$ is the protocol fee (excluding partner fees) earned from the trades in all successfully executed onchain by solver $$i$$ in that auction and $$\beta$$ is the chain specific parameter defined above. When the performance reward is a penalty (i.e., negative), the penalty itself contributes to the consistency budget. The total consistency budget for an accounting period is the sum of these contributions across all solvers and auctions.
+where $$\textrm{protocolFee}_i$$ is the protocol fee (excluding partner fees) earned from the trades in all solutions successfully executed on-chain by solver $$i$$ in that auction and $$\beta$$ is the chain-specific parameter defined above. When the performance reward is a penalty (i.e., negative), the penalty itself contributes to the consistency budget. The total consistency budget for an accounting period is the sum of these contributions across all solvers and auctions.
🧰 Tools
🪛 LanguageTool

[grammar] ~72-~72: Ensure spelling is correct
Context: ...the trades in all successfully executed onchain by solver $$i$$ in that auction and $$...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[grammar] ~72-~72: Use a hyphen to join words.
Context: ... that auction and $$\beta$$ is the chain specific parameter defined above. When t...

(QB_NEW_EN_HYPHEN)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/cow-protocol/reference/core/auctions/rewards.md` at line 72, Fix the
grammatical issues in the sentence defining protocolFee_i: add the missing word
"solutions" so it reads "in all solutions successfully executed", change "chain
specific" to "chain-specific" for beta's description, and change "onchain" to
"on-chain"; ensure the variables/prose around protocolFee_i and β remain
unchanged except for these wording/hyphenation fixes.

@fhenneke fhenneke merged commit 188c94c into main Apr 17, 2026
5 checks passed
@fhenneke fhenneke deleted the consistency-rewards branch April 17, 2026 10:15
@github-actions github-actions bot locked and limited conversation to collaborators Apr 17, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants