DeFi promises to tokenize everything. Smart contract platforms offer flexibility to codify asset-specific trading strategies that execute trustlessly. With liquidity open to anyone, anywhere, markets compete on price alone. The best quote should win the trade.

But it doesn’t play out that way. A new AMM can go on-chain with deep liquidity and competitive quotes, and still never trade, because none of it matters without order flow.

Traders move through established channels: aggregators and routers your AMM isn’t wired into. They usually stick with the venues they know, even when they get a worse quote.

In 2024 we built a bespoke AMM, the Bill Broker, with pricing logic that traded SPOT (the flatcoin) around its fair market value. Bootstrapping volume proved hard. There are a few options to try, but no silver bullet:

Get listed by an aggregator: put your AMM on the routers where retail order flow already sits: 1inch, Matcha, and others.

Integrate with a searcher: an MEV bot arbitrages your AMM and, as a side effect, holds your price in line with the market.

Run the arbitrage yourself: operate a bot that trades your AMM against other venues whenever they diverge.

Aggregators don’t let you list yourself. Their engineers have to write the connector, and the group that owns the source list (Matcha’s, for instance, runs through the 0x API) prioritizes venues that already carry volume. An unfamiliar AMM with no track record sits in a backlog they may never get to.

Searchers take their pound of flesh. Their bot keeps your price aligned with the market, taking real risk to do it: unaudited code and a winner-take-all race. They’re paid from the arbitrage spread, your value leaking to a mercenary. And their incentive runs against yours: the better your quote, the wider the spread, the more they take.

Self-arbitrage needs liquidity you don’t have. Running the bot yourself keeps the spread in-house, but only works when the asset already trades deep elsewhere. Newer assets don’t: the bot has nothing to arbitrage against until you’ve seeded liquidity on established AMMs.

A solution

In our latest iteration we built an integration with CoW Swap using Programmatic Orders and flash loans. The approach can work for any on-chain swap protocol facing the discoverability problem.

How it works

Instead of waiting and praying for order flow, the AMM publishes its own intent to trade into CoW's batch auction for any solver to fill.

Flash loans handle atomic, multi-party settlement between the AMM and counterparties from the CoW network.

1) The AMM. Your pool or trading strategy: it exposes swap methods over a pair, say BTC ↔ USD.

2) The publisher. An on-chain swapper contract that reads the AMM’s price and publishes a matching order, and an off-chain keeper that submits that order and its execution recipe to CoW’s orderbook.

3) Settlement. The winning solver executes everything in one atomic transaction: flash-borrow USD (from an on-chain pool like Morpho, or one you run yourself), swap that USD for BTC on the AMM, settle the trade against the CoW batch, and repay the loan from the proceeds.

Benefits

Permissionless. No connector, no listing, no approval. Your order goes straight into CoW’s public orderbook, live the moment you deploy.

Surplus capture. CoW settles in a batch auction where solvers compete to return the most surplus. Because your order is floored at the AMM’s own quote and names your own contract as receiver, a solver wins only by beating that floor, and everything above it flows back to the pool. Incentives stay aligned: the solver takes its nominal batch fee, and the surplus goes to your LPs.

No upfront capital. Someone has to front the USD to buy the BTC the pool is selling. The flash loan supplies it just in time and is repaid from the swap proceeds within the same settlement, so no one (not the AMM, not the solver) has to lock up inventory to be the counterparty. CoW supports this natively via CIP-66.

Conclusion

The approach clears all three dead ends: it’s permissionless, the swap surplus stays with your LPs, and it needs no capital up front.