Cetus Yield Agent
An agent that deposits your funds into a Sui trading pool and earns a share of every trade — automatically. It monitors the market, repositions when needed, and scans for better opportunities across the Sui ecosystem.
What you’ll see
- Your agent checks the pool price every 5 minutes and shows a live dashboard at
localhost:3001 - When the market price drifts too far, the agent repositions your funds and notifies you on Telegram
- A yield comparison table shows how your returns stack up against every other option on Sui
Launch it
npx create-waap-agent --template cetus-yield
cd cetus-yield-agent
npm startSafe by default. This starter runs in monitor mode on mainnet — it watches the pool but doesn’t trade. You see real data without risking funds. Switch to
activemode when you’re ready.
Set it up (2 minutes)
You’ll be prompted for:
| Setting | What it means | Default |
|---|---|---|
| WaaP email | Your agent’s WaaP account | required |
| Pool | Which trading pair to use | SUI / USDC |
| Mode | monitor (watch only) or active (trade) | monitor |
| Earning zone | How wide to set the price range | 200 (auto-adjusts) |
| Reposition trigger | How far the price must move before repositioning | 100 price units |
| Check interval | How often to check the market | Every 5 minutes |
That’s it. The agent handles the rest.
See it work
Within 30 seconds of starting, open http://localhost:3001 in your browser. You should see:
- A green “Earning” badge showing the agent’s funds are in the active earning zone
- A price range bar with a marker showing where the market price sits
- A yield comparison table ranking Cetus pools and lending protocols across Sui
The dashboard refreshes every 30 seconds. Let it run for a few cycles to see the balance chart populate.
Make it yours
Three things most people customize first:
1. Switch to a higher-yield pool
The dashboard shows which pools are earning the most. To switch:
# In .env
CETUS_POOL_ID=0x... # Copy the pool ID from app.cetus.zone2. Turn on active trading
Once you’re comfortable with what you see in monitor mode:
# In .env
AGENT_MODE=activeFund your wallet with SUI (for transaction fees) and USDC (for the pool deposit). Send native SUI from an exchange — do not bridge ETH, as bridged ETH is a different token and can’t be used for gas. Reserve at least 0.2 SUI for fees. The agent will open a position on the next cycle.
3. Widen the earning zone for volatile markets
If you see frequent repositions (which cost transaction fees), widen the zone:
# In .env
POSITION_RANGE_TICKS=400 # default is 200Or leave it at 200 and let the volatility engine auto-adjust (it does this by default).
How it keeps you safe
Your agent never holds your private key — it’s split between your device and a secure enclave using WaaP’s two-party signing. Every trade goes through waap-cli, which can require your approval on Telegram for anything above your daily limit. And in the default monitor mode, the agent doesn’t make any transactions at all.
Go deeper
- Full recipe — Cetus Yield Agent Recipe — 5 phases from monitoring to cross-protocol yield scanning, with complete source code
- WaaP CLI guide — WaaP for Agents — How two-party signing works and how to configure spend limits