Trade / Swap Tokens
Exchange one token for another on Starknet via Fibrous (default). Other providers (AVNU, Ekubo) can be selected with --provider, or use --provider auto to race all providers for the best price. All transactions are routed through the Paymaster by default (gas paid in STRK or configured token).
Prerequisites
- Active session required.
- Sufficient balance of the source token + gas fees.
Rules
- BEFORE any trade, you MUST run
npx starkfi@latest statusandnpx starkfi@latest balanceto verify connectivity and source token balance. - Default slippage is 1%. To change, use
--slippage <percent>. - Suggest using
--simulatefirst for large trades so the user can review the estimated fee and expected output before committing. - AFTER a successful trade, you MUST verify the transaction using
npx starkfi@latest tx-status <hash>. - For multiple swaps in one transaction, use the
multi-swapskill instead.
Commands
npx starkfi@latest trade <amount> <from> <to> [--provider <fibrous|avnu|ekubo|auto>] [--slippage <percent>] [--simulate] [--json]Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
amount | number | Amount of source token to swap | Yes |
from | string | Source token symbol (e.g. ETH, USDC) | Yes |
to | string | Target token symbol (e.g. STRK, DAI) | Yes |
--provider | string | Provider: fibrous (default), avnu, ekubo, auto (race all) | No |
--slippage | number | Slippage tolerance in % (default: 1) | No |
--simulate | flag | Estimate fees without broadcasting | No |
--json | flag | Output as JSON | No |
Examples
User: "Swap 100 USDC for ETH"
npx starkfi@latest status
npx starkfi@latest balance --token USDC
npx starkfi@latest trade 100 USDC ETH
npx starkfi@latest tx-status <hash>User: "How much ETH would I get for 500 USDC?"
npx starkfi@latest trade 500 USDC ETH --simulateUser: "Convert 0.5 ETH to STRK with 2% slippage"
npx starkfi@latest status
npx starkfi@latest balance --token ETH
npx starkfi@latest trade 0.5 ETH STRK --slippage 2
npx starkfi@latest tx-status <hash>Error Handling
| Error | Action |
|---|---|
No route found | Liquidity may be too low or pair doesn't exist. |
Insufficient balance | Check balance and suggest a smaller amount. |
Provider unavailable | Specified provider is invalid. Valid: fibrous, avnu, ekubo. |
All providers failed | All providers timed out or errored. Retry later. |
Simulation failed | Route is invalid or would revert. Do not retry blindly. |
Not authenticated | Run authenticate-wallet skill first. |
Related Skills
- Use
balanceto check available tokens before trading. - Use
multi-swapfor executing 2-3 swaps in a single transaction. - Use
batchfor combining a swap with other operations (stake, supply, send, dca, troves). - Use
dcafor recurring buy orders instead of a one-time swap. - Use
trovesto deposit swap proceeds into yield vaults. - Use
lstfor liquid staking after swapping to STRK. - Use
configto set a custom RPC if experiencing rate limits.