AgnicPay

Trade Tokens

Swap tokens on Base network — USDC, ETH, WETH, and more

Trade Tokens

Swap tokens on Base network using the agnic CLI. Supports USDC, ETH, WETH, and any token by contract address.


Command

npx agnic@latest trade <amount> <from> <to> [options]

Arguments

ArgumentDescription
amountAmount to swap (see Amount Formats below)
fromSource token: alias (usdc, eth, weth) or contract address (0x...)
toDestination token: alias or contract address

Options

OptionDescription
-s, --slippage <n>Slippage tolerance in basis points (100 = 1%)
--jsonOutput result as JSON

Token Aliases

AliasTokenDecimalsAddress
usdcUSDC60x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
ethETH180xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE
wethWETH180x4200000000000000000000000000000000000006

Amount Formats

FormatExampleDescription
Dollar prefix'$1.00', '$0.50'USD notation (decimals based on token)
Decimal1.0, 0.50, 0.001Human-readable with decimal point
Whole number5, 100Interpreted as whole tokens
Atomic units500000Large 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.


Examples

# 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

Prerequisites

  • 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 Handling

ErrorSolution
"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

Next Steps

On this page