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 value or --name=value, with hyphens, as in --pool-type.
  • Boolean flags accept --flag, --flag true, --flag=false or --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 0xPOOL and 0xOWNER with full addresses, and position 123 with an ID from /aero positions.

Reads#

Reads run immediately and never create a transaction.

CommandWhat it doesExample
/aero stocksLists the tokenized stocks with prices and your holdings./aero stocks
/aero positionsLists your liquidity positions, or another address's with --owner./aero positions --owner 0xOWNER
/aero poolsFinds pools by token and pool type./aero pools --token0 USDC --token1 AERO --pool-type volatile --limit 5
/aero epochs-latestLatest reward-period data across pools./aero epochs-latest --pool-type cl
/aero epochsReward-period history for one pool./aero epochs --lp 0xPOOL --limit 5 --offset 0
/aero quoteA swap quote with explicit flags./aero quote --from-token ETH --to-token USDC --amount 0.001 --use-decimals
ReadFlags
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-type is stable, volatile or cl, which is concentrated liquidity.
  • --limit is a whole number from 1 to 100.
  • --offset is a whole number, 0 or more.

Amounts and decimals#

  • quote, swap, deposit and create-venft read amounts as integer base units unless you add --use-decimals. With it, --amount 0.001 means 0.001 tokens. The short /quote and /swap commands add it for you.
  • stock-buy, stock-sell and the --cash of index-rebalance always use normal units and do not accept --use-decimals.
  • unstake --amount takes 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.

CommandWhat it doesExample
/aero swapSwap with an optional slippage limit./aero swap --from-token ETH --to-token USDC --amount 0.001 --use-decimals --slippage 0.005
/aero depositAdd liquidity to a pool./aero deposit --pool 0xPOOL --amount0 1 --amount1 1 --use-decimals
/aero withdrawRemove part or all of a position./aero withdraw --position 123 --fraction 0.5
/aero stakeStake a position./aero stake --position 123
/aero unstakeUnstake a position./aero unstake --position 123
/aero claim-emissionsClaim a position's emissions rewards./aero claim-emissions --position 123
/aero claim-feesClaim a position's trading fees./aero claim-fees --position 123
/aero create-venftLock AERO into a voting position./aero create-venft --amount 1 --lock-duration-seconds 31536000 --use-decimals
/aero stock-buyBuy a tokenized stock. The amount is USDC to spend./aero stock-buy --stock NVDAc --amount 1
/aero stock-sellSell a tokenized stock. The amount is stock tokens./aero stock-sell --stock NVDAc --amount 0.001
/aero index-rebalanceTrade 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.

ActionRequiredOptional
swap--from-token, --to-token, --amount--use-decimals, --slippage
depositone 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 --poolnone
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, --token1 and --pool-type. A cl pair also needs --tick-spacing, which stable and volatile pairs 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
  • --amount0 and --amount1 follow the pool's own token0 and token1 order. Check the pool with /aero pools first.
  • A new stable or volatile pool 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-upper and --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-emissions and claim-fees need --position or --pool. For a basic pool position, use the pool address. --position 0 on its own is ambiguous and also needs --pool.
  • withdraw --fraction 0.5 removes half the position. The fraction must be above 0 and at most 1. Without it, the whole position is withdrawn.
  • withdraw collects fees by default. Add --no-collect to skip that.
  • --burn closes a CL position completely and only works with a fraction of 1. Leave --burn and --unwrap-native off unless you know what they do for that position.
  • deposit and withdraw use 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#

  • --stock takes a symbol from /aero stocks, such as NVDAc.
  • --allocations is a comma-separated list of SYMBOL=percent entries. Each stock appears once, each weight has up to two decimals, and the weights total 100.
  • --cash adds 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.