Skip to content

Conversation

@fleupold
Copy link
Contributor

@fleupold fleupold commented Oct 29, 2025

Description

Proposed specification for https://forum.cow.fi/t/cip-draft-align-solver-rewards-with-protocol-revenue/3174

Changes

  • Reduce upper cap for protocol fee based logic
  • Specify 2bps volume based fee

Summary by CodeRabbit

  • Documentation
    • Added CIP-74 to solver rewards, clarified cap calculation wording, and simplified per-chain cap entries while retaining the primary note/dashboard as source of truth
    • Updated fee docs:
      • Surplus and quote-improvement fee caps reduced from 1.00% to 0.98% and calculations adjusted
      • Volume fee cap reduced from 10 bps to 2 bps and scope broadened to all orders
    • Removed an outdated historical testing note (CIP-34)

✏️ Tip: You can customize this high-level summary in your review settings.

@fleupold fleupold requested review from fhenneke and harisang October 29, 2025 16:48
@vercel
Copy link

vercel bot commented Oct 29, 2025

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

Project Deployment Preview Updated (UTC)
docs Ready Ready Preview Nov 26, 2025 1:31pm

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 29, 2025

Walkthrough

This PR updates protocol docs: adds CIP-74 to solver competition rewards, clarifies cap parameter definitions (defining c_u as the protocol fee and c_l as a chain-specific cap) and simplifies per-chain cap entries; and revises governance fees — lowering surplus/quote caps from 1% to 0.98% and changing the Volume Fee from 10 bps to 2 bps while broadening its scope to all orders.

Changes

Cohort / File(s) Summary
Solver Rewards Documentation
docs/cow-protocol/reference/core/auctions/rewards.md
Added CIP-74 under solver competition rewards; reworded cap function to define c_u (protocol fee) and c_l (chain-specific cap); reformatted per-chain cap entries to use single bare values and removed explicit c_l/c_u label pairs for several chains; added note clarifying protocol-perspective requirements for chain-executed solutions; retained primary Dune-dashboard note.
Fee Structure Documentation
docs/governance/fees/fees.md
Removed CIP-34 historical note; updated surplus-fee and quote-improvement caps from 1% → 0.98% and replaced volume * 0.01 caps with volume * 0.0098; replaced Gnosis-specific volume-fee section with a generic "Volume Fee" (cap 10 bps → 2 bps, volume * 0.001volume * 0.0002) and broadened scope to all orders; adjusted in-page wording and removed some stable-coin handling inline comments.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Pay attention to:
    • Numeric accuracy and consistent propagation of updated caps and formulas (0.010.0098, 0.0010.0002).
    • Precise wording and placement of CIP-74 references and any links.
    • Verification that per-chain cap simplifications did not omit required values; confirm the Dune dashboard reference remains correct.

Possibly related PRs

  • Update rewards.md #528 — overlaps edits to docs/.../auctions/rewards.md, including per-chain reward entries and solver/reward criteria.
  • Update rewards.md #499 — related updates to solver competition rewards wording and CIP references.

Suggested reviewers

  • harisang
  • pretf00d

Poem

🐰
I hopped through docs both near and far,
CIP-74 twinkled like a star.
Caps trimmed neat, the fees made light,
Chains aligned, the pages bright —
A carrot for the merge tonight! 🥕

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: aligning solver and protocol incentives per CIP-74, which is directly reflected in the documentation updates.
Description check ✅ Passed The description includes both required sections (Description and Changes) with appropriate detail. However, it lacks linked issues reference and could provide more context about the specification changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch cip74

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.

@fhenneke
Copy link
Contributor

fhenneke commented Oct 31, 2025

The changes correctly reflect the current state of the proposed CIP.

@fleupold
Copy link
Contributor Author

fleupold commented Nov 5, 2025

Reduced price improvement fee to 0.98% of volume to leave the total maximum protocol fee capped at 1%

@fleupold fleupold changed the title [Draft] CiP to align solver and protocol incentives CiP-74 Align solver and protocol incentives Nov 14, 2025
Copy link
Contributor

@pretf00d pretf00d left a comment

Choose a reason for hiding this comment

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

one tweak requested.

Copy link
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

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d0b42d4 and 65e22ff.

📒 Files selected for processing (1)
  • docs/cow-protocol/reference/core/auctions/rewards.md (2 hunks)
🔇 Additional comments (3)
docs/cow-protocol/reference/core/auctions/rewards.md (3)

7-8: Good incorporation of CIP-74 and improved wording.

The introductory paragraph now includes CIP-74 and reflects the community feedback from previous reviews. The wording clarifies the dual nature of solver rewards (competition and price estimation) and reads more naturally.


15-15: Section header properly updated for CIP-74.

The header now consistently reflects the CIP-74 reference added to the introduction.


39-39: Clear clarification of multi-solution aggregation.

The rewording explicitly specifies that $$c_u$$ includes protocol fees from "all solutions supplied by the solver in that auction," directly resolving the ambiguity raised in previous reviews about multiple solutions from a single solver.

Remove inconsistent variable names.
Copy link
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: 0

🧹 Nitpick comments (1)
docs/cow-protocol/reference/core/auctions/rewards.md (1)

19-23: Minor phrasing refinement suggested for the new protocol-execution note.

The new note appropriately clarifies that on-chain solutions must match the solver's off-chain commitment. However, the phrasing "From the protocol's perspective" is slightly informal. Consider a more direct phrasing, such as:

"A solution executed on chain must equal the solver's initial commitment" or "The protocol requires that on-chain executions match the solver's off-chain commitment."

This change would make the requirement more explicit without the anthropomorphic framing.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 65e22ff and 757d665.

📒 Files selected for processing (1)
  • docs/cow-protocol/reference/core/auctions/rewards.md (2 hunks)
🔇 Additional comments (3)
docs/cow-protocol/reference/core/auctions/rewards.md (3)

7-8: Intro text successfully incorporates CIP-74 and prior feedback.

The reworded intro paragraph includes the CIP-74 reference and appears to reflect the suggestion from previous reviews to clarify the nature of solver rewards. The text is clear and well-structured.


15-15: Section header correctly updated to include CIP-74.


39-46: Per-chain cap formatting now consistently presented — resolves prior inconsistency.

This change successfully addresses the inconsistency flagged in previous reviews. All per-chain cap entries now use a uniform bare-value format (e.g., "Lens: $$10 ;\textrm{GHO}$$" without explicit parameter labels), making the list coherent and reducing ambiguity. The clarified description on line 39 establishes that all listed values represent $$c_l$$ (the chain-specific lower cap).

@marshymarsh marshymarsh enabled auto-merge (squash) November 26, 2025 13:38
@harisang harisang disabled auto-merge November 26, 2025 14:01
@harisang harisang merged commit f47810d into main Nov 26, 2025
6 checks passed
@harisang harisang deleted the cip74 branch November 26, 2025 14:01
@github-actions github-actions bot locked and limited conversation to collaborators Nov 26, 2025
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.

6 participants