Skip to main content

Run Command

Start the CoW Protocol Watch Tower to monitor and execute programmatic orders across configured blockchain networks.

Usage

Options

—config-path

Type: string Default: ./config.json Path to the chain configuration file defining networks to monitor and their settings. Environment variable: CONFIG_PATH

—only-owner

Type: string[] Addresses of contracts or safes to monitor. Specify multiple times for multiple owners. Addresses must be valid hex-prefixed Ethereum addresses. Example: --only-owner 0x1234... --only-owner 0x5678...

—database-path

Type: string Default: ./database Path to the database directory for Watch Tower state storage. Environment variable: DATABASE_PATH

—log-level

Type: string Default: INFO Log level controlling output verbosity. Environment variable: LOG_LEVEL

—dry-run

Type: boolean Default: false Run without publishing orders to the OrderBook API. Ideal for testing and validation. Environment variable: DRY_RUN

—one-shot

Type: boolean Default: false Execute once and exit immediately. Useful for testing or cron-based execution. Environment variable: ONE_SHOT

—disable-api

Type: boolean Default: false Disable the REST API server entirely. Environment variable: DISABLE_API

—api-port

Type: number Default: 8080 Port for the REST API server when enabled. Environment variable: API_PORT

—silent

Type: boolean Default: false Disable notifications and use local logging only. Conflicts with --slack-webhook. Environment variable: DISABLE_NOTIFICATIONS

—slack-webhook

Type: string Slack webhook URL for sending notifications. Incompatible with --silent. Environment variable: SLACK_WEBHOOK

Examples

Basic usage

Custom configuration

Monitor specific owners

Dry run mode

One-shot execution

With Slack notifications

Custom API port

Environment variables

Last modified on March 12, 2026