Skip to main content

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 MainnetChain.MAINNET
  • Gnosis ChainChain.GNOSIS
  • Arbitrum OneChain.ARBITRUM_ONE
  • BaseChain.BASE
  • Sepolia TestnetChain.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

  1. Use pagination: Limit results with first and skip parameters
  2. Filter early: Apply where clauses to reduce data transfer
  3. Select specific fields: Only query fields you need
  4. Use orderBy: Sort results at the subgraph level
  5. Cache results: Store frequently accessed data locally

Next Steps

Last modified on March 11, 2026