Create a Bot
This guide walks you through creating a Kani bot and explains what each setting means.
Where to create
Go to Bots → Create.
You’ll see the setup form:
- Name
- Chain
- Select Tokens
- Select Pools
- Exit To USDC
- Withdrawal Address
- Terms of Service
Step-by-step setup
1) Name
Name * is a descriptive label to help you recognize this bot.
Only visible to you.
Tips
- Use a consistent naming format, e.g.
SUI-USDC Conservative,SUI-USDC Aggressive,USDC-ETH Test. - Include chain + target token + strategy if you run multiple bots.
2) Chain
Chain * selects the blockchain network your bot will run on.
What it affects
- Which tokens and pools are available
- Network fees and transaction confirmation times
3) Select Tokens
Kani bots use two-token pools:
- Target Token: what you want to earn (your “goal” asset)
- Quote Token: the paired token in the pool
Example If you choose:
- Target:
SUI - Quote:
USDC
The bot will operate in pools where SUI/USDC liquidity exists, aiming to accumulate more SUI (while using USDC as the pair asset).
How to choose
- Pick a Target token you’re comfortable holding long-term.
- Pick a Quote token that matches your risk preference:
USDC/stablecoins = generally less volatile- volatile quote tokens = higher risk (but sometimes higher yield)
4) Select Pools
By default, Kani automatically selects the best-performing pools for your chosen token pair.
You can still choose pools manually if you prefer.
Auto-select (recommended)
- Easiest setup
- Optimized for performance signals Kani tracks (e.g., fees, liquidity, activity)
Manual selection
- Use when you already know which DEX/pool you want
- Helpful if you want stricter control over exposure
Pool performance can change quickly with market conditions. A pool that performs well today may not be optimal tomorrow.
5) Exit To USDC (optional)
Exit To USDC:
If enabled, your bot will automatically move to USDC when a major price drop is detected.
Why enable it
- Reduces drawdown risk during sharp market moves
- Useful when your target token is volatile
Trade-offs
- You may exit during a temporary dip and miss the rebound
- “Major drop” detection is heuristic-based and not perfect
6) Withdrawal Address
Withdrawal Address is required to enable withdrawals.
This address is used so Privy can enforce a withdrawal policy that restricts transfers only to this address.
Why this matters
- Prevents withdrawals to unknown / unapproved addresses
- Adds a safety layer if your account is compromised
Best practices
- Use an address you control (hardware wallet preferred)
- Double-check chain compatibility and checksum formatting
- Consider using a dedicated “vault” address for withdrawals
If you enter the wrong address, withdrawals may be restricted to an address you do not control.
7) Accept Terms
To create the bot, you must check:
I accept the Terms of Service and acknowledge the risks involved.
This confirms you understand the risks of automated on-chain activity.
After you create the bot
Once created, you can typically:
- Monitor performance (fees, PnL, token balances)
- Pause/resume the bot
- Update pool selection (if manual)
- Update withdrawal address (if supported in your UI/settings)
Common setups
Conservative
- Target: a major token you want to hold
- Quote:
USDC - Pools: Auto-select
- Exit To USDC: Enabled
- Withdrawal address: hardware wallet
Growth / Higher risk
- Target: more volatile token
- Quote:
USDCor volatile quote - Pools: Manual (pick high-fee pools)
- Exit To USDC: optional (depends on strategy)
Troubleshooting
I can’t find the token / pool
- Make sure you selected the correct chain
- Some pools may be unavailable due to liquidity or indexing delays
Withdrawal doesn’t work
- Confirm you set the withdrawal address
- Confirm the address is correct and on the same chain
Bot exits too often
- Consider disabling Exit To USDC if it conflicts with your strategy
- Use a less volatile target token or adjust pool exposure