We deployed a BCoW pool via the Balancer CoW AMM factory (0xf76c421bAb7df8548604E60deCCcE50477C10462) on Ethereum mainnet >48 hours ago. The pool was finalized successfully, but the autopilot never registered it.
Pool: 0x368319a60C9a980707117f2bac21D70b93a19EA4 (LIL/WETH, 50/50, 1% swapFee)
What we found:
We traced the autopilot pipeline in crates/cow-amm/ and found that Registry::add_listener() iterates config.cow_amm.contracts — a Vec<(factory, helper)> from the TOML config. Without a mapping entry, the autopilot simply doesn’t listen for COWAMMPoolCreated events from a given factory.
The BCoWHelper is deployed on mainnet at 0x3FF0041A614A9E6Bf392cbB961C97DA214E9CB31 (per balancer/cow-amm README) and works correctly:
helper.tokens(pool)→[LIL, WETH]
helper.order(pool, prices)→ valid JIT order
helper.factory()→0xf76c421b...
Root cause: The production autopilot config on mainnet apparently lacks this entry:
[[contracts.cow-amms]]
factory = "0xf76c421bAb7df8548604E60deCCcE50477C10462"
helper = "0x3FF0041A614A9E6Bf392cbB961C97DA214E9CB31"
Could someone from the team add this mapping, or let us know if BCoW pools on mainnet are intentionally excluded from autopilot indexing?