networks array in your config.json file.
Networks array structure
The configuration file contains anetworks array where each element defines a blockchain network to monitor:
config.json
Per-network settings
Each network configuration supports the following fields:name
Required - String identifier for the network.mainnet- Ethereum Mainnetsepolia- Ethereum Sepolia testnetarbitrum_one- Arbitrum Oneavalanche- Avalanche C-Chainbase- Basegnosis_chain- Gnosis Chainpolygon- Polygon PoSlinea- Lineaplasma- Plasmaink- Ink
rpc
Required - RPC endpoint URL for connecting to the blockchain. Supports both HTTP(S) and WebSocket protocols.deploymentBlock
Required - Block number at which the ComposableCoW contract was deployed on the network. This optimizes the watch-tower by only fetching events from the blockchain after this block number.watchdogTimeout
Optional - Timeout in milliseconds for the watchdog timer. If the watch-tower doesn’t process a block within this time, it will restart.processEveryNumBlocks
Optional - Throttle block processing to only process blocks every N blocks. Default is1 (process every block).
orderBookApi
Optional - Custom URL for the CoW Protocol OrderBook API. If not specified, uses the default API for the network.pageSize
Optional - Number of blocks to fetch when querying historical events (eth_getLogs).
Default is 5000, which is the maximum number of blocks that can be fetched in a single request from Infura.
If running against your own RPC node, you may set
pageSize to 0 to fetch all blocks in one request instead of paging.filterPolicy
Required - Defines filtering rules for conditional orders. See Filter policy configuration for details.Supported chains
Example configuration
Complete example with multiple networks:config.json