Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions docs/cow-protocol/concepts/introduction/solvers.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,20 @@ CoW Protocol delivers optimal price outcomes by leveraging an open solver compet

![Solvers](/img/concepts/solvers.png)

Solvers are bonded third parties that execute trades on behalf of users through an [intent-based delegated execution model](intents).
Solvers are independent, bonded participants that compete to construct valid settlement solutions for user-signed intents through CoW Protocol’s [intent-based delegated execution model](intents). Solvers are bonded third parties that execute trades on behalf of users through an

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 | ⚡ Quick win

Fix incomplete duplicated sentence in intro paragraph.

Line 11 ends with a dangling fragment (...through an) after already defining solvers in the previous sentence. This currently reads as a broken sentence in published docs.

✍️ Proposed edit
-Solvers are independent, bonded participants that compete to construct valid settlement solutions for user-signed intents through CoW Protocol’s [intent-based delegated execution model](intents). Solvers are bonded third parties that execute trades on behalf of users through an  
+Solvers are independent, bonded participants that compete to construct valid settlement solutions for user-signed intents through CoW Protocol’s [intent-based delegated execution model](intents).
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Solvers are independent, bonded participants that compete to construct valid settlement solutions for user-signed intents through CoW Protocols [intent-based delegated execution model](intents). Solvers are bonded third parties that execute trades on behalf of users through an
Solvers are independent, bonded participants that compete to construct valid settlement solutions for user-signed intents through CoW Protocol's [intent-based delegated execution model](intents).
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/cow-protocol/concepts/introduction/solvers.md` at line 11, The intro
paragraph contains a duplicated dangling fragment "`through an`" that leaves the
sentence incomplete; remove the trailing fragment and either end the previous
sentence after "users" or complete it to a single coherent clause (e.g.,
"Solvers are bonded third parties that execute trades on behalf of users through
an off-chain relayer.") Update the sentence in
docs/cow-protocol/concepts/introduction/solvers.md to remove the broken fragment
and ensure the paragraph reads as one complete statement.


Once a user submits an [intent](intents), the protocol groups it alongside other intents in a batch auction.
As soon as a batch is "closed for orders", meaning that it stops considering new orders, the protocol runs a [competition](/cow-protocol/reference/core/auctions) where solvers submit solutions for the intents in the batch.

Whichever solver offers the best [solution](/cow-protocol/reference/core/auctions/the-problem#solution) for the batch auction (defined as the solver that provides the most surplus to user orders) gets to execute the orders.
The solver whose [solution](/cow-protocol/reference/core/auctions/the-problem#solution) generates the greatest surplus for the batch is selected to submit the winning settlement solution.

Solvers are compensated in COW tokens for settling batches, incentivizing them to compete to find better prices and win the right to execute user intents.
Solvers are compensated in COW tokens for successful settlement submissions, incentivizing them to compete to find better prices and submit valid solutions for user-signed intents.

## How Solvers Work

Solvers can move tokens on behalf of the user using the `ERC-20` approvals that the user granted to the [vault relayer](/cow-protocol/reference/contracts/core/vault-relayer) contract.
The [settlement](/cow-protocol/reference/contracts/core/settlement) contract, meanwhile, verifies the signature of the user's intent and ensures that execution happens according to the limit price and quantity specified by the user.

Solvers do not receive ERC-20 approvals from users. Token transfers occur through the protocol’s smart contracts, using the ERC-20 approvals that users grant to the [vault relayer](/cow-protocol/reference/contracts/core/vault-relayer) contract. The [settlement](/cow-protocol/reference/contracts/core/settlement) contract verifies each user’s signed intent and enforces the applicable limit price, quantity and settlement constraints.

Anyone with some DeFi knowledge and ability to code an optimizations algorithm can create a solver.
Loading