Quickstart
This guide walks you through launching CoW Protocol Services locally using Docker Compose. The environment operates in “fork mode,” allowing developers to test against a forked blockchain with real token contracts while maintaining isolation.
Prerequisites
You will need:
- Docker Desktop/Engine with Docker Compose
- An Ethereum RPC endpoint (e.g., Alchemy, Infura, or a local node)
- Rust toolchain (optional, for local development)
RPC demand is very high. Free tier RPC endpoints may rate-limit or perform poorly. We recommend either local nodes or paid services.
Setup Steps
1. Clone the Repository
Set your RPC endpoint and chain ID:
3. Launch Services
Start all services using Docker Compose:
On macOS/Windows, use the non-interactive compose file for better performance:
4. Monitor Logs
Wait until all services initialize properly. You should see logs from the orderbook, autopilot, driver, and solver services.
Access Points
Once running, you can reach the following interfaces:
Testing Workflow
Test Accounts
The playground provides test accounts with 10,000 ETH each, derived from the standard mnemonic:
Never use these keys on real networks! They are publicly known test accounts.
Place a Test Swap
- Wrap ETH to WETH using the Anvil RPC node
- Place a swap order through the CoW Swap UI or directly via the Orderbook API
- Monitor settlement through service logs and the block explorer
Network Support
The setup supports multiple chains by adjusting environment variables and restarting services:
- Ethereum Mainnet
- Gnosis Chain
- Arbitrum One
- Base
- Polygon
Simply update the CHAIN_ID and RPC_URL in your .env file and restart Docker Compose.