trade
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 --simulate
User: "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.
More from ahmetenesdur/starkfi
send
Send STRK, ETH, or any ERC-20 token to a Starknet address. Supports simulation (dry-run) before execution. Use this skill when the user wants to send, transfer, pay, tip, or move tokens to another wallet address on Starknet. Also trigger when the user mentions sending funds to someone, making a payment, transferring assets, or moving crypto to a specific address — even if they just say "pay 10 STRK to 0x...".
10balance
Check Starknet wallet token balances — STRK, ETH, and all ERC-20 tokens. Use this skill when the user asks about their balance, holdings, funds, tokens, wallet contents, or wants to know how much of something they have. Also use before any transaction to verify sufficient funds. Trigger whenever the user says "check my balance", "how much ETH do I have", "what's in my wallet", "do I have enough", "show my tokens", or any variation about checking available assets — even if they don't use the word "balance".
9staking
Stake, unstake, claim, and compound rewards for STRK, WBTC, tBTC, SolvBTC, and LBTC on Starknet. View validators, pools, and staking positions. Use this skill when the user mentions staking, delegating, validators, staking pools, rewards, compounding, unstaking, earning yield, passive income on crypto, or wants to earn on their STRK or BTC tokens — even if they don't say "stake" explicitly.
9config
View and modify StarkFi CLI configuration — set custom RPC URLs, switch networks, manage gas settings, and check transaction status. Use this skill when the user mentions RPC, rate limits, network settings, gas mode, gas token, configuration, settings, preferences, or wants to check a transaction hash. Also trigger when the user wants to customize their setup, troubleshoot connection issues, fix errors, switch between mainnet and testnet, change how gas is paid, enable free gas, "gas fees too high", "not working", verify whether a transaction succeeded, or check tx status — even if they don't say "config".
9multi-swap
Execute multiple token swaps in a single Starknet transaction via Fibrous (default). Supports per-provider selection (avnu, ekubo, or auto to race all). Supports 2-3 swap pairs bundled into one multicall. Use this skill when the user wants to swap multiple token pairs at once, do batch swaps, execute several trades simultaneously, perform parallel swaps, or do bulk trading in one transaction. Also trigger when the user mentions "two swaps", "three swaps", "swap X and Y at the same time", or wants to convert multiple tokens in a single call.
9portfolio
View a comprehensive DeFi portfolio dashboard and optimize portfolio allocation via automated rebalancing. Use this skill when the user wants an overview, summary, dashboard, total value, net worth, portfolio rebalancing, target allocation, or wants to see all their DeFi positions across Starknet at once. Also trigger when the user asks "what do I have", "show me everything", "how much am I worth", "my positions", "my investments", "rebalance my portfolio", "I want 50% ETH", "optimize my holdings", or any request for a holistic view of their Starknet holdings — even if they don't explicitly say "portfolio".
9