Aero commands
Advanced Aerodrome reads and transaction previews in chat, with every flag Pecu accepts.
On this page
/aero gives you the Aerodrome command set from the Aero SDK inside chat. You can ask for all of it in plain words too. The commands are for when you want exact control over pools, positions and flags.
/aero, /aero help, /aero --help and /aero -h all show the built-in help.
Suggested liquidity plans#
Ask "Add USDC/WETH liquidity on Aerodrome using half my ETH" and Pecu discovers an existing pool and prepares a funded position in one operation. It compares fresh TVL for up to eight matching concentrated pools from its public catalog and selects the largest of those candidates. This does not guarantee the best yield or coverage of every pool. Specify a pool address when you want a particular pool. Pecu asks for the pair or total budget when missing; you do not need to calculate the token split.
Once those choices are clear, Pecu prepares one funding-swap, approval and deposit batch. "Use half my ETH" budgets half your ETH for the whole position. It does not stop at a separate wrap. The preview shows the exact funding swap, deposit amounts and range. With YOLO off, confirm that combined preview; with YOLO on, the tool can execute it immediately.
This budget flow supports concentrated liquidity funded with one of the pair's tokens, including native ETH for a WETH pair. It currently requires your Pecu smart wallet. Linked external wallets cannot run this combined batch. Existing-pool deposits create a new position; a genuinely new pool requires a verified initial price.
The default range is 20% below and above the observed pool price, adjustable on request. Fees stop outside the range and token exposure changes. Unspent tokens remain in your wallet. Pecu leaves native ETH available for fees, but does not estimate the network fee. If balances or market data are unavailable, it explains the missing data before preparing a plan.
Token symbols resolve through the full on-chain catalog. A unique listed match takes priority; ambiguous matches require a contract address. ETH means native ETH and WETH means Base's wrapped ETH. Public token and pool catalogs refresh in the background. Balances, pool reserves, prices, allowances and transaction quotes are read live.
Flag syntax#
- Write flags as
--name valueor--name=value, with hyphens, as in--pool-type. - Boolean flags accept
--flag,--flag true,--flag=falseor--no-flag. - Each action accepts only its own flags. Any other flag returns an error such as
Unsupported parameter for pools: owner. Positional arguments are rejected. - Pecu sets the chain to Base,
8453, and rejects any other--chain. It also rejects--wallet, because transactions always use your own wallet. - Replace
0xPOOLand0xOWNERwith full addresses, and position123with an ID from/aero positions.
Reads#
Reads run immediately and never create a transaction.
| Command | What it does | Example |
|---|---|---|
/aero stocks | Lists the tokenized stocks with prices and your holdings. | /aero stocks |
/aero positions | Lists your liquidity positions, or another address's with --owner. | /aero positions --owner 0xOWNER |
/aero pools | Finds pools by token and pool type. | /aero pools --token0 USDC --token1 AERO --pool-type volatile --limit 5 |
/aero epochs-latest | Latest reward-period data across pools. | /aero epochs-latest --pool-type cl |
/aero epochs | Reward-period history for one pool. | /aero epochs --lp 0xPOOL --limit 5 --offset 0 |
/aero quote | A swap quote with explicit flags. | /aero quote --from-token ETH --to-token USDC --amount 0.001 --use-decimals |
| Read | Flags |
|---|---|
positions | --owner, optional. Without it, Pecu reads your wallet. |
pools | --token0, --token1, --pool-type, --limit and --full, all optional. --full returns full pool details. |
epochs-latest | --pool-type, optional. |
epochs | --lp is required. --pool-type, --limit and --offset are optional. --limit defaults to 10 and --offset to 0. |
quote | --from-token, --to-token and --amount are required. --use-decimals is optional. |
Chat replies summarize long results. Send b/verbose to see every record.
Pool types and limits#
--pool-typeisstable,volatileorcl, which is concentrated liquidity.--limitis a whole number from 1 to 100.--offsetis a whole number, 0 or more.
Amounts and decimals#
quote,swap,depositandcreate-venftread amounts as integer base units unless you add--use-decimals. With it,--amount 0.001means 0.001 tokens. The short/quoteand/swapcommands add it for you.stock-buy,stock-selland the--cashofindex-rebalancealways use normal units and do not accept--use-decimals.unstake --amounttakes the SDK's integer amount, not a decimal. Leave it out to unstake the full position.
Transaction previews#
Every command below builds a preview. With YOLO off, confirm it by replying confirm or by sending /confirm CODE. With YOLO on, new requests run right away. The amounts are syntax examples, not suggestions.
| Command | What it does | Example |
|---|---|---|
/aero swap | Swap with an optional slippage limit. | /aero swap --from-token ETH --to-token USDC --amount 0.001 --use-decimals --slippage 0.005 |
/aero deposit | Add liquidity to a pool. | /aero deposit --pool 0xPOOL --amount0 1 --amount1 1 --use-decimals |
/aero withdraw | Remove part or all of a position. | /aero withdraw --position 123 --fraction 0.5 |
/aero stake | Stake a position. | /aero stake --position 123 |
/aero unstake | Unstake a position. | /aero unstake --position 123 |
/aero claim-emissions | Claim a position's emissions rewards. | /aero claim-emissions --position 123 |
/aero claim-fees | Claim a position's trading fees. | /aero claim-fees --position 123 |
/aero create-venft | Lock AERO into a voting position. | /aero create-venft --amount 1 --lock-duration-seconds 31536000 --use-decimals |
/aero stock-buy | Buy a tokenized stock. The amount is USDC to spend. | /aero stock-buy --stock NVDAc --amount 1 |
/aero stock-sell | Sell a tokenized stock. The amount is stock tokens. | /aero stock-sell --stock NVDAc --amount 0.001 |
/aero index-rebalance | Trade toward target stock weights, optionally adding USDC. | /aero index-rebalance --allocations NVDAc=50,AAPLc=50 --cash 1 |
A preview can include token approvals before the main action. One confirmation runs them all, in order.
| Action | Required | Optional |
|---|---|---|
swap | --from-token, --to-token, --amount | --use-decimals, --slippage |
deposit | one pool selection form, see below | --amount0, --amount1, --use-decimals, --slippage, --deadline-minutes, CL range flags |
withdraw | --position or --pool | --fraction, --collect, --burn, --unwrap-native, --slippage, --deadline-minutes |
stake, claim-emissions | --position or --pool | none |
unstake | --position or --pool | --amount |
claim-fees | --position or --pool | --burn, --unwrap-native |
create-venft | --amount, --lock-duration-seconds | --use-decimals |
stock-buy, stock-sell | --stock, --amount | --slippage |
index-rebalance | --allocations | --cash, --slippage |
Choosing a pool to deposit into#
Use one of two forms. Mixing them is rejected.
- An existing pool, with
--pool 0xPOOL. - A token pair, with
--token0,--token1and--pool-type. Aclpair also needs--tick-spacing, whichstableandvolatilepairs reject. If no pool exists for the pair, the preview creates one.
/aero deposit --pool 0xPOOL --amount0 1 --amount1 1 --use-decimals
/aero deposit --token0 USDC --token1 AERO --pool-type volatile --amount0 1 --amount1 1 --use-decimals--amount0and--amount1follow the pool's own token0 and token1 order. Check the pool with/aero poolsfirst.- A new
stableorvolatilepool needs both amounts. An existing one can work out the other side from one amount. - The deposit preview shows both quoted token amounts before you confirm, including the amount calculated for the other side.
- CL deposits accept
--price-lower,--price-upper,--tick-lower,--tick-upperand--initial-price. The right values depend on the pool, so look them up rather than guessing. Basic pools reject these flags.
Working with positions#
Position reads include basic liquidity, staked concentrated liquidity and unstaked concentrated-liquidity NFTs held by the selected wallet. A newly deposited CL position is visible before staking. /aero positions lists each position with its pool address and staked/unstaked token amounts in human units.
withdraw,stake,unstake,claim-emissionsandclaim-feesneed--positionor--pool. For a basic pool position, use the pool address.--position 0on its own is ambiguous and also needs--pool.withdraw --fraction 0.5removes half the position. The fraction must be above 0 and at most 1. Without it, the whole position is withdrawn.withdrawcollects fees by default. Add--no-collectto skip that.--burncloses a CL position completely and only works with a fraction of 1. Leave--burnand--unwrap-nativeoff unless you know what they do for that position.depositandwithdrawuse a 30-minute deadline unless you set--deadline-minutes.
Slippage#
--slippage is a fraction, so 0.005 means 0.5%. It applies to swap, deposit, withdraw, stock-buy, stock-sell and index-rebalance. Pecu uses 1% when you leave it out and currently rejects anything above 1%, so you can only set a tighter limit.
Locking AERO#
create-venft needs --amount and --lock-duration-seconds, a positive whole number of seconds. 31536000 is 365 days. The contract decides which durations it accepts.
Stock flags#
--stocktakes a symbol from/aero stocks, such asNVDAc.--allocationsis a comma-separated list ofSYMBOL=percententries. Each stock appears once, each weight has up to two decimals, and the weights total 100.--cashadds that much USDC to the rebalance. It defaults to 0.- If your holdings already match the weights, Pecu replies that no transaction plan was created.
Stocks covers the whole stock flow, including baskets and the Aero Stocks web app.