cURL and the REST API. No SDK, no framework — just raw HTTP requests against the Sepolia testnet.
By the end you will have:
- Fetched a quote
- Signed an order
- Submitted it to the order book
- Monitored it until settlement
Prerequisites
Before you start, make sure you have:- cURL installed (ships with macOS and most Linux distributions)
- An Ethereum wallet with some WETH on the Sepolia testnet
- Sepolia WETH:
- Sepolia COW (buy token in this guide):
- Token approval for the GPv2VaultRelayer contract so it can spend your sell token
All examples in this guide target the Sepolia testnet (). Replace
sepolia with mainnet, xdai, arbitrum_one, or base for other networks.Walkthrough
Before placing orders in production, review the Pre-Flight Checklist to avoid the most common integration mistakes.
Troubleshooting
Common errors you may encounter:
For the full list of API error codes, see the Order Book API Reference.
Next Steps
Now that you know how the raw API works, explore these resources:- TypeScript SDK Quickstart — a more ergonomic experience with TypeScript helpers for signing, quoting, and order management
- How Intents Are Formed — deep dive into the fee pipeline and amount stages
- Signing Schemes — all four supported signing methods (EIP-712, eth_sign, ERC-1271, PreSign)
- Limit Orders — place limit orders through CoW Swap
- TWAP Orders — time-weighted average price orders
- API Integration Guide — complete step-by-step API reference with fee formulas and pre-flight checklist
- Testing Guide — how to test on Sepolia and graduate to production