Make a private trade
Buy or sell from inside the shield without handing front-runners the trade before it lands. One atomic transaction spends your shielded notes, fills against public liquidity, and re-shields the result — your wallet never signs the swap.
How a trade moves
The whole thing is exact-output: you name the amount you want to receive, and the adapter shapes the fill to hit it in a single transaction. There is no half-filled state and no order left sitting in the mempool for a bot to read.
1 — Say what you want to receive
In the app, the Swap card is the home screen: pick both tokens and type either side. In the terminal it is one command.
cowl trade 0.3 USDG # receive 0.3 USDG, paid from your shielded notes
cowl trade 0.001 ETH # receive 0.001 of the native coinCowl quotes the price, shows you the spend and the relayer fee, and waits for your confirmation. Quotes scan every Uniswap V3 fee tier and take the best executable fill, so an asset whose only pool sits on an unusual tier still routes. Trades snap to the shared denominations by default; add --exact for a precise size, or --max to cap what you will spend.
A pair with no direct pool runs as two private legs through the native asset. Between them the value sits as a shielded note, so nothing unshields in the middle.
2 — It settles gaslessly
By default the trade is submitted by the network relayer, so the on-chain transaction comes from the relayer’s address, not yours. Your funding wallet never appears as the gas payer. Point at a different relayer with --relay <url>, or submit it yourself with --self.
3 — Read your book after the fill
cowl balance --shielded # the received token is now a private noteIn the app the Portfolio tab refreshes itself once the chain catches up, so a green run never leaves a stale number on screen.
Related
- Private trading — what stays hidden, and why.
- MEV & anti copy-trade — why an unreadable order cannot be attacked.