# CoW DAO Documentation > Documentation for CoW Protocol, CoW AMM, and CoW DAO — the most user-protective trading protocol on Ethereum. ## Docs - [Cancel an order by marking it invalid with a timestamp.](https://docs.cow.bleu.builders/api-reference/cancel-an-order-by-marking-it-invalid-with-a-timestamp.md): The successful deletion might not prevent solvers from settling the order. - [Cancel multiple orders by marking them invalid with a timestamp.](https://docs.cow.bleu.builders/api-reference/cancel-multiple-orders-by-marking-them-invalid-with-a-timestamp.md): This is a *best effort* cancellation, and might not prevent solvers from settling the orders (if the order is part of an in-flight settlement transaction for example). Authentication must be provided by an [EIP-712](https://eips.ethereum.org/EIPS/eip-712) signature of an `OrderCancellations(bytes[]… - [Create a new order.](https://docs.cow.bleu.builders/api-reference/create-a-new-order.md): Submit a signed order to the Orderbook. - [Debug an order's lifecycle.](https://docs.cow.bleu.builders/api-reference/debug-an-orders-lifecycle.md): Returns a comprehensive debug report for the given order, including order details, lifecycle events, auction participation, proposed solutions, executions, trades, and settlement attempts. - [Get existing order from UID.](https://docs.cow.bleu.builders/api-reference/get-existing-order-from-uid.md): Fetch a single stored order by UID. - [Get existing orders from the list of UIDs.](https://docs.cow.bleu.builders/api-reference/get-existing-orders-from-the-list-of-uids.md): Returns an array where each element is an object with either an "order" key containing the full order, or an "error" key containing the UID and a description of what went wrong. - [Get existing trades (paginated).](https://docs.cow.bleu.builders/api-reference/get-existing-trades-paginated.md): Exactly one of `owner` or `orderUid` must be set. - [Get existing trades (unpaginated).](https://docs.cow.bleu.builders/api-reference/get-existing-trades-unpaginated.md): **Deprecated:** This endpoint is deprecated and will be removed in the future. Please use `/api/v2/trades` instead, which provides pagination support. - [Get information about a solver competition.](https://docs.cow.bleu.builders/api-reference/get-information-about-a-solver-competition.md): Returns the competition information by `auction_id`. - [Get information about solver competition.](https://docs.cow.bleu.builders/api-reference/get-information-about-solver-competition.md): Returns the competition information by `tx_hash`. - [Get information about the most recent solver competition.](https://docs.cow.bleu.builders/api-reference/get-information-about-the-most-recent-solver-competition.md): Returns the competition information for the last seen auction_id. - [Get native price for the given token.](https://docs.cow.bleu.builders/api-reference/get-native-price-for-the-given-token.md): Price is the exchange rate between the specified token and the network's native currency. - [Get orders by settlement transaction hash.](https://docs.cow.bleu.builders/api-reference/get-orders-by-settlement-transaction-hash.md) - [Get orders of one user paginated.](https://docs.cow.bleu.builders/api-reference/get-orders-of-one-user-paginated.md): The orders are sorted by their creation date descending (newest orders first). - [Get the API's current deployed version.](https://docs.cow.bleu.builders/api-reference/get-the-apis-current-deployed-version.md): Returns the git commit hash, branch name and release tag (code: https://github.com/cowprotocol/services). - [Get the current batch auction.](https://docs.cow.bleu.builders/api-reference/get-the-current-batch-auction.md): The current batch auction that solvers should be solving right now. This includes: - [Get the full `appData` from contract `appDataHash`.](https://docs.cow.bleu.builders/api-reference/get-the-full-`appdata`-from-contract-`appdatahash`.md) - [Get the status of an order.](https://docs.cow.bleu.builders/api-reference/get-the-status-of-an-order.md) - [Get the total surplus earned by the user. [UNSTABLE]](https://docs.cow.bleu.builders/api-reference/get-the-total-surplus-earned-by-the-user-[unstable].md): ### Caution - [Quote a price and fee for the specified order parameters.](https://docs.cow.bleu.builders/api-reference/quote-a-price-and-fee-for-the-specified-order-parameters.md): Given a partial order compute the minimum fee and a price estimate for the order. The response includes base order parameters in `quote`, plus quote metadata such as `expiration` and `id`. - [Registers a full `appData` and returns `appDataHash`.](https://docs.cow.bleu.builders/api-reference/registers-a-full-`appdata`-and-returns-`appdatahash`.md): Uploads a full `appData` to orderbook and returns the corresponding `appDataHash`. - [Registers a full `appData` so it can be referenced by `appDataHash`.](https://docs.cow.bleu.builders/api-reference/registers-a-full-`appdata`-so-it-can-be-referenced-by-`appdatahash`.md): Uploads a full `appData` to orderbook so that orders created with the corresponding `appDataHash` can be linked to the original full `appData`. - [Authentication](https://docs.cow.bleu.builders/bff/api-reference/authentication.md): Authentication and authorization for the CoW Protocol BFF API - [Account Endpoints](https://docs.cow.bleu.builders/bff/api-reference/endpoints/accounts.md): Endpoints for retrieving user token balances and allowances, including REST and Server-Sent Events streaming - [Affiliate Program Endpoints](https://docs.cow.bleu.builders/bff/api-reference/endpoints/affiliate.md): Endpoints for managing affiliate codes, retrieving program details, and accessing performance statistics - [Hooks Endpoints](https://docs.cow.bleu.builders/bff/api-reference/endpoints/hooks.md): API endpoints for retrieving CoW Hooks analytics data from Dune Analytics - [Market Endpoints](https://docs.cow.bleu.builders/bff/api-reference/endpoints/markets.md): Endpoints for retrieving market data and slippage tolerance recommendations for trading pairs - [Miscellaneous Endpoints](https://docs.cow.bleu.builders/bff/api-reference/endpoints/misc.md): Utility endpoints for the BFF API service, including version information, root redirects, and TWAP proxy - [Notification Endpoints](https://docs.cow.bleu.builders/bff/api-reference/endpoints/notifications.md): Endpoints for managing push notification subscriptions and retrieving notification history - [Simulation Endpoints](https://docs.cow.bleu.builders/bff/api-reference/endpoints/simulation.md): Endpoints for simulating transaction bundles before on-chain execution using Tenderly integration - [Token Endpoints](https://docs.cow.bleu.builders/bff/api-reference/endpoints/tokens.md): API endpoints for retrieving token information including USD pricing and holder data - [Yield Endpoints](https://docs.cow.bleu.builders/bff/api-reference/endpoints/yield.md): API endpoints for retrieving liquidity pool information and APR data across multiple DEX protocols - [API Overview](https://docs.cow.bleu.builders/bff/api-reference/introduction.md): Introduction to the CoW Protocol Backend for Frontend API - [Architecture](https://docs.cow.bleu.builders/bff/architecture.md): Comprehensive guide to the CoW Protocol BFF monorepo structure, design patterns, component relationships, and core services - [Docker Deployment](https://docs.cow.bleu.builders/bff/deployment/docker.md): Guide for deploying CoW Protocol BFF services using Docker and Docker Compose - [Environment Variables](https://docs.cow.bleu.builders/bff/deployment/environment-variables.md): Complete reference guide for configuring CoW Protocol BFF services using environment variables - [Creating Services and Libraries](https://docs.cow.bleu.builders/bff/development/creating-services.md): Guide to scaffolding new services, applications, and libraries in the CoW Protocol BFF monorepo using NX generators - [Database Migrations](https://docs.cow.bleu.builders/bff/development/database-migrations.md): Guide for creating, running, and managing TypeORM database migrations in the CoW Protocol BFF - [Development Environment Setup](https://docs.cow.bleu.builders/bff/development/setup.md): Guide for setting up a local development environment for CoW Protocol BFF services - [Testing Guide](https://docs.cow.bleu.builders/bff/development/testing.md): Guide to writing and running tests in the CoW Protocol BFF using Jest and NX - [Introduction](https://docs.cow.bleu.builders/bff/introduction.md): Overview of CoW Protocol BFF (Backend For Frontend), a TypeScript-based service collection powering CoW Swap and related applications - [Repositories](https://docs.cow.bleu.builders/bff/libraries/repositories.md): Data access layer for the CoW Protocol BFF with support for multiple data sources, caching, and fallback strategies - [Services](https://docs.cow.bleu.builders/bff/libraries/services.md): Business logic services for the CoW Protocol BFF, implementing clean architecture patterns with dependency injection - [Shared](https://docs.cow.bleu.builders/bff/libraries/shared.md): Shared utilities, types, and constants for the CoW Protocol BFF - [Quickstart](https://docs.cow.bleu.builders/bff/quickstart.md): Setup and installation guide for running the CoW Protocol BFF locally - [API Service](https://docs.cow.bleu.builders/bff/services/api.md): Documentation for the BFF API service, a Fastify-based HTTP server that aggregates data from multiple sources to provide unified endpoints for trading, tokens, and balances - [Notification Producer](https://docs.cow.bleu.builders/bff/services/notification-producer.md): Background service that monitors blockchain events and generates push notifications for CoW Protocol users across multiple chains - [Telegram Bot Service](https://docs.cow.bleu.builders/bff/services/telegram.md): A consumer application that listens to notification queues and delivers push notifications to users via Telegram - [TWAP Service](https://docs.cow.bleu.builders/bff/services/twap.md): A Fastify-based API for managing time-weighted average price orders in CoW Protocol - [Custom Orders](https://docs.cow.bleu.builders/composable-cow/advanced/custom-orders.md): Build custom programmatic order types using the IConditionalOrder and IConditionalOrderGenerator interfaces. - [Swap Guards](https://docs.cow.bleu.builders/composable-cow/advanced/swap-guards.md): Implement the ISwapGuard interface to restrict which programmatic orders can settle via CoW Protocol. - [Value Factories](https://docs.cow.bleu.builders/composable-cow/advanced/value-factories.md): Dynamic storage of on-chain snapshots within ComposableCoW's cabinet system using IValueFactory. - [BaseConditionalOrder](https://docs.cow.bleu.builders/composable-cow/api/base-conditional-order.md): API reference for the abstract contract that serves as the foundation for custom programmatic order types. - [ComposableCoW](https://docs.cow.bleu.builders/composable-cow/api/composable-cow.md): API reference for the ComposableCoW contract - the central coordinator for programmatic orders on CoW Protocol. - [ExtensibleFallbackHandler](https://docs.cow.bleu.builders/composable-cow/api/extensible-fallback-handler.md): API reference for the Safe fallback handler that enables signature verification multiplexing through domain-specific verifiers. - [IConditionalOrder](https://docs.cow.bleu.builders/composable-cow/api/interfaces/iconditional-order.md): API reference for the IConditionalOrder interface and its IConditionalOrderGenerator extension. - [ISwapGuard](https://docs.cow.bleu.builders/composable-cow/api/interfaces/iswap-guard.md): API reference for the ISwapGuard interface that enables order settlement restrictions in ComposableCoW. - [IValueFactory](https://docs.cow.bleu.builders/composable-cow/api/interfaces/ivalue-factory.md): API reference for the IValueFactory interface that provides standardized on-chain value retrieval. - [Good After Time API](https://docs.cow.bleu.builders/composable-cow/api/orders/good-after-time.md): API reference for Good After Time programmatic orders with time-delayed execution and optional price checking. - [Perpetual Stable Swap API](https://docs.cow.bleu.builders/composable-cow/api/orders/perpetual-stable-swap.md): API reference for the Perpetual Stable Swap programmatic order type for automated stablecoin rebalancing. - [Stop Loss API](https://docs.cow.bleu.builders/composable-cow/api/orders/stop-loss.md): API reference for Stop Loss programmatic orders using Chainlink-compatible price oracles. - [Trade Above Threshold API](https://docs.cow.bleu.builders/composable-cow/api/orders/trade-above-threshold.md): API reference for the Trade Above Threshold programmatic order type for balance-triggered trades. - [TWAP API](https://docs.cow.bleu.builders/composable-cow/api/orders/twap.md): API reference for TWAP (Time-Weighted Average Price) programmatic orders. - [Architecture](https://docs.cow.bleu.builders/composable-cow/architecture.md): Overview of ComposableCoW's modular architecture with separated authorization, validation, and execution layers. - [Deploying](https://docs.cow.bleu.builders/composable-cow/deployment/deploying.md): Guide to deploying ComposableCoW contracts using script-based or deterministic CREATE2 deployment. - [Networks](https://docs.cow.bleu.builders/composable-cow/deployment/networks.md): Deployed contract addresses across all supported EVM-compatible networks. - [Testing](https://docs.cow.bleu.builders/composable-cow/deployment/testing.md): Comprehensive testing guide for ComposableCoW using Foundry, including unit, fuzz, and fork tests. - [Creating Orders](https://docs.cow.bleu.builders/composable-cow/guides/creating-orders.md): Learn how to create programmatic orders in ComposableCoW using the ConditionalOrderParams struct. - [Debugging Programmatic Orders](https://docs.cow.bleu.builders/composable-cow/guides/debugging.md): Decision tree for diagnosing why a programmatic order didn't execute — from watch-tower indexing to solver settlement. - [Managing Orders](https://docs.cow.bleu.builders/composable-cow/guides/managing-orders.md): Query, monitor, and remove programmatic orders through the ComposableCoW protocol. - [Merkle Root Orders](https://docs.cow.bleu.builders/composable-cow/guides/merkle-root-orders.md): Efficiently batch multiple programmatic orders using merkle trees for reduced gas costs. - [Setup](https://docs.cow.bleu.builders/composable-cow/guides/setup.md): Configure your Safe wallet to use ComposableCoW for programmatic orders on CoW Protocol. - [Signature Construction](https://docs.cow.bleu.builders/composable-cow/guides/signature-construction.md): Learn how to construct valid EIP-1271 signatures for ComposableCoW orders to submit them programmatically to the CoW Protocol API. - [Troubleshooting](https://docs.cow.bleu.builders/composable-cow/guides/troubleshooting.md): Common issues when setting up ComposableCoW programmatic orders and how to diagnose and fix them. - [Introduction](https://docs.cow.bleu.builders/composable-cow/introduction.md): ComposableCoW is the contract that implements programmatic orders on CoW Protocol — orders that execute automatically when predefined on-chain conditions are satisfied. - [Good After Time](https://docs.cow.bleu.builders/composable-cow/order-types/good-after-time.md): Programmatic orders that activate after a specified timestamp with optional price validation. - [Order Types Overview](https://docs.cow.bleu.builders/composable-cow/order-types/overview.md): Overview of the five primary programmatic order types available in ComposableCoW. - [Perpetual Stable Swap](https://docs.cow.bleu.builders/composable-cow/order-types/perpetual-stable-swap.md): Automatic rebalancing between two stablecoins by continuously trading whichever token has higher balance. - [Stop Loss](https://docs.cow.bleu.builders/composable-cow/order-types/stop-loss.md): Oracle-based programmatic orders that trigger when asset prices fall below a specified threshold. - [Trade Above Threshold](https://docs.cow.bleu.builders/composable-cow/order-types/trade-above-threshold.md): Automated token sales triggered when balances surpass a specified threshold amount. - [TWAP](https://docs.cow.bleu.builders/composable-cow/order-types/twap.md): Time-Weighted Average Price orders that split large trades into multiple smaller executions at fixed intervals. - [Quickstart](https://docs.cow.bleu.builders/composable-cow/quickstart.md): Get started with ComposableCoW by configuring your Safe and creating your first programmatic order. - [Audits](https://docs.cow.bleu.builders/composable-cow/security/audits.md): Security audit history for ComposableCoW contracts by Ackee Blockchain and Gnosis teams. - [Best Practices](https://docs.cow.bleu.builders/composable-cow/security/best-practices.md): Security best practices for using ComposableCoW including token approvals, Safe configuration, and monitoring. - [Building a Custom Order Type](https://docs.cow.bleu.builders/composable-cow/tutorials/custom-order-type.md): Tutorial for implementing, deploying, and registering a custom programmatic order with ComposableCoW - [How CoW AMMs Work](https://docs.cow.bleu.builders/cow-amm/explanation/how-cow-amms-work.md) - [The Problem of LVR (Loss-versus-rebalancing)](https://docs.cow.bleu.builders/cow-amm/explanation/the-problem-of-lvr.md): First coined by a team of researchers from LVR is a form of arbitrage that occurs whenever an AMM has an outdated (stale) price in comparison to some other trading venue. - [CoW AMM Liquidity for Solvers](https://docs.cow.bleu.builders/cow-amm/tutorials/cow-amm-for-solvers.md) - [GPv2Authentication API](https://docs.cow.bleu.builders/cow-contracts/api/contracts/authentication.md): Authentication contracts API for managing solver authorization in Gnosis Protocol v2 - [GPv2Interaction API](https://docs.cow.bleu.builders/cow-contracts/api/contracts/interaction.md): Interaction library API for executing arbitrary contract calls during settlements - [GPv2Order API](https://docs.cow.bleu.builders/cow-contracts/api/contracts/order.md): Order library API providing core data structures and utilities for Gnosis Protocol v2 - [GPv2Settlement API](https://docs.cow.bleu.builders/cow-contracts/api/contracts/settlement.md): Core settlement contract API for executing batch trades in Gnosis Protocol v2 - [GPv2Trade API](https://docs.cow.bleu.builders/cow-contracts/api/contracts/trade.md): Trade library API for encoding and decoding trade data in settlement batches - [GPv2VaultRelayer API](https://docs.cow.bleu.builders/cow-contracts/api/contracts/vault-relayer.md): Vault relayer contract API for Balancer Vault interactions and token transfers - [Deploy](https://docs.cow.bleu.builders/cow-contracts/api/ts/deploy.md): TypeScript utilities for deterministic contract deployment using CREATE2 - [Domain](https://docs.cow.bleu.builders/cow-contracts/api/ts/domain.md): TypeScript utilities for constructing EIP-712 typed data domains for CoW Protocol order signing - [Interaction](https://docs.cow.bleu.builders/cow-contracts/api/ts/interaction.md): TypeScript interaction module API for executing arbitrary smart contract calls during settlements - [Order](https://docs.cow.bleu.builders/cow-contracts/api/ts/order.md): TypeScript order module API for creating, hashing, and managing CoW Protocol orders - [Proxy](https://docs.cow.bleu.builders/cow-contracts/api/ts/proxy.md): TypeScript utilities for inspecting and interacting with EIP-1967 and EIP-173 proxy contracts - [Settlement](https://docs.cow.bleu.builders/cow-contracts/api/ts/settlement.md): TypeScript settlement module API for encoding trades, interactions, and clearing prices - [Signing](https://docs.cow.bleu.builders/cow-contracts/api/ts/signing.md): TypeScript signing module API for CoW Protocol order signatures - [Swap](https://docs.cow.bleu.builders/cow-contracts/api/ts/swap.md): TypeScript utilities for encoding Balancer swap requests within CoW Protocol - [Vault](https://docs.cow.bleu.builders/cow-contracts/api/ts/vault.md): TypeScript utilities for integrating CoW Protocol with Balancer Vault - [Architecture](https://docs.cow.bleu.builders/cow-contracts/concepts/architecture.md): Understanding the CoW Protocol smart contract architecture and component interactions - [Authentication](https://docs.cow.bleu.builders/cow-contracts/concepts/authentication.md): Understanding CoW Protocol's access control, solver authorization, and manager permissions - [Orders](https://docs.cow.bleu.builders/cow-contracts/concepts/orders.md): Understanding CoW Protocol's intent-based order system, structure, lifecycle, and signing mechanisms - [Settlement](https://docs.cow.bleu.builders/cow-contracts/concepts/settlement.md): Understanding CoW Protocol's batch auction settlement mechanism with uniform clearing prices - [Solvers](https://docs.cow.bleu.builders/cow-contracts/concepts/solvers.md): Understanding CoW Protocol solvers - off-chain agents that discover optimal batch auction solutions - [GPv2AllowListAuthentication](https://docs.cow.bleu.builders/cow-contracts/contracts/authentication.md): Solver authorization contract managing the allowlist-based access control system - [Core Libraries](https://docs.cow.bleu.builders/cow-contracts/contracts/libraries.md): Specialized Solidity libraries for order handling, trade execution, and signature verification - [Contracts Overview](https://docs.cow.bleu.builders/cow-contracts/contracts/overview.md): Core architecture and components of the CoW Protocol smart contract system - [GPv2Settlement](https://docs.cow.bleu.builders/cow-contracts/contracts/settlement.md): The main settlement contract for executing CoW Protocol batch trades - [GPv2VaultRelayer](https://docs.cow.bleu.builders/cow-contracts/contracts/vault-relayer.md): The intermediary contract between CoW Protocol settlement and Balancer Vault - [Contract Addresses](https://docs.cow.bleu.builders/cow-contracts/deployment/addresses.md): Comprehensive reference of all CoW Protocol smart contract addresses across supported networks - [Supported Networks](https://docs.cow.bleu.builders/cow-contracts/deployment/networks.md): Multi-chain deployment information for CoW Protocol contracts - [Contract Verification](https://docs.cow.bleu.builders/cow-contracts/deployment/verification.md): Guide for verifying CoW Protocol smart contracts on block explorers and Tenderly - [Benchmarking](https://docs.cow.bleu.builders/cow-contracts/development/benchmarking.md): Tools and techniques for gas benchmarking and performance tracing of CoW Protocol smart contracts - [Building](https://docs.cow.bleu.builders/cow-contracts/development/building.md): Compiling CoW Protocol contracts, including Solidity smart contracts and TypeScript bindings - [Testing](https://docs.cow.bleu.builders/cow-contracts/development/testing.md): Testing guide for CoW Protocol smart contracts using Hardhat and Waffle - [Installation](https://docs.cow.bleu.builders/cow-contracts/installation.md): Install and configure the CoW Protocol contracts package for your project - [Introduction](https://docs.cow.bleu.builders/cow-contracts/introduction.md): Learn about CoW Protocol and its smart contract architecture for gasless, MEV-protected trading - [Quickstart](https://docs.cow.bleu.builders/cow-contracts/quickstart.md): Create and sign your first CoW Protocol order using TypeScript - [Interactions](https://docs.cow.bleu.builders/cow-contracts/sdk/interactions.md): Creating and managing settlement interactions with the CoW Protocol SDK - [Orders](https://docs.cow.bleu.builders/cow-contracts/sdk/orders.md): Creating and managing CoW Protocol orders using the TypeScript SDK - [TypeScript SDK Overview](https://docs.cow.bleu.builders/cow-contracts/sdk/overview.md): Introduction to the CoW Protocol TypeScript SDK for creating and managing orders - [Settlement](https://docs.cow.bleu.builders/cow-contracts/sdk/settlement.md): Encoding trades, interactions, and prices for CoW Protocol settlement execution - [Signing](https://docs.cow.bleu.builders/cow-contracts/sdk/signing.md): Signing mechanisms for CoW Protocol orders with multiple scheme support - [Autopilot](https://docs.cow.bleu.builders/cow-protocol/explanation/architecture/autopilot.md) - [Driver](https://docs.cow.bleu.builders/cow-protocol/explanation/architecture/driver.md): People interested in running a solver to participate in CoW Protocol mainly want to focus on implementing the most efficient solver engine. However, there are also many mundane tasks that may not seem like a competitive advantage but have to be done regardless. - [Order book](https://docs.cow.bleu.builders/cow-protocol/explanation/architecture/orderbook.md): The orderbook is the main API that traders, UIs and other integrations use to interact with CoW Protocol. - [Arbitrating auctions](https://docs.cow.bleu.builders/cow-protocol/explanation/architecture/overview.md): This section gives a high level overview of the different components that are involved for CoW protocol batch auctions to take place. - [Solver Engine](https://docs.cow.bleu.builders/cow-protocol/explanation/architecture/solver-engine.md): The Solver Engine implements the of the CoW Protocol batch auction. As part of the auction lifecycle, it receives a request from the containing a potentially pre-processed auction instance and returns information about which order to execute together with instructions on how to achieve the desired… - [Additional benefits](https://docs.cow.bleu.builders/cow-protocol/explanation/benefits/additional-benefits.md): CoW Protocol's and that allows for batching provide a number of benefits, including support for expressing any intent, MEV protection, and price improvement. - [MEV protection](https://docs.cow.bleu.builders/cow-protocol/explanation/benefits/mev-protection.md): One of the main benefits of CoW Protocol is comprehensive MEV protection for every order. - [Price improvement](https://docs.cow.bleu.builders/cow-protocol/explanation/benefits/price-improvement.md): In addition to , another major benefit of CoW Protocol is optimal price execution that leads to price improvement and order surplus. - [Trade any intent](https://docs.cow.bleu.builders/cow-protocol/explanation/benefits/trade-any-intent.md): CoW Protocol allows users to express any type of trade intent on Ethereum and EVM-compatible chains, leveraging to execute the transactions through the most optimal route. - [Building on CoW Protocol](https://docs.cow.bleu.builders/cow-protocol/explanation/building.md): Everything you need to start building on CoW Protocol — interactive tutorials, SDKs, APIs, and developer resources. - [Fee Model](https://docs.cow.bleu.builders/cow-protocol/explanation/fee-model.md): How fees work in CoW Protocol — from the quote response to on-chain settlement. Everything you need to understand protocol fees, network costs, partner fees, and how to retrieve fee data for accounting. - [What is a flash loan?](https://docs.cow.bleu.builders/cow-protocol/explanation/flash-loans/Introduction.md): 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.bleu.builders/cow-protocol/explanation/flash-loans/how-it-works.md): A flash loan typically happens in the following steps: - [How to specify an order with flash loan](https://docs.cow.bleu.builders/cow-protocol/explanation/flash-loans/integrators.md): The flash loan is encoded into the 's metadata as an optional object. This information serves as a hint for the solver, but the solver ultimately can decide for a different approach in order to make the operation more optimal. - [Coincidence of Wants](https://docs.cow.bleu.builders/cow-protocol/explanation/how-it-works/coincidence-of-wants.md): CoW (Coincidence of Wants): An economic phenomenon where two parties - each holding the asset that the other needs - exchange assets directly in an equivalent barter. - [Flow of an order](https://docs.cow.bleu.builders/cow-protocol/explanation/how-it-works/flow-of-an-order.md): Rather than creating executable on-chain transactions, CoW Protocol users submit their orders as signed  messages. This allows to find the optimal execution path for the batch of orders before committing them on-chain. - [How Intents Are Formed](https://docs.cow.bleu.builders/cow-protocol/explanation/how-it-works/how-intents-are-formed.md): An intent in CoW Protocol is a signed message that represents a user's wish to trade. It doesn't execute a trade directly — instead, it delegates execution to solvers who find the optimal path. - [Quote Selection](https://docs.cow.bleu.builders/cow-protocol/explanation/how-it-works/quote-selection.md): Understanding CoW Protocol's quoting strategies — fast vs optimal quotes, latency tradeoffs, and timing between quote and order creation. - [Integrate CoW Protocol](https://docs.cow.bleu.builders/cow-protocol/explanation/integration-overview.md): CoW Protocol offers four integration approaches — from drop-in widget to full API control. Choose the path that fits your project. - [Fair Combinatorial Batch Auction](https://docs.cow.bleu.builders/cow-protocol/explanation/introduction/fair-combinatorial-auction.md): CoW Protocol collects and aggregates intents off-chain and auctions them off to solvers. The auction is a Fair Combinatorial Batch Auction (FCBA) because each solver can submit multiple bids. A solver can submit multiple bids on individual orders, in which case each "bid" represents the best price t… - [Intents](https://docs.cow.bleu.builders/cow-protocol/explanation/introduction/intents.md): Rather than placing orders by that executes directly on-chain (i.e. as happens on Uniswap or SushiSwap), CoW Protocol users place orders by that specifies parameters like the assets and amounts they would like to trade. The intent is a signed message which allows the solvers to execute a trade on… - [Solvers](https://docs.cow.bleu.builders/cow-protocol/explanation/introduction/solvers.md): CoW Protocol delivers optimal price outcomes by leveraging an open solver competition for order matching. - [CoW Hooks](https://docs.cow.bleu.builders/cow-protocol/explanation/order-types/cow-hooks.md): CoW Hooks allow users to pair any Ethereum action (or set of actions) with an order on CoW Protocol, leveraging the to execute the actions together in the sequence. - [Limit orders](https://docs.cow.bleu.builders/cow-protocol/explanation/order-types/limit-orders.md): Limit orders are orders to buy or sell tokens at a specified price before a certain expiration date. - [Liquidations](https://docs.cow.bleu.builders/cow-protocol/explanation/order-types/liquidations.md): How lending protocols can use CoW Protocol to execute liquidations with MEV protection and competitive pricing, using ERC-1271 smart orders and the settlement contract's on-chain guarantees. - [Market orders](https://docs.cow.bleu.builders/cow-protocol/explanation/order-types/market-orders.md): Market orders are orders to buy or sell tokens as soon as possible at the current market rate. - [Milkman orders](https://docs.cow.bleu.builders/cow-protocol/explanation/order-types/milkman-orders.md): Milkman is an order placement mechanism developed by in collaboration with CoW Protocol through the . - [Repay debt with collateral using flash loans](https://docs.cow.bleu.builders/cow-protocol/explanation/order-types/pay-debt-flash-loans.md): 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 without needing upfront liquidity. - [Programmatic orders](https://docs.cow.bleu.builders/cow-protocol/explanation/order-types/programmatic-orders.md): In addition to normal wallets, CoW Protocol also supports smart contract wallets that implement . This allows users to place orders through smart contracts with programmable parameters that execute based on certain conditions. - [TWAP orders](https://docs.cow.bleu.builders/cow-protocol/explanation/order-types/twap-orders.md): Time-Weighted Average Price (TWAP) orders are an advanced order type available on CoW Protocol that breaks up a large order into several smaller pieces. TWAP orders are ideal for executing big trades with minimal price impact. - [Wrappers](https://docs.cow.bleu.builders/cow-protocol/explanation/order-types/wrappers.md): Generalized wrappers let solvers execute custom logic before and after settlement by calling a wrapper contract instead of the settlement contract directly. - [Viewing orders](https://docs.cow.bleu.builders/cow-protocol/howto/cow-explorer.md): 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 combination of on-chain and off-chain data. Individually, this information is available from the following: - [API Integration Guide](https://docs.cow.bleu.builders/cow-protocol/howto/integrate/api.md): Step-by-step guide to integrating with the CoW Protocol orderbook API — from requesting a quote, to computing signing amounts, to creating and monitoring orders. - [Testing Your Integration](https://docs.cow.bleu.builders/cow-protocol/howto/integrate/testing.md): Step-by-step guide to testing your CoW Protocol integration — from getting test tokens on Sepolia to verifying orders settle, then graduating to mainnet. - [Fee computation for limit orders](https://docs.cow.bleu.builders/cow-protocol/howto/solvers/fee-computation.md): Guidelines for how solvers should compute fees when executing limit orders, where users sign orders with zero fees and solvers propose fees at execution time. - [How to execute flashloans orders](https://docs.cow.bleu.builders/cow-protocol/howto/solvers/flashloans_support.md): This short tutorial explains how orders with flashloans hints can be executed by solvers. - [Joining The CoW Protocol Solver Competition](https://docs.cow.bleu.builders/cow-protocol/howto/solvers/onboard.md) - [Getting new routes integrated Into CoW Protocol](https://docs.cow.bleu.builders/cow-protocol/howto/solvers/routes_integration.md) - [What is CoW Protocol?](https://docs.cow.bleu.builders/cow-protocol/overview.md): CoW Protocol is the most user-protective trading protocol in DeFi, using batch auctions and solver competition to deliver MEV protection, better prices, and gasless trading. - [Driver API](https://docs.cow.bleu.builders/cow-protocol/reference/apis/driver.md): API specification for the CoW Protocol driver component that orchestrates solver competition - [Orderbook API](https://docs.cow.bleu.builders/cow-protocol/reference/apis/orderbook.md): REST API for interacting with the CoW Protocol orderbook — quotes, order submission, retrieval, and cancellation - [Solver API](https://docs.cow.bleu.builders/cow-protocol/reference/apis/solver.md): API specification for solvers competing in CoW Protocol batch auctions - [Core](https://docs.cow.bleu.builders/cow-protocol/reference/contracts/core.md): Core contracts of CoW Protocol are those that are necessary for the protocol to function. - [GPv2AllowlistAuthentication](https://docs.cow.bleu.builders/cow-protocol/reference/contracts/core/allowlist.md): import HistoricalFact from './_gpv2.md' - [GPv2Settlement](https://docs.cow.bleu.builders/cow-protocol/reference/contracts/core/settlement.md): import HistoricalFact from './_gpv2.md' - [GPv2VaultRelayer](https://docs.cow.bleu.builders/cow-protocol/reference/contracts/core/vault-relayer.md): import HistoricalFact from './_gpv2.md' - [Periphery](https://docs.cow.bleu.builders/cow-protocol/reference/contracts/periphery.md): Peripheral contracts are those that are not necessary for CoW Protocol to function, but are used to enhance user experience. - [ComposableCoW](https://docs.cow.bleu.builders/cow-protocol/reference/contracts/periphery/composable-cow.md): ComposableCoW is the contract that implements programmatic orders on CoW Protocol. Programmatic orders are a subset of smart contract orders. It allows one to create programmatic orders that: - [CoWUidGenerator](https://docs.cow.bleu.builders/cow-protocol/reference/contracts/periphery/cow-uid-generator.md): 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.bleu.builders/cow-protocol/reference/contracts/periphery/eth-flow.md): As CoW Protocol only , this means that if a user wants to sell on CoW Protocol, they need to: - [Flash Loans](https://docs.cow.bleu.builders/cow-protocol/reference/contracts/periphery/flashloans.md): Flash loans are handled through contracts implementing the following two interfaces: and . - [HooksTrampoline](https://docs.cow.bleu.builders/cow-protocol/reference/contracts/periphery/hooks-trampoline.md): A helper contract that may be used by solvers to securely execute user's within the settlement transaction. - [TWAP](https://docs.cow.bleu.builders/cow-protocol/reference/contracts/programmatic/twap.md): A simple (TWAP) trade may be thought of as smaller trades happening every time interval, commencing at time . Additionally, it is possible to limit a part's validity of the order to a certain of time interval . - [Auction mechanism](https://docs.cow.bleu.builders/cow-protocol/reference/core/auctions.md): CoW Protocol uses an implementation of the for executing trades. Within a given auction, the goal is to compute prices and traded amounts to maximize a well-defined function, subject to a fairness constraint. - [Solver competition accounting process](https://docs.cow.bleu.builders/cow-protocol/reference/core/auctions/accounting.md): There is an accounting process in place for the solver competition. It is performed separately on each chain. Currently, the execution of the accounting process takes place once a week for all chains the protocol operates on, and each accounting week starts on Tuesday at midnight UTC and concludes a… - [Setting up a bonding pool](https://docs.cow.bleu.builders/cow-protocol/reference/core/auctions/bonding-pools.md): The first step for setting up a bonding pool is to deploy a Gnosis safe on Mainnet with only as a signer, as is described in . - [Solver competition rules](https://docs.cow.bleu.builders/cow-protocol/reference/core/auctions/competition-rules.md): All solvers participating in the solver competition must abide by certain rules. In this section, we outline all these rules. They naturally split into three classes: - [EBBO violations: details](https://docs.cow.bleu.builders/cow-protocol/reference/core/auctions/ebbo-rules.md): 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 violation occurs. The content of this section is based on . - [Solver rewards](https://docs.cow.bleu.builders/cow-protocol/reference/core/auctions/rewards.md): 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 competiti… - [Schemas](https://docs.cow.bleu.builders/cow-protocol/reference/core/auctions/schema.md): 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.bleu.builders/cow-protocol/reference/core/auctions/the-problem.md): 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 the solver can access, the rules set by the protocol (including those specifying the protocol fees), and returns one or multiple solutions, where a solutio… - [Definitions](https://docs.cow.bleu.builders/cow-protocol/reference/core/definitions.md) - [Error Reference](https://docs.cow.bleu.builders/cow-protocol/reference/core/error-reference.md): Comprehensive error reference for CoW Protocol API, organized by integration stage — quoting, signing, submission, and settlement. - [Intents](https://docs.cow.bleu.builders/cow-protocol/reference/core/intents.md): Within CoW Protocol, intents are the way that a user expresses their desired swap outcome. - [Application specific data](https://docs.cow.bleu.builders/cow-protocol/reference/core/intents/app-data.md): There are times when attaching additional information to an order is useful. For example: - [Hooks](https://docs.cow.bleu.builders/cow-protocol/reference/core/intents/hooks.md): The allows users to request the solvers to execute user-defined Ethereum calls (also known as an "inner/internal transaction") before and after the execution of an order in a settlement. - [Rate Limits & Quotas](https://docs.cow.bleu.builders/cow-protocol/reference/core/rate-limits.md): Per-endpoint rate limits, backoff strategies, and quota management for CoW Protocol API integrations. - [Signing schemes](https://docs.cow.bleu.builders/cow-protocol/reference/core/signing-schemes.md): As CoW Protocol handles user's orders that were provided off-chain, the authenticity of a user's order needs to be asserted. Authenticity is asserted by the user their order. A user may be an EOA or a smart contract. - [Supported tokens](https://docs.cow.bleu.builders/cow-protocol/reference/core/tokens.md): CoW Protocol supports tokens. However, not all token contracts are created equal, despite the idea of a standard interface. Some contracts introduce issues, such as fee on transfer or lockup periods, which make them unsuitable. - [AI Agent Orders](https://docs.cow.bleu.builders/cow-protocol/tutorials/agent-orders.md): Place orders on CoW Protocol programmatically from an autonomous AI agent — covering quoting, signing, submission, monitoring, and error recovery. - [CoW AMM Deployer](https://docs.cow.bleu.builders/cow-protocol/tutorials/cow-amm-deployer.md): The is a user-friendly Safe App that simplifies the process of deploying and managing (Automated Market Makers) from Safe wallets. It enables users without programming skills to take advantage of the benefits of CoW AMM. - [By user address](https://docs.cow.bleu.builders/cow-protocol/tutorials/cow-explorer/address.md): A user may want to see the details of all orders that they have placed. When searching for their address, they will be presented with an overview of all orders that they have placed. - [By batch auction](https://docs.cow.bleu.builders/cow-protocol/tutorials/cow-explorer/batch-auction.md): 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 simply searching for the transaction hash, the user will be presented with an overview of the batch auction. - [By order](https://docs.cow.bleu.builders/cow-protocol/tutorials/cow-explorer/order.md): A user may want to see the details of a specific order that they have placed. They can search for this order by its unique identifier, the . This identifier is returned when an order is placed and can be used to query the details of the order. - [Quickstart: Raw API (cURL)](https://docs.cow.bleu.builders/cow-protocol/tutorials/quickstart-curl.md): Place your first CoW Protocol order using only cURL and the REST API — from quote to confirmed trade in under 10 minutes. - [Quickstart: Python](https://docs.cow.bleu.builders/cow-protocol/tutorials/quickstart-python.md): Place your first CoW Protocol order using Python — from quote to confirmed trade in under 10 minutes. - [Locally testing a solver with the CoW Protocol orderflow](https://docs.cow.bleu.builders/cow-protocol/tutorials/solvers/local_test.md): CoW Protocol infrastructure is a lot of services running together in herd harmony, which is a bit intimidating at the beginning. Before proceeding, it would be advisable to read the architectural overview to get a better understanding of how CoW Protocol works and its entities. - [Token Approvals & GPv2VaultRelayer](https://docs.cow.bleu.builders/cow-protocol/tutorials/token-approvals.md): How to approve tokens for trading on CoW Protocol — standard approvals, gasless approvals, and per-chain VaultRelayer addresses. - [Composable Orders](https://docs.cow.bleu.builders/cow-py/advanced/composable-orders.md): Create programmatic orders that execute based on custom logic using CoW Protocol's ComposableCoW framework - [Multi-Chain Trading](https://docs.cow.bleu.builders/cow-py/advanced/multi-chain.md): Execute trades across Ethereum, Gnosis Chain, Arbitrum, Base, Polygon, Avalanche, and BNB networks - [Signing Schemes](https://docs.cow.bleu.builders/cow-py/advanced/signing-schemes.md): Understand the different methods for signing orders on CoW Protocol including EIP-712, EthSign, EIP-1271, and PreSign - [TWAP Orders](https://docs.cow.bleu.builders/cow-py/advanced/twap-orders.md): Execute Time-Weighted Average Price strategies to split large orders into smaller parts over time - [App Data API](https://docs.cow.bleu.builders/cow-py/api/app-data.md): API reference for app data management in the CoW Protocol Python SDK - [Common](https://docs.cow.bleu.builders/cow-py/api/common.md): API reference for common types, configuration, and utilities in the CoW Protocol Python SDK - [Composable Orders API](https://docs.cow.bleu.builders/cow-py/api/composable.md): API reference for composable programmatic orders in the CoW Protocol Python SDK - [Contracts API](https://docs.cow.bleu.builders/cow-py/api/contracts.md): Order creation, signing, and domain utilities - [OrderBookApi](https://docs.cow.bleu.builders/cow-py/api/order-book.md): Client for interacting with the CoW Protocol Order Book API - [SubgraphClient](https://docs.cow.bleu.builders/cow-py/api/subgraph.md): Client for querying CoW Protocol subgraph data - [Swap API](https://docs.cow.bleu.builders/cow-py/api/swap.md): Functions for swapping tokens using the CoW Protocol - [Supported Chains](https://docs.cow.bleu.builders/cow-py/concepts/chains.md): Learn about the blockchain networks supported by the CoW Protocol Python SDK - [Orders](https://docs.cow.bleu.builders/cow-py/concepts/orders.md): Understanding order structure, types, and lifecycle in the CoW Protocol - [Trading on CoW Protocol](https://docs.cow.bleu.builders/cow-py/concepts/trading.md): Learn about MEV protection, batch auctions, intent-based trading, and fee structure - [App Data](https://docs.cow.bleu.builders/cow-py/guides/app-data.md): Create, encode, and decode app data metadata for CoW Protocol orders - [Contract Interaction](https://docs.cow.bleu.builders/cow-py/guides/contract-interaction.md): Interact with CoW Protocol smart contracts and sign orders using EIP-712 - [Creating Limit Orders](https://docs.cow.bleu.builders/cow-py/guides/limit-orders.md): How to create limit orders with specific price targets using the CoW Protocol Python SDK - [Managing Orders](https://docs.cow.bleu.builders/cow-py/guides/managing-orders.md): Create, fetch, and cancel orders using the OrderBookApi - [Querying the Subgraph](https://docs.cow.bleu.builders/cow-py/guides/querying-subgraph.md): Access historical trades, volume statistics, and protocol metrics through the SubgraphClient - [Swapping Tokens](https://docs.cow.bleu.builders/cow-py/guides/swapping-tokens.md): Learn how to swap tokens using the CoW Protocol Python SDK with MEV protection - [Installation](https://docs.cow.bleu.builders/cow-py/installation.md): Learn how to install the CoW Protocol Python SDK - [CoW Protocol Python SDK](https://docs.cow.bleu.builders/cow-py/introduction.md): Python SDK for interacting with CoW Swap and CoW Protocol, featuring MEV-protected trading, order management, and multi-chain support. - [Quickstart](https://docs.cow.bleu.builders/cow-py/quickstart.md): Execute your first token swap with the CoW Protocol Python SDK - [Account Abstraction](https://docs.cow.bleu.builders/cow-sdk/advanced/account-abstraction.md): Pre-authorize and execute multiple operations through account abstraction with the CoW Shed SDK - [Cross-Chain Bridging](https://docs.cow.bleu.builders/cow-sdk/advanced/cross-chain-bridging.md): Enable seamless token transfers across different blockchain networks using the CoW Protocol SDK - [Hooks](https://docs.cow.bleu.builders/cow-sdk/advanced/hooks.md): Custom smart contract calls that execute before or after order settlement in CoW Protocol - [Partner Fee](https://docs.cow.bleu.builders/cow-sdk/advanced/partner-fee.md): Collect fees on orders through partner and integrator applications on CoW Protocol - [Programmatic Orders](https://docs.cow.bleu.builders/cow-sdk/advanced/programmatic-orders.md): Build sophisticated trading strategies through programmatic orders that execute automatically - [TWAP Orders](https://docs.cow.bleu.builders/cow-sdk/advanced/twap-orders.md): Time-Weighted Average Price orders that split large trades into smaller parts executed at regular intervals - [Ethers v5 Adapter](https://docs.cow.bleu.builders/cow-sdk/api/adapters/ethers-v5.md): Integration between the CoW Protocol SDK and ethers.js v5 - [Ethers v6 Adapter](https://docs.cow.bleu.builders/cow-sdk/api/adapters/ethers-v6.md): Integration between the CoW Protocol SDK and ethers.js v6 - [Viem Adapter](https://docs.cow.bleu.builders/cow-sdk/api/adapters/viem.md): Integration between the CoW Protocol SDK and the Viem library - [Bridging SDK](https://docs.cow.bleu.builders/cow-sdk/api/bridging-sdk.md): Cross-chain token swaps by integrating CoW Protocol with bridge providers like Across and Bungee - [Common](https://docs.cow.bleu.builders/cow-sdk/api/common.md): Foundational utilities for the CoW Protocol SDK ecosystem including address validation, token operations, and math helpers - [Composable SDK](https://docs.cow.bleu.builders/cow-sdk/api/composable-sdk.md): Advanced programmatic order types including TWAP orders and custom programmatic mechanisms - [Config](https://docs.cow.bleu.builders/cow-sdk/api/config.md): Chain configuration, contract addresses, and network utilities for all blockchains supported by CoW Protocol - [Contracts](https://docs.cow.bleu.builders/cow-sdk/api/contracts.md): TypeScript utilities for interacting with CoW Protocol smart contracts, encoding settlements, and managing orders - [CoW Shed SDK](https://docs.cow.bleu.builders/cow-sdk/api/cow-shed-sdk.md): Pre-authorization of hook calls using deterministic smart accounts for account abstraction - [Flash Loans SDK](https://docs.cow.bleu.builders/cow-sdk/api/flash-loans-sdk.md): Capital-efficient collateral swaps combining Aave V3 flash loans with CoW Protocol trading - [Metadata API](https://docs.cow.bleu.builders/cow-sdk/api/metadata-api.md): Utility for managing CoW Protocol order metadata (app-data) including schema validation and IPFS hashing - [Order Book API](https://docs.cow.bleu.builders/cow-sdk/api/order-book-api.md): Direct access to CoW Protocol OrderBook endpoints for quotes, order submission, retrieval, and cancellations - [Order Signing Utils](https://docs.cow.bleu.builders/cow-sdk/api/order-signing-utils.md): Cryptographic tools for signing CoW Protocol orders and cancellations using EIP-712 standards - [Subgraph SDK](https://docs.cow.bleu.builders/cow-sdk/api/subgraph-sdk.md): TypeScript client for querying CoW Protocol's historical trading data and metrics from TheGraph - [Trading SDK](https://docs.cow.bleu.builders/cow-sdk/api/trading-sdk.md): Comprehensive interface for interacting with CoW Protocol's trading functionality - [Adapters](https://docs.cow.bleu.builders/cow-sdk/concepts/adapters.md): Understanding the adapter system that enables integration with various Ethereum libraries - [App Data](https://docs.cow.bleu.builders/cow-sdk/concepts/app-data.md): A flexible metadata system for attaching additional information to CoW Protocol orders - [Order Types](https://docs.cow.bleu.builders/cow-sdk/concepts/order-types.md): Understanding order kinds, execution modes, and classifications in CoW Protocol - [Signing Schemes](https://docs.cow.bleu.builders/cow-sdk/concepts/signing-schemes.md): The four signing methods supported by CoW Protocol for different wallet types and security requirements - [Basic Swap](https://docs.cow.bleu.builders/cow-sdk/examples/basic-swap.md): Complete guide for creating and posting a swap order to trade WETH for USDC on Sepolia testnet - [Limit Orders](https://docs.cow.bleu.builders/cow-sdk/examples/limit-orders.md): Create limit orders that execute only when specific price conditions are met - [Node.js Usage](https://docs.cow.bleu.builders/cow-sdk/examples/nodejs-usage.md): Integrate decentralized trading functionality into Node.js applications, backend services, and automation tools - [React Integration](https://docs.cow.bleu.builders/cow-sdk/examples/react-integration.md): Incorporate the CoW Protocol SDK into React applications with wallet management and state handling - [Wagmi Integration](https://docs.cow.bleu.builders/cow-sdk/examples/wagmi-integration.md): Integrate the CoW Protocol SDK with Wagmi and Viem in React applications - [Creating Limit Orders](https://docs.cow.bleu.builders/cow-sdk/guides/creating-limit-orders.md): How to create limit orders with specific price targets using the CoW Protocol SDK - [Creating Swap Orders](https://docs.cow.bleu.builders/cow-sdk/guides/creating-swap-orders.md): How to create market orders using the CoW Protocol SDK's postSwapOrder method - [ERC-1271 Signing (Custom Contracts)](https://docs.cow.bleu.builders/cow-sdk/guides/erc1271-signing.md): How to place CoW Protocol orders from custom smart contracts using ERC-1271 off-chain signatures — for vaults, DAOs, treasuries, and any non-EOA wallet. - [Native Token Swaps](https://docs.cow.bleu.builders/cow-sdk/guides/native-token-swaps.md): How to trade native tokens (ETH, MATIC, etc.) through the EthFlow contract - [Order Management](https://docs.cow.bleu.builders/cow-sdk/guides/order-management.md): How to retrieve order information and cancel orders through the CoW Protocol SDK - [Smart Contract Wallets](https://docs.cow.bleu.builders/cow-sdk/guides/smart-contract-wallets.md): Using the PRESIGN signing scheme with smart contract wallets like Safe - [Token Approvals](https://docs.cow.bleu.builders/cow-sdk/guides/token-approvals.md): Managing ERC-20 token approvals required before trading on CoW Protocol - [Installation](https://docs.cow.bleu.builders/cow-sdk/installation.md): How to install the CoW Protocol SDK and choose the right adapter for your Web3 library - [Introduction](https://docs.cow.bleu.builders/cow-sdk/introduction.md): Overview of the CoW Protocol SDK - a TypeScript toolkit for building trading applications on an intent-based DEX - [v6 to v7 Migration](https://docs.cow.bleu.builders/cow-sdk/migration/v6-to-v7.md): Migration guide from CoW SDK v6 to v7 with the new adapter system - [Quickstart](https://docs.cow.bleu.builders/cow-sdk/quickstart.md): Execute your first token swap using the CoW Protocol SDK in under five minutes - [CoW Swap](https://docs.cow.bleu.builders/cow-swap/features.md): CoW Swap is the first interface built on top of CoW Protocol and serves as a reference implementation for developers wishing to build user interfaces for CoW Protocol. - [Hooks: Getting Started](https://docs.cow.bleu.builders/cow-swap/hooks/getting-started.md): A step-by-step walkthrough of creating and testing your first CoW Hook using the CoW Swap UI - [CoW Hook dApp](https://docs.cow.bleu.builders/cow-swap/hooks/hook-dapp.md) - [Hook Store](https://docs.cow.bleu.builders/cow-swap/hooks/hook-store.md): Browse, use, and publish pre-built hooks in the CoW Swap Hook Store - [Post-Hook Examples](https://docs.cow.bleu.builders/cow-swap/hooks/post-hook-examples.md): End-to-end examples of swap → stake, swap → bridge, and swap → deposit using CoW Protocol hooks - [CoW Protocol vs. CoW Swap](https://docs.cow.bleu.builders/cow-swap/overview.md): While the two are intertwined, there are important differences between CoW Protocol and CoW Swap. - [Custom Links](https://docs.cow.bleu.builders/cow-swap/reference/custom-links.md): CoW Swap supports URL query parameters to allow anyone to create a custom link for sharing a specific trade with a friend or on social media, or for creating a custom link to a specific trade for your own use. - [Dollar-Cost Averaging with TWAP](https://docs.cow.bleu.builders/cow-swap/tutorials/dca-twap.md): Build a dollar-cost averaging strategy using TWAP orders to accumulate tokens over time - [Flash loans](https://docs.cow.bleu.builders/cow-swap/tutorials/flash-loans.md): We’ll walk through a concrete example of a debt repayment using flash loans on Sepolia. - [Limit orders](https://docs.cow.bleu.builders/cow-swap/tutorials/limit.md): CoW Protocol supports limit orders, where users are able to buy or sell tokens at a specified price or better. - [Multi-Sig Order Flow](https://docs.cow.bleu.builders/cow-swap/tutorials/multi-sig-orders.md): Place CoW Protocol orders from a Safe with multiple signers using ERC-1271 and PreSign - [Native tokens](https://docs.cow.bleu.builders/cow-swap/tutorials/native.md): In blockchain networks the "native token" - for example, Ether (ETH) on Ethereum, Arbitrum One and Base, and xDAI (xDAI) on Gnosis Chain - is the primary digital currency. It's essential for network operations, like paying transaction fees. - [Swap in Safe Apps](https://docs.cow.bleu.builders/cow-swap/tutorials/safe-app.md): With over , Safe is a multi-signature wallet that allows users to manage their assets in a secure and decentralized way. - [Market orders (swap)](https://docs.cow.bleu.builders/cow-swap/tutorials/swap.md): Swapping is the bread and butter of CoW Protocol! Let's swap some tokens! - [Cross-chain swaps](https://docs.cow.bleu.builders/cow-swap/tutorials/swap-and-bridge.md): The feature on lets you swap a token on one network and receive a different token on another network — all in one seamless transaction. - [TWAP orders](https://docs.cow.bleu.builders/cow-swap/tutorials/twap.md): Time-Weighted Average Price (TWAP) orders are an advanced feature of CoW Protocol, ideal for executing large trades with minimal price impact by distributing the order over a specified time. - [Widget Integration](https://docs.cow.bleu.builders/cow-swap/widget/overview.md): The CoW Widget is the fastest way to integrate CoW Protocol's trading functionality into your application. It provides a complete, pre-built trading interface that can be embedded with just a few lines of code. - [CoW Swap Widget](https://docs.cow.bleu.builders/cow-swap/widget/params.md): Integrate the power of into your product! With the widget, you can create an incredible trading interface. Specify the required pair of currencies, customize the look and much more! - [System Architecture](https://docs.cow.bleu.builders/flash-loan-router/architecture.md): Understanding the Flash Loan Router's modular design, component interactions, and execution flow - [Borrower Adapters](https://docs.cow.bleu.builders/flash-loan-router/concepts/borrower-adapters.md): How borrower adapters serve as intermediaries between the Flash-Loan Router and flash loan providers - [Flash Loans](https://docs.cow.bleu.builders/flash-loan-router/concepts/flash-loans.md): Understanding flash loans and how they enable atomic settlements in CoW Protocol - [Router Design](https://docs.cow.bleu.builders/flash-loan-router/concepts/router-design.md): Understanding the Flash-Loan Router's execution flow and state management - [Security Model](https://docs.cow.bleu.builders/flash-loan-router/concepts/security-model.md): Understanding the Flash-Loan Router's security guarantees, threat model, and trust assumptions - [AaveBorrower](https://docs.cow.bleu.builders/flash-loan-router/contracts/aave-borrower.md): Protocol adapter enabling the FlashLoanRouter to access flash loans from Aave V3 pools - [Borrower (Base Contract)](https://docs.cow.bleu.builders/flash-loan-router/contracts/base/borrower.md): Abstract base contract providing standardized functionality for flash loan provider adapters - [ERC3156Borrower](https://docs.cow.bleu.builders/flash-loan-router/contracts/erc3156-borrower.md): Universal adapter for flash loan providers implementing the ERC-3156 standard - [FlashLoanRouter](https://docs.cow.bleu.builders/flash-loan-router/contracts/flash-loan-router.md): Core solver contract that coordinates flash loans with CoW Protocol settlements - [IBorrower](https://docs.cow.bleu.builders/flash-loan-router/contracts/interfaces/iborrower.md): Interface for borrower adapters that bridge the Flash-Loan Router with various lending protocols - [IFlashLoanRouter](https://docs.cow.bleu.builders/flash-loan-router/contracts/interfaces/iflash-loan-router.md): Interface for the Flash Loan Router enabling CoW Protocol solvers to request flash loans and execute settlements atomically - [Deployment](https://docs.cow.bleu.builders/flash-loan-router/getting-started/deployment.md): Deploy Flash-Loan Router contracts to Ethereum networks - [Installation](https://docs.cow.bleu.builders/flash-loan-router/getting-started/installation.md): Set up your development environment for the Flash-Loan Router - [Quickstart](https://docs.cow.bleu.builders/flash-loan-router/getting-started/quickstart.md): Get up and running with the Flash-Loan Router in minutes - [Introduction](https://docs.cow.bleu.builders/flash-loan-router/introduction.md): Flash loan infrastructure for CoW Protocol solvers to execute settlements with borrowed liquidity - [Deployment Guide](https://docs.cow.bleu.builders/flash-loan-router/operations/deployment-guide.md): Complete guide for deploying Flash Loan Router contracts to new and existing networks - [Supported Networks](https://docs.cow.bleu.builders/flash-loan-router/operations/networks.md): Deployed contract addresses across all supported blockchain networks - [Testing Guide](https://docs.cow.bleu.builders/flash-loan-router/operations/testing.md): Comprehensive guide for testing Flash Loan Router contracts with Forge - [Contract Verification](https://docs.cow.bleu.builders/flash-loan-router/operations/verification.md): Guide for verifying deployed Flash Loan Router contracts on block explorers - [Governance](https://docs.cow.bleu.builders/governance.md) - [CoW Grants Program Overview](https://docs.cow.bleu.builders/governance/explanation/grants.md): The CoW Grants Program (CGP) funds initiatives that support the growth of the CoW Protocol ecosystem, aligned with the . - [Grant Types](https://docs.cow.bleu.builders/governance/explanation/grants/grant-types.md): The CoW Grants Program offers different types of grants to accommodate various project needs. Understanding the differences will help you choose the most appropriate structure for your proposal. - [Program Structure](https://docs.cow.bleu.builders/governance/explanation/grants/program-structure.md): The CoW Grants Program operates under a structured governance framework as defined in . - [Mission statement](https://docs.cow.bleu.builders/governance/explanation/mission.md): CoW DAO is an open organization of developers, market makers, and community contributors on a mission to create a fairer, more-protective financial system. CoW DAO currently supports CoW Swap and CoW Protocol – decentralized trading products that leverage order flow auctions to shield users from MEV… - [Governance Process](https://docs.cow.bleu.builders/governance/explanation/process.md) - [Snapshot (Voting)](https://docs.cow.bleu.builders/governance/explanation/snapshot.md): CoW DAO uses for voting on . Votes on snapshot are weighted by the number of vCOW+COW held, or delegated to the addressed, as determined by the . - [Token](https://docs.cow.bleu.builders/governance/explanation/token.md): At the core of CoW Protocol lies the COW token, which serves as a governance token within the CoW Protocol ecosystem, allowing stakeholders to participate directly in the decision-making processes that guide the protocol's development and evolution. The governance framework is designed to align ince… - [How to Apply for a Grant](https://docs.cow.bleu.builders/governance/howto/how-to-apply.md): This page provides an overview of the application process. For complete details, please refer to the on the forum. - [CIP Template](https://docs.cow.bleu.builders/governance/reference/cip-template.md) - [Fees](https://docs.cow.bleu.builders/governance/reference/fees.md) - [Multisigs](https://docs.cow.bleu.builders/governance/reference/multisigs.md): CoW DAO uses to manage its funds and operations. The following safes are currently deployed: - [Partner fee](https://docs.cow.bleu.builders/governance/reference/partner-fee.md) - [Errors](https://docs.cow.bleu.builders/hooks-trampoline/api/errors.md): Error types in the HooksTrampoline contract - [Hook Struct](https://docs.cow.bleu.builders/hooks-trampoline/api/hook-struct.md): Specification for the Hook struct used in HooksTrampoline - [HooksTrampoline Contract](https://docs.cow.bleu.builders/hooks-trampoline/api/hooks-trampoline.md): Complete API reference for the HooksTrampoline contract - [Gas Management](https://docs.cow.bleu.builders/hooks-trampoline/architecture/gas-management.md): Understanding gas limit enforcement and the 63/64 rule in Hooks Trampoline - [Security Model](https://docs.cow.bleu.builders/hooks-trampoline/architecture/security.md): Understanding the security guarantees and access control in Hooks Trampoline - [Settlement Flow](https://docs.cow.bleu.builders/hooks-trampoline/architecture/settlement-flow.md): Understanding how hooks integrate with CoW Protocol settlements - [Deployment](https://docs.cow.bleu.builders/hooks-trampoline/development/deployment.md): Deploy Hooks Trampoline using Cannon for deterministic CREATE2 deployments - [Testing](https://docs.cow.bleu.builders/hooks-trampoline/development/testing.md): Run the test suite and write tests for your own hooks using Foundry - [How It Works](https://docs.cow.bleu.builders/hooks-trampoline/how-it-works.md): Understanding the architecture and protection mechanisms of Hooks Trampoline - [Installation](https://docs.cow.bleu.builders/hooks-trampoline/installation.md): A smart contract that enables safe execution of user-specified hooks in CoW Protocol settlements - [Hooks Trampoline](https://docs.cow.bleu.builders/hooks-trampoline/introduction.md): A dedicated trampoline contract for executing user-specified hooks in CoW Protocol settlements safely and efficiently - [Usage](https://docs.cow.bleu.builders/hooks-trampoline/usage.md): Learn how to use Hooks Trampoline to execute custom hooks in CoW Protocol settlements - [Autopilot API](https://docs.cow.bleu.builders/services/api/autopilot.md): API reference for CoW Protocol's batch auction management and solver integration - [Driver API](https://docs.cow.bleu.builders/services/api/driver.md): API reference for the Driver service bridging Autopilot and solver engines - [Orderbook API](https://docs.cow.bleu.builders/services/api/orderbook.md): API reference for CoW Protocol order placement, querying, and price estimation - [Solver Engine API](https://docs.cow.bleu.builders/services/api/solver.md): API reference for solver engine route optimization within CoW Protocol - [Architecture](https://docs.cow.bleu.builders/services/architecture.md): Deep dive into CoW Protocol Services architecture and component interactions - [Configuration](https://docs.cow.bleu.builders/services/deployment/configuration.md): Hierarchical configuration system for CoW Protocol Services including CLI, environment variables, TOML files, and runtime adjustments - [Database](https://docs.cow.bleu.builders/services/deployment/database.md): PostgreSQL setup, schema management, and operational guidance for CoW Protocol Services - [Monitoring](https://docs.cow.bleu.builders/services/deployment/monitoring.md): Monitoring and observability for CoW Protocol Services including metrics, tracing, logging, and diagnostics - [Contributing](https://docs.cow.bleu.builders/services/development/contributing.md): Guidelines for contributing to CoW Protocol Services - [Playground](https://docs.cow.bleu.builders/services/development/playground.md): Docker Compose-based local development environment for the complete CoW Protocol stack - [Development Setup](https://docs.cow.bleu.builders/services/development/setup.md): Setting up a local development environment for CoW Protocol Services - [Testing](https://docs.cow.bleu.builders/services/development/testing.md): Comprehensive testing guide for CoW Protocol Services - [Introduction](https://docs.cow.bleu.builders/services/introduction.md): CoW Protocol Services overview - the backend infrastructure powering decentralized trading with batch auctions - [Quickstart](https://docs.cow.bleu.builders/services/quickstart.md): Launch CoW Protocol Services locally using Docker Compose in fork mode for development and testing - [Autopilot Service](https://docs.cow.bleu.builders/services/services/autopilot.md): CoW Protocol's central coordinator orchestrating batch auctions every 12-15 seconds - [Driver Service](https://docs.cow.bleu.builders/services/services/driver.md): The execution layer between solver engines and the blockchain, managing liquidity, simulation, and settlement - [Orderbook Service](https://docs.cow.bleu.builders/services/services/orderbook.md): CoW Protocol's primary user-facing interface for order submission, validation, quoting, and historical queries - [Solver Service](https://docs.cow.bleu.builders/services/services/solver.md): The mathematical brain of CoW Protocol, focused on route-finding optimization and order matching - [Database Schema](https://docs.cow.bleu.builders/watch-tower/advanced/database-schema.md): LevelDB key-value structure and data models for the Watch Tower - [Prometheus Metrics](https://docs.cow.bleu.builders/watch-tower/advanced/metrics.md): Available metrics and monitoring integration for the Watch Tower - [Slack Notifications](https://docs.cow.bleu.builders/watch-tower/advanced/notifications.md): Configure error notifications and alerts for the Watch Tower - [Storage Architecture](https://docs.cow.bleu.builders/watch-tower/advanced/storage.md): How the Watch Tower persists state using LevelDB - [Architecture](https://docs.cow.bleu.builders/watch-tower/architecture.md): Technical architecture and implementation details of the CoW Protocol Watch Tower - [Dump Database Command](https://docs.cow.bleu.builders/watch-tower/cli/dump-db-command.md): Export the Watch Tower database as JSON for analysis and debugging - [CLI Options Reference](https://docs.cow.bleu.builders/watch-tower/cli/options.md): Complete reference for all Watch Tower command-line options and environment variables - [Run Command](https://docs.cow.bleu.builders/watch-tower/cli/run-command.md): Start the CoW Protocol Watch Tower to monitor and execute programmatic orders - [Blockchain Events](https://docs.cow.bleu.builders/watch-tower/concepts/events.md): Learn how the Watch Tower monitors blockchain events to track programmatic orders - [Order Polling](https://docs.cow.bleu.builders/watch-tower/concepts/polling.md): Learn how the Watch Tower polls programmatic orders and submits them to the CoW Protocol OrderBook - [Programmatic Orders](https://docs.cow.bleu.builders/watch-tower/concepts/programmatic-orders.md): Learn about programmatic orders and how they work in CoW Protocol's ComposableCoW framework - [Registry and State Management](https://docs.cow.bleu.builders/watch-tower/concepts/registry.md): Learn how the Watch Tower stores and manages programmatic order state - [API Server Configuration](https://docs.cow.bleu.builders/watch-tower/configuration/api-server.md): Configure the Watch Tower REST API server and its endpoints - [Filter Policy Configuration](https://docs.cow.bleu.builders/watch-tower/configuration/filter-policy.md): Control which programmatic orders are processed by the Watch Tower - [Logging Configuration](https://docs.cow.bleu.builders/watch-tower/configuration/logging.md): Configure logging levels and module-specific logging for Watch Tower - [Network Configuration](https://docs.cow.bleu.builders/watch-tower/configuration/networks.md): Configure blockchain networks for Watch Tower monitoring - [DAppNode Deployment](https://docs.cow.bleu.builders/watch-tower/deployment/dappnode.md): Deploy the CoW Protocol Watch Tower on DAppNode - [Docker Deployment](https://docs.cow.bleu.builders/watch-tower/deployment/docker.md): Deploy the CoW Protocol Watch Tower using Docker - [Deployment Requirements](https://docs.cow.bleu.builders/watch-tower/deployment/requirements.md): Requirements and configuration for deploying the CoW Protocol Watch Tower - [Domain Model](https://docs.cow.bleu.builders/watch-tower/development/architecture/domain-model.md): Core data structures and business logic for managing programmatic orders in CoW Protocol Watch Tower - [Architecture Overview](https://docs.cow.bleu.builders/watch-tower/development/architecture/overview.md): Watch-tower codebase structure, execution flow, and key modules - [Services Layer](https://docs.cow.bleu.builders/watch-tower/development/architecture/services.md): Overview of the services layer providing integrations with external systems including blockchain RPC nodes, OrderBook API, and database - [Building](https://docs.cow.bleu.builders/watch-tower/development/building.md): Instructions for building the project, including build commands, process steps, and configuration details - [Development Setup](https://docs.cow.bleu.builders/watch-tower/development/setup.md): Instructions for setting up the CoW Protocol Watch Tower development environment - [Testing](https://docs.cow.bleu.builders/watch-tower/development/testing.md): Guide for running tests, configuring Jest, and structuring tests in the project - [Configuration](https://docs.cow.bleu.builders/watch-tower/getting-started/configuration.md): Configure the Watch Tower to monitor blockchain networks and manage programmatic orders - [Installation](https://docs.cow.bleu.builders/watch-tower/getting-started/installation.md): Learn how to install and set up the CoW Protocol Watch Tower - [Running locally](https://docs.cow.bleu.builders/watch-tower/getting-started/running-locally.md): Run the Watch Tower locally for development and testing - [Introduction](https://docs.cow.bleu.builders/watch-tower/introduction.md): An overview of the CoW Protocol Watch Tower for monitoring and executing programmatic orders ## OpenAPI Specs - [orderbook](https://docs.cow.bleu.builders/cow-protocol/reference/apis/openapi/orderbook.yml) - [openapi](https://docs.cow.bleu.builders/api-reference/openapi.json) ## Optional - [Launch CoW Swap](https://swap.cow.fi)