Overview
The CoW Protocol Subgraph indexes on-chain trading data, making it easy to query historical trades, volume statistics, and protocol metrics. The SDK provides a type-safe SubgraphClient with built-in queries and support for custom GraphQL queries.
Setting Up the Subgraph Client
Supported Networks
The Subgraph is available on:
- Ethereum Mainnet —
Chain.MAINNET
- Gnosis Chain —
Chain.GNOSIS
- Arbitrum One —
Chain.ARBITRUM_ONE
- Base —
Chain.BASE
- Sepolia Testnet —
Chain.SEPOLIA
Built-in Queries
Total Protocol Statistics
Daily Volume Statistics
Hourly Volume Statistics
Custom GraphQL Queries
Execute custom GraphQL queries using the execute() method:
Basic Custom Query
Query Orders with Filters
Query Trades
Advanced Query Examples
Token Trading Statistics
User Trading Activity
Working with Context Manager
Error Handling
Complete Example: Trading Dashboard
Available Schema Types
The Subgraph schema includes these main types:
- User — Trader information and statistics
- Order — Order details and status
- Trade — Executed trade information
- Token — Token metadata and statistics
- Pair — Trading pair information
- Settlement — Settlement transaction details
- DailyTotal — Daily aggregated statistics
- HourlyTotal — Hourly aggregated statistics
- Total — Overall protocol statistics
Query Optimization Tips
- Use pagination: Limit results with
first and skip parameters
- Filter early: Apply
where clauses to reduce data transfer
- Select specific fields: Only query fields you need
- Use orderBy: Sort results at the subgraph level
- Cache results: Store frequently accessed data locally
Next Steps
Last modified on March 11, 2026