Swap tokens on Base network using the agnic CLI. Supports USDC, ETH, WETH, and any token by contract address.
npx agnic@latest trade < amoun t > < fro m > < t o > [options]
Argument Description amountAmount to swap (see Amount Formats below) fromSource token: alias (usdc, eth, weth) or contract address (0x...) toDestination token: alias or contract address
Option Description -s, --slippage <n>Slippage tolerance in basis points (100 = 1%) --jsonOutput result as JSON
Alias Token Decimals Address usdcUSDC 6 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913ethETH 18 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeEwethWETH 18 0x4200000000000000000000000000000000000006
Format Example Description Dollar prefix '$1.00', '$0.50'USD notation (decimals based on token) Decimal 1.0, 0.50, 0.001Human-readable with decimal point Whole number 5, 100Interpreted as whole tokens Atomic units 500000Large integers treated as atomic units
Auto-detection : Large integers without a decimal point are treated as atomic units. For example, 500000 for USDC (6 decimals) = $0.50.
Important : Always single-quote amounts that use $ to prevent bash variable expansion.
# Swap $1 USDC for ETH (note single quotes)
npx agnic@latest trade '$1' usdc eth
# Swap 0.50 USDC for ETH
npx agnic@latest trade 0.50 usdc eth
# Swap 0.01 ETH for USDC
npx agnic@latest trade 0.01 eth usdc
# Swap with custom slippage (2%)
npx agnic@latest trade '$5' usdc eth --slippage 200
# Get JSON output
npx agnic@latest trade '$1' usdc eth --json
Must be authenticated (npx agnic@latest status to check; use --token, AGNIC_TOKEN, or browser login)
Wallet must have sufficient balance of the source token
Trading is only available on Base mainnet
Error Solution "Not authenticated" Provide --token, set AGNIC_TOKEN, or run npx agnic@latest auth login "Invalid token" Use a valid alias (usdc, eth, weth) or 0x address "Cannot swap a token to itself" From and to must be different "Swap failed: TRANSFER_FROM_FAILED" Insufficient balance or approval issue "No liquidity" Try a smaller amount or different token pair