# CoW Swap Volume, Solvers and Surplus by Chain

> CoW Swap volume by chain from CoW Protocol settlements, the solvers winning each batch auction, surplus returned to traders and peer-to-peer matches.

Markdown copy of https://voltfincrypto.com/apps/cow-swap-volume-solvers-surplus

**Question:** How much volume does CoW Swap settle, which solvers win its batch auctions and how much surplus do traders get?

- Kind: Dashboard in Voltfin Vantage
- Topic: [DeFi](https://voltfincrypto.com/topics/defi)
- Chains: Multi-chain, Ethereum, Gnosis, Arbitrum, Base, Avalanche, Polygon, BNB Chain
- Status: Planned. The data is not published yet, so this page states no figure; each figure will open its receipt when it is.

CoW Swap trades through CoW Protocol, where users sign orders instead of sending swaps. Orders are collected into batch auctions, and solvers compete to settle each batch: the winner proposes the settlement that returns the most to traders, can match opposite orders against each other directly and routes the rest through on-chain liquidity. Trades of the same token pair in a batch settle at one uniform price, which leaves nothing for a sandwich to exploit.

This dashboard reads each settlement from the protocol's settlement contract: the trades in it, the solver that submitted it, the liquidity it used and the surplus each trader received over their limit price. It shows how volume moves by chain, how often batches match orders peer to peer and how concentrated solving is, each figure linked to the settlement transaction.

## Blueprint

### Volume

CoW Protocol's settled volume by chain, and how much was matched peer to peer.

- **Volume, latest day** (USD): Volume of orders settled by CoW Protocol on the covered chains on the latest complete day.
- **Volume, 30 days** (USD): Volume of settled orders over the last thirty complete days.
- **Matched peer to peer** (%): Volume filled by matching orders against each other in a batch, as a share of all volume over the period.
- **Surplus, 30 days** (USD): What traders received beyond their signed limit prices over the last thirty days.
- **Volume by chain** (USD): Daily settled volume over the period, stacked by chain.
- **Largest settlements**: The period's largest batches with their chain, solver, orders, volume and surplus, each linked to its transaction.

### Solvers

Which solvers win batches, and what traders gained.

- **Solvers winning batches** (count): Solvers that settled at least one batch over the selected period.
- **Largest solver's share** (%): The single largest solver's share of settled volume over the period.
- **Volume by solver** (USD): Settled volume over the period, split by the solver that submitted each batch.
- **Surplus per trade** (bps): The median surplus each day as a share of trade size, in basis points, so surplus compares across trade sizes.

Filters: Chain (Every chain CoW Protocol settles on, or all); Period (Last 7, 30 or 90 days).

## How it will be measured

- Volume comes from the GPv2Settlement contract's Trade events on each chain, one per filled order, valued once at the stablecoin leg or an oracle price at the settlement block.
- The solver of each batch is the address in the Settlement event, named from the addresses CoW DAO allows to settle.
- Surplus is the amount each trader received beyond their signed limit, from the Trade event's amounts against the order's limit in the settlement calldata; auction scores that are not on-chain are recorded with their source.
- Peer-to-peer matches are trades in a batch filled against other orders rather than an external pool, found by netting the batch's token flows against the interactions it called.

## Data it needs

- `dex_swaps_daily` (to build): Swap counts and volume per DEX, pool and chain per day, decoded from Swap events, valued with stablecoin legs and oracle prices.
- `mev_daily` (to build): Blocks by builder, MEV-Boost relay share, and detected sandwich attacks with the value taken from users, per day.
- `protocol_revenue_daily` (to build): Fees users paid to each protocol and the part kept by the protocol or its token holders, per protocol and day, including buybacks.
- `native_prices_daily` (to build): Reference prices of major assets read from on-chain oracle feeds (Chainlink latestRoundData) at each day's last block, with each round's update time.
- Source: GPv2Settlement Trade and Settlement events on each chain
- Source: settle() calldata: each order's limit amounts, the clearing prices and the interactions called
- Source: Solver allow-list contract events naming the addresses allowed to settle
- Source: Protocol and partner fee transfers in each settlement
- Source: Chainlink price feeds at the settlement block

## Questions

### How does CoW Swap work?

Instead of sending a swap, a trader signs an order with a limit price. Orders are gathered into batches, and solvers compete to find the settlement that gives traders the most. The winning solver submits the batch on-chain, and the protocol checks that every order gets at least its limit.

### What is a coincidence of wants?

Two or more orders in the same batch that want each other's tokens, such as one trader selling ETH for USDC while another buys ETH with USDC. A solver can settle them against each other directly, with no pool and no price impact for the matched part.

### What is surplus on CoW Swap?

The difference between what a trader received and the minimum their order allowed. If an order accepts at least a certain amount and the batch delivers more, the extra is surplus. The dashboard adds it up per day, per chain and per solver.

### How does CoW Swap protect against MEV?

Orders are signed off-chain and settled by solvers in batches at uniform prices, so they never sit in the public mempool as swaps that a bot could front-run. A batch settles in one transaction, and every order in it must meet its own limit.

### What is CoW AMM?

A liquidity pool design where trades against the pool happen through the batch auction, so the pool trades at the batch's clearing price and the value arbitrageurs would take goes back to its liquidity providers instead.

### How does CoW DAO earn fees?

From settlements: protocol fees taken as a share of surplus on some order types or as a small fee on volume, plus partner fees set by the apps that route orders. MEV Blocker, CoW DAO's private RPC, earns separately. Fees are read from each settlement's transfers.

## Glossary

- **Batch auction**: An auction that collects orders over a short window and settles them together in one transaction.
- **Solver**: An approved party that computes and submits settlements for CoW Protocol batches, competing on the value it returns to traders.
- **Surplus**: What a trader receives beyond the limit price they signed, the measure solvers compete on.
- **Coincidence of wants**: Orders in a batch that can be matched against each other directly, without an external pool.

## Related apps

- [1inch Volume by Chain: Fusion, Classic Swaps and Resolvers](https://voltfincrypto.com/apps/dex-aggregator-1inch-fusion-volume)
- [Sandwich Attack Checker: Was My Swap Front-Run?](https://voltfincrypto.com/apps/sandwich-attack-checker)
- [Cross-Chain Intents: Volume, Solvers and Fill Times](https://voltfincrypto.com/apps/cross-chain-intents-solvers)
- [Ethereum Block Builders: Market Share of Blocks](https://voltfincrypto.com/apps/ethereum-block-builders)
- [DEX Volume by Chain and Protocol](https://voltfincrypto.com/apps/dex-volume-by-chain)
- [DeFi TVL by Chain: Total Value Locked Rankings](https://voltfincrypto.com/apps/defi-tvl-by-chain)

Build it in Voltfin Studio: https://app.voltfincrypto.com/signup?next=%2F
