ComposableCoW Contract
TheComposableCoW contract enables creation and management of programmatic orders on CoW Protocol, supporting both single orders and merkle tree-based authorization for automated trading strategies.
Deployment
Deployed identically across six networks (Ethereum Mainnet, Gnosis Chain, Arbitrum One, Base, Optimism, and Polygon) at address:State Variables
Primary Functions
Order Creation
create()- Authorize a single programmatic ordercreateWithContext()- Authorize with value factory context storage
Merkle Tree Management
setRoot()- Set merkle root for batch authorizationsetRootWithContext()- Set root with value factory context
Order Retrieval
getTradeableOrderWithSignature()- Generate discrete orders for CoW Protocol submission
Order Management
remove()- Revoke order authorizationsetSwapGuard()- Apply additional order restrictions
Critical Requirements
- Safe multisig wallets must use
ExtensibleFallbackHandler - Handler contracts must implement
IConditionalOrderGenerator - Token approvals required for the GPv2 Vault Relayer
Authorization Models
Orders may be authorized individually viacreate() or in batches using merkle proofs, enabling efficient management of multiple programmatic orders.