# CoW Protocol Documentation > The leading intents-based DEX aggregation protocol This file contains links to documentation sections following the llmstxt.org standard. ## Table of Contents - [Welcome](https://docs.cow.finance/README): CoW DAO is on a mission to innovate the most user-protective products in Ethereum. - [CoW AMM: The First MEV-capturing AMM](https://docs.cow.finance/cow-amm/README): CoW AMM protects LPs from LVR so they can provide liquidity with less risk and more return. CoW AMM achieves close to 5% more in TVL compared to re... - [How CoW AMMs Work](https://docs.cow.finance/cow-amm/concepts/how-cow-amms-work): The [“Function-Maximizing” AMM](https://arxiv.org/abs/2307.02074) is a novel AMM mechanism that tackles the shortcomings of the CF-AMM design and e... - [The Problem of LVR (Loss-versus-rebalancing)](https://docs.cow.finance/cow-amm/concepts/the-problem-of-lvr): First coined by a team of researchers from [Columbia University,](https://arxiv.org/abs/2208.06046) LVR is a form of arbitrage that occurs whenever... - [Deploying a CoW AMM Using Balancer](https://docs.cow.finance/cow-amm/tutorials/cow-amm-deployer): In this short tutorial, we describe how you can create and deploy their own Balancer CoW AMM. - [CoW AMM Liquidity for Solvers](https://docs.cow.finance/cow-amm/tutorials/cow-amm-for-solvers): CoW AMM orders already appear in the CoW Protocol orderbook, so you're already using its liquidity. - [CoW Protocol](https://docs.cow.finance/cow-protocol/README): CoW Protocol is a meta-DEX aggregation protocol that leverages [trade intents](/cow-protocol/concepts/introduction/intents) and [fair combinatorial... - [CoW Swap Affiliate Program](https://docs.cow.finance/cow-protocol/affiliate-program/README): The CoW Swap Affiliate Program rewards affiliates and referred traders when referred wallets generate qualifying trading volume on CoW Swap. Reward... - [Affiliate Program FAQ](https://docs.cow.finance/cow-protocol/affiliate-program/faq): A 6-month pilot program that rewards affiliates who refer new retail traders when those referred wallets generate qualifying CoW Swap trading volum... - [Additional benefits](https://docs.cow.finance/cow-protocol/concepts/benefits/additional-benefits): CoW Protocol's [intent-based trading model](/cow-protocol/concepts/introduction/intents) and [its auction mechanism](/cow-protocol/concepts/introdu... - [MEV protection](https://docs.cow.finance/cow-protocol/concepts/benefits/mev-protection): One of the main benefits of CoW Protocol is comprehensive MEV protection for every order. - [Price improvement](https://docs.cow.finance/cow-protocol/concepts/benefits/price-improvement): In addition to [MEV protection](./mev-protection), another major benefit of CoW Protocol is optimal price execution that leads to price improvement... - [Trade any intent](https://docs.cow.finance/cow-protocol/concepts/benefits/trade-any-intent): CoW Protocol allows users to express any type of trade intent on Ethereum and EVM-compatible chains, leveraging [solvers](../introduction/solvers) ... - [What is a flash loan?](https://docs.cow.finance/cow-protocol/concepts/flash-loans/Introduction): A flash loan is a unique type of loan that is borrowed and repaid atomically within a single transaction on the blockchain. - [How does it work?](https://docs.cow.finance/cow-protocol/concepts/flash-loans/how-it-works): A flash loan typically happens in the following steps: - [How to specify an order with flash loan](https://docs.cow.finance/cow-protocol/concepts/flash-loans/integrators): The flash loan is encoded into the [appData](/cow-protocol/reference/core/intents/app-data)'s metadata as an optional object. This information serv... - [Coincidence of Wants](https://docs.cow.finance/cow-protocol/concepts/how-it-works/coincidence-of-wants): **CoW (Coincidence of Wants)**: An economic phenomenon where two parties - each holding the asset that the other needs - exchange assets directly i... - [Flow of an order](https://docs.cow.finance/cow-protocol/concepts/how-it-works/flow-of-an-order): Rather than creating executable on-chain transactions, CoW Protocol users submit their orders as signed [*intent to trade*](../introduction/intents... - [How Intents Are Formed](https://docs.cow.finance/cow-protocol/concepts/how-it-works/how-intents-are-formed): An [_intent_](https://docs.cow.finance/cow-protocol/concepts/introduction/intents) in CoW Protocol is a signed message that represents a user's wis... - [CoW Protocol vs. CoW Swap](https://docs.cow.finance/cow-protocol/concepts/how-it-works/protocol-vs-swap): While the two are intertwined, there are important differences between CoW Protocol and CoW Swap. - [Fair Combinatorial Batch Auction](https://docs.cow.finance/cow-protocol/concepts/introduction/fair-combinatorial-auction): CoW Protocol collects and aggregates [intents](./intents) off-chain and auctions them off to [solvers](./solvers). The auction is combinatorial bec... - [Intents](https://docs.cow.finance/cow-protocol/concepts/introduction/intents): Rather than placing orders by _**signing a raw transaction**_ that executes directly on-chain (i.e. as happens on Uniswap or SushiSwap), CoW Protoc... - [Solvers](https://docs.cow.finance/cow-protocol/concepts/introduction/solvers): CoW Protocol delivers optimal price outcomes by leveraging an open solver competition for order matching. - [CoW Hooks](https://docs.cow.finance/cow-protocol/concepts/order-types/cow-hooks): CoW Hooks allow users to pair any Ethereum action (or set of actions) with an order on CoW Protocol, leveraging the [solvers](../introduction/solve... - [Limit orders](https://docs.cow.finance/cow-protocol/concepts/order-types/limit-orders): Limit orders are orders to buy or sell tokens at a specified price before a certain expiration date. - [Market orders](https://docs.cow.finance/cow-protocol/concepts/order-types/market-orders): Market orders are orders to buy or sell tokens as soon as possible at the current market rate. - [Milkman orders](https://docs.cow.finance/cow-protocol/concepts/order-types/milkman-orders): Milkman is an order placement mechanism developed by [Yearn Finance](https://yearn.fi/) in collaboration with CoW Protocol through the [CoW DAO Gra... - [Repay debt with collateral using flash loans](https://docs.cow.finance/cow-protocol/concepts/order-types/pay-debt-flash-loans): A key use case of flash loans is the ability to repay debt with collateral, since flash loans allow users to close or reduce their debt positions w... - [Programmatic orders](https://docs.cow.finance/cow-protocol/concepts/order-types/programmatic-orders): In addition to normal wallets, CoW Protocol also supports smart contract wallets that implement `ERC-1271`. - [TWAP orders](https://docs.cow.finance/cow-protocol/concepts/order-types/twap-orders): Time-Weighted Average Price (TWAP) orders are an advanced order type available on CoW Protocol that breaks up a large order into several smaller pi... - [Generalized Wrappers](https://docs.cow.finance/cow-protocol/concepts/order-types/wrappers): Generalized wrappers are a new framework to allow custom logic to execute before and/or after order settlement on CoW Protocol. They enable complex... - [Integrate CoW Protocol](https://docs.cow.finance/cow-protocol/integrate/README): CoW Protocol offers multiple integration approaches to suit different development needs and use cases. Whether you're building a DeFi application, ... - [API Integration](https://docs.cow.finance/cow-protocol/integrate/api): The CoW Protocol API provides direct access to the protocol's functionality through RESTful endpoints. This approach offers maximum flexibility and... - [SDK Integration](https://docs.cow.finance/cow-protocol/integrate/sdk): The CoW SDK provides programmatic access to CoW Protocol's functionality, enabling you to build custom trading applications with full control over ... - [Widget Integration](https://docs.cow.finance/cow-protocol/integrate/widget): The CoW Widget is the fastest way to integrate CoW Protocol's trading functionality into your application. It provides a complete, pre-built tradin... - [Wrapper Integration](https://docs.cow.finance/cow-protocol/integrate/wrappers): Generalized wrappers enable custom logic to execute surrounding CoW Protocol settlements. This guide covers both using existing wrappers in your or... - [Driver API](https://docs.cow.finance/cow-protocol/reference/apis/driver): import {SwaggerDoc} from '../../../../src/components/swagger-doc/SwaggerDoc'; - [Order book API](https://docs.cow.finance/cow-protocol/reference/apis/orderbook): import {SwaggerDoc} from '../../../../src/components/swagger-doc/SwaggerDoc'; - [Solver API](https://docs.cow.finance/cow-protocol/reference/apis/solver): import {SwaggerDoc} from '../../../../src/components/swagger-doc/SwaggerDoc'; - [Core](https://docs.cow.finance/cow-protocol/reference/contracts/core/README): import { explorerLinks } from '/src/components/contract-addresses' - [GPv2AllowlistAuthentication](https://docs.cow.finance/cow-protocol/reference/contracts/core/allowlist): :::tip Historical Fact - [GPv2Settlement](https://docs.cow.finance/cow-protocol/reference/contracts/core/settlement): :::tip Historical Fact - [GPv2VaultRelayer](https://docs.cow.finance/cow-protocol/reference/contracts/core/vault_relayer): :::tip Historical Fact - [Periphery](https://docs.cow.finance/cow-protocol/reference/contracts/periphery/README): import { explorerLinks } from '/src/components/contract-addresses' - [ComposableCoW](https://docs.cow.finance/cow-protocol/reference/contracts/periphery/composable_cow): ComposableCoW is a framework for smoothing the developer experience when building conditional orders on CoW Protocol. Conditional orders are a subs... - [CoWUidGenerator](https://docs.cow.finance/cow-protocol/reference/contracts/periphery/cow_uid_generator): A helper contract for calculating the same EIP-712 signature hash for a given user order that the GPv2SettlementContract expects. - [Eth-flow](https://docs.cow.finance/cow-protocol/reference/contracts/periphery/eth_flow): As CoW Protocol only [supports `ERC-20 tokens`](../../core/tokens), this means that if a user wants to sell `ETH` on CoW Protocol, they need to: - [Flash Loans](https://docs.cow.finance/cow-protocol/reference/contracts/periphery/flash-loans): Flash loans are handled through contracts implementing the following two interfaces: `IBorrower` and `IFlashLoanRouter`. - [HooksTrampoline](https://docs.cow.finance/cow-protocol/reference/contracts/periphery/hooks_trampoline): A helper contract that may be used by solvers to securely execute user's [hooks](/cow-protocol/reference/core/intents/hooks) within the settlement ... - [Generalized Wrappers](https://docs.cow.finance/cow-protocol/reference/contracts/periphery/wrapper): Generalized wrappers are smart contracts that enable custom logic to execute before and after CoW Protocol settlement operations. This reference do... - [TWAP](https://docs.cow.finance/cow-protocol/reference/contracts/programmatic/twap): A simple _time-weighted average price_ (TWAP) trade may be thought of as `n` smaller trades happening every `t` time interval, commencing at time `... - [Auction mechanism](https://docs.cow.finance/cow-protocol/reference/core/auctions/README): CoW Protocol uses an implementation of the ['Fair Combinatorial Auction'](https://arxiv.org/abs/2408.12225) for executing trades. Within a given au... - [Solver competition accounting process](https://docs.cow.finance/cow-protocol/reference/core/auctions/accounting): There is an accounting process in place for the solver competition. It is performed separately on each chain. Currently, the execution of the accou... - [Setting up a bonding pool](https://docs.cow.finance/cow-protocol/reference/core/auctions/bonding_pools): The first step for setting up a bonding pool is to deploy a Gnosis safe on Mainnet with only [the CoW DAO safe](https://etherscan.io/address/0xcA77... - [Solver competition rules](https://docs.cow.finance/cow-protocol/reference/core/auctions/competition_rules): All solvers participating in the solver competition must abide by certain rules. In this section, we outline all these rules. They naturally split ... - [EBBO violations: details](https://docs.cow.finance/cow-protocol/reference/core/auctions/ebbo_specifics): In this section, we will elaborate on the details about what consistutes an EBBO violation, and what actions are taken by the DAO in case such a vi... - [Solver rewards](https://docs.cow.finance/cow-protocol/reference/core/auctions/rewards): The protocol is currently subsidizing the solver competition on all chains it operates on, by rewarding solvers on a weekly basis (currently, every... - [Schemas](https://docs.cow.finance/cow-protocol/reference/core/auctions/schema): The purpose of this section is to provide an overview of the main API of the solve engine. - [What is solving? A mathematical, high-level description](https://docs.cow.finance/cow-protocol/reference/core/auctions/the_problem): At a high level, a solver is an algorithm that takes as inputs the orders that are valid for an auction, the state of the liquidity sources that th... - [Definitions](https://docs.cow.finance/cow-protocol/reference/core/definitions): A user's desire to swap `sellAmount` of `sellToken` for `buyAmount` of `buyToken`. This is non-prescriptive, and allows for the execution path to b... - [Intents](https://docs.cow.finance/cow-protocol/reference/core/intents/README): Within CoW Protocol, intents are the way that a user expresses their desired swap outcome. - [Application specific data](https://docs.cow.finance/cow-protocol/reference/core/intents/app_data): import CodeBlock from '@theme/CodeBlock'; - [Hooks](https://docs.cow.finance/cow-protocol/reference/core/intents/cow-hooks): The [CoW Hooks feature](/cow-protocol/concepts/order-types/cow-hooks) allows users to request the solvers to execute user-defined Ethereum calls (a... - [Signing schemes](https://docs.cow.finance/cow-protocol/reference/core/signing_schemes): import { explorerLinks } from '/src/components/contract-addresses' - [Supported tokens](https://docs.cow.finance/cow-protocol/reference/core/tokens): CoW Protocol supports `ERC-20` tokens. However, not all `ERC-20` token contracts are created equal, despite the idea of a standard interface. Some ... - [CoW SDK](https://docs.cow.finance/cow-protocol/reference/sdks/cow-sdk/README):

- [Arbitrating auctions](https://docs.cow.finance/cow-protocol/tutorials/arbitrate/README): This section gives a high level overview of the different components that are involved for CoW protocol batch auctions to take place. - [Autopilot](https://docs.cow.finance/cow-protocol/tutorials/arbitrate/autopilot): The autopilot is the engine that drives forward CoW Protocol. - [Order book](https://docs.cow.finance/cow-protocol/tutorials/arbitrate/orderbook): The orderbook is the main API that traders, UIs and other integrations use to interact with CoW Protocol. - [Driver](https://docs.cow.finance/cow-protocol/tutorials/arbitrate/solver/driver): People interested in running a solver to participate in CoW Protocol mainly want to focus on implementing the most efficient solver engine. - [Solver Engine](https://docs.cow.finance/cow-protocol/tutorials/arbitrate/solver/solver-engine): The Solver Engine implements the [matching system](https://en.wikipedia.org/wiki/Order_matching_system) of the CoW Protocol batch auction. - [Building on CoW Protocol](https://docs.cow.finance/cow-protocol/tutorials/building): So, you want to build on top of CoW Protocol? Great! We are excited to see what you will build. - [CoW AMM Deployer](https://docs.cow.finance/cow-protocol/tutorials/cow-amm-deployer): The app was developed by [bleu](https://github.com/bleu-fi) with sponsorship from the [CoW Grants DAO](https://grants.cow.finance/). - [Viewing orders](https://docs.cow.finance/cow-protocol/tutorials/cow-explorer/README): As CoW Protocol utilizes an off-chain orderbook, and settles on-chain, getting a holistic view of the current state of CoW Protocol requires a comb... - [By user address](https://docs.cow.finance/cow-protocol/tutorials/cow-explorer/address): A user may want to see the details of all orders that they have placed. - [By batch auction](https://docs.cow.finance/cow-protocol/tutorials/cow-explorer/batch_auction): A batch auction is settled on-chain as a single transaction, and it is this transaction hash that is used to query the details of the batch auction... - [By order](https://docs.cow.finance/cow-protocol/tutorials/cow-explorer/order): A user may want to see the details of a specific order that they have placed. - [CoW Swap](https://docs.cow.finance/cow-protocol/tutorials/cow-swap/README): [CoW Swap](https://swap.cow.finance/#/swap?utm_source=docs.cow.finance&utm_content=cow-swap-tutorial) is the first interface built on top of CoW Pr... - [Make custom links](https://docs.cow.finance/cow-protocol/tutorials/cow-swap/custom-links): [CoW Swap](https://swap.cow.finance) supports URL query parameters to allow anyone to create a custom link for sharing a specific trade with a frie... - [Flash loans](https://docs.cow.finance/cow-protocol/tutorials/cow-swap/flash-loans): We’ll walk through a concrete example of a debt repayment using flash loans on Sepolia. - [Limit orders](https://docs.cow.finance/cow-protocol/tutorials/cow-swap/limit): CoW Protocol supports limit orders, where users are able to buy or sell tokens at a specified price or better. - [Native tokens](https://docs.cow.finance/cow-protocol/tutorials/cow-swap/native): import Image from '@theme/IdealImage'; - [Cross-chain swaps](https://docs.cow.finance/cow-protocol/tutorials/cow-swap/swap-and-bridge): import Image from '@theme/IdealImage'; - [Market orders (swap)](https://docs.cow.finance/cow-protocol/tutorials/cow-swap/swap): import Image from "@theme/IdealImage" - [TWAP orders](https://docs.cow.finance/cow-protocol/tutorials/cow-swap/twap): import Image from '@theme/IdealImage'; - [CoW Hook dApp](https://docs.cow.finance/cow-protocol/tutorials/hook-dapp/hook-dapp): | Demo | Demo | - [How to execute flashloans orders](https://docs.cow.finance/cow-protocol/tutorials/solvers/flashloans_support): This short tutorial explains how orders with flashloans hints can be executed by solvers. - [Locally testing a solver with the CoW Protocol orderflow](https://docs.cow.finance/cow-protocol/tutorials/solvers/local_test): CoW Protocol infrastructure is a lot of services running together in herd harmony, which is a bit intimidating at the beginning. Before proceeding,... - [Joining The CoW Protocol Solver Competition](https://docs.cow.finance/cow-protocol/tutorials/solvers/onboard): > **_NOTE:_** Most of this document assumes that you will be joining the solver competition under the CoW DAO bonding pool. If you were to set up y... - [Getting new routes integrated Into CoW Protocol](https://docs.cow.finance/cow-protocol/tutorials/solvers/routes_integration): This guide is designed for teams building in DeFi who want to get their routes integrated and supported by CoW Protocol. Integration of new liquidi... - [Swap in Safe Apps](https://docs.cow.finance/cow-protocol/tutorials/swap-in-safe-app/README): With over [100 Billon secured assets](https://x.com/SchorLukas/status/1765865822797410466), Safe is a multi-signature wallet that allows users to m... - [CoW Swap Widget](https://docs.cow.finance/cow-protocol/tutorials/widget/widget): Integrate the power of `CoW Swap` into your product! - [Governance](https://docs.cow.finance/governance/README): > This site represents the current governance structure of CoW DAO. - [Fees](https://docs.cow.finance/governance/fees/fees): :::note - [Partner fee](https://docs.cow.finance/governance/fees/partner-fee): The Partner Fee is calculated as the sum of all transactions traded through your integration with CoW Protocol with Partner Fee defined in the `app... - [CoW Grants Program Overview](https://docs.cow.finance/governance/grants/README): The CoW Grants Program (CGP) funds initiatives that support the growth of the CoW Protocol ecosystem, aligned with the [CoW DAO mission statement](... - [Grant Types](https://docs.cow.finance/governance/grants/grant-types): The CoW Grants Program offers different types of grants to accommodate various project needs. Understanding the differences will help you choose th... - [How to Apply for a Grant](https://docs.cow.finance/governance/grants/how-to-apply): This page provides an overview of the application process. For complete details, please refer to the [official Process Guide](https://forum.cow.fin... - [Program Structure](https://docs.cow.finance/governance/grants/program-structure): The CoW Grants Program operates under a structured governance framework as defined in [CIP-63](https://snapshot.org/#/cow.eth/proposal/0xa83e2a3e98... - [Mission statement](https://docs.cow.finance/governance/mission): CoW DAO is an open organization of developers, market makers, and community contributors on a mission to create a fairer, more-protective financial... - [Multisigs](https://docs.cow.finance/governance/multisigs): CoW DAO uses [Safe](https://safe.global) to manage its funds and operations. The following safes are currently deployed: - [Governance Process](https://docs.cow.finance/governance/process/README): > This site represents the current governance structure of CoW DAO. - [CIP Template](https://docs.cow.finance/governance/process/template): > 📜 This template is to be used to create any new CoW DAO Improvement Proposal. - [Snapshot (Voting)](https://docs.cow.finance/governance/snapshot): CoW DAO uses [Snapshot](https://snapshot.org/#/cow.eth) for voting on [CoW DAO Improvement Proposals (CIPs)](process/#cow-dao-improvement-proposals... - [Token](https://docs.cow.finance/governance/token): At the core of CoW Protocol lies the COW token, which serves as a governance token within the CoW Protocol ecosystem, allowing stakeholders to part... - [LLMs.txt](https://docs.cow.finance/llms): CoW DAO documentation follows the [llmstxt.org](https://llmstxt.org/) standard, making it easy for AI tools and large language models to understand...