trade
Trade / Swap Tokens
Exchange one token for another via Fibrous aggregation. The CLI finds the best route, handles token approvals, simulates the swap, and executes.
Note: Automatically detects and executes Wrap (Native -> Wrapped) and Unwrap (Wrapped -> Native) operations directly via contract calls, bypassing aggregation to save gas.
Prerequisites
- Active session required.
- Sufficient balance of the source token + gas fees.
Rules
- BEFORE any trade, you MUST run
npx fibx@latest statusandnpx fibx@latest balanceto verify connectivity and source token balance. - If the user specifies a chain, you MUST include
--chain <name>. If not specified, default tobaseand state it. - Default slippage is 0.5%. To change it, you MUST ask the user for confirmation before using
--slippage. - The CLI defaults to exact approval for ERC-20 tokens. NEVER use
--approve-maxunless the user explicitly requests it. - AFTER a successful trade, you MUST verify the transaction using
tx-statuswith the same--chainflag.
Chain Reference
| Chain | Flag | Native Token |
|---|---|---|
| Base | --chain base |
ETH |
| Citrea | --chain citrea |
cBTC |
| HyperEVM | --chain hyperevm |
HYPE |
| Monad | --chain monad |
MON |
Commands
npx fibx@latest trade <amount> <from_token> <to_token> [--chain <chain>] [--slippage <n>] [--approve-max] [--simulate] [--json]
Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
amount |
number | Amount of source token to swap | Yes |
from_token |
string | Source token symbol (e.g. ETH, USDC) |
Yes |
to_token |
string | Target token symbol (e.g. USDC, DAI) |
Yes |
chain |
string | base, citrea, hyperevm, or monad |
No |
slippage |
number | Slippage tolerance in % (e.g. 1.0) |
No |
approve-max |
flag | Use infinite approval instead of exact | No |
simulate |
flag | Estimate gas without executing | No |
json |
flag | Output as JSON | No |
Default chain: base. Default slippage: 0.5.
Examples
User: "Swap 0.1 ETH for USDC"
npx fibx@latest status
npx fibx@latest balance
npx fibx@latest trade 0.1 ETH USDC
npx fibx@latest tx-status <hash>
User: "Buy USDC with 1 MON on Monad"
npx fibx@latest status
npx fibx@latest balance --chain monad
npx fibx@latest trade 1 MON USDC --chain monad
npx fibx@latest tx-status <hash> --chain monad
User: "Wrap 1 ETH to WETH on Base"
npx fibx@latest status
npx fibx@latest balance
npx fibx@latest trade 1 ETH WETH --chain base
npx fibx@latest tx-status <hash>
User: "Unwrap 0.5 WMON on Monad"
npx fibx@latest status
npx fibx@latest balance --chain monad
npx fibx@latest trade 0.5 WMON MON --chain monad
npx fibx@latest tx-status <hash> --chain monad
Error Handling
| Error | Action |
|---|---|
No route found |
Liquidity may be too low or pair doesn't exist on the chain. |
Insufficient balance |
Check balance and suggest a smaller amount. |
Slippage exceeded |
Price moved unfavorably — suggest retrying with --slippage. |
Simulation failed |
Route is invalid or would revert. Do not retry blindly. |
Not authenticated |
Run authenticate-wallet skill first. |
Rate limit / 429 |
Use config skill to set a custom RPC. |
Related Skills
- Run
balanceBEFORE trading to verify sufficient source token balance. - Run
portfolioto see all holdings with USD values before deciding what to trade. - Run
tx-statusAFTER trading to confirm the swap succeeded. - Use
configto set a custom RPC if you encounter rate limit errors. - Use
aaveto supply swapped tokens into Aave V3 for yield.
More from fibrous-finance/fibx-skills
aave
Manage Aave V3 DeFi positions on Base — supply, borrow, repay, withdraw, view markets, and check account health. Includes liquidation safety checks.
26balance
Check wallet balances (native and ERC-20 tokens) on Base, Citrea, HyperEVM, or Monad.
25send
Send native tokens (ETH, cBTC, HYPE, MON) or ERC-20 tokens to an address on Base, Citrea, HyperEVM, or Monad. Simulates before sending.
21authenticate-wallet
Authenticate the fibx CLI wallet via email OTP (Privy) or private key import. Required before any wallet operation (balance, send, trade, aave).
17tx-status
Check the on-chain status of a transaction and get the block explorer link. Supports Base, Citrea, HyperEVM, and Monad.
14config
View and modify fibx CLI configuration, such as setting custom RPC URLs to avoid rate limits.
9