Requirements
- Node.js v18 or higher
- npm (included with Node.js)
- A running fibx-server instance only if you use Privy-managed wallet operations
No global installation is needed. All commands use
npx fibx@latest, which always fetches the latest version (currently v0.10.0).Installation Options
Run FibX directly withnpx:
Installing Agent Skills
To add fibx skills to your AI agent, use the Vercel Skills CLI:fibx is needed — all skills execute via npx fibx@latest.
Verify Your Environment
Try It Without a Wallet
Before setting anything up, you can check live prices —quote needs no session,
wallet, or keys:
Authentication
Commands that inspect or act on a wallet — includingaddress, wallets,
balance, portfolio, send, trade, aave status, and Aave actions — need
an active session. Public or local commands such as quote, status,
tx-status, config, policy, and aave markets can run without one. Three
signing paths are available, and they are peers — auth setup presents the
choice with the trade-offs explained. The full comparison is on
Signing Paths and the Local Policy.
Your Own Wallet (WalletConnect)
Keep your keys in the wallet you already use. The CLI shows a QR code and awc: URI; scan it with your wallet app and approve the pairing. Every later
transaction is approved on your phone, so this path does not run unattended.
Private Key Import
If you already have a wallet with a private key and want FibX to act without you, this is the most direct path. The key is encrypted at rest with AES-256-GCM and used to sign locally. This mode does not requirefibx-server.
Email OTP (Privy Server Wallets)
If you do not have a private key or prefer a managed wallet, authenticate via email OTP. This creates a server-managed wallet through Privy. Signing is requested throughfibx-server, and the
private key itself is not returned to the CLI. This mode requires fibx-server
to be running and reachable.
Session Management
Set a Signing Policy
A file you own, checked before every signature on all three paths. On the imported-key path it is the only limit there is.maxValue bounds the native value only — an ERC-20 transfer reaches the
policy with value: 0. Use <chain>.allowedDestinations to bound where
tokens may go. Details on Signing Paths and the Local Policy.
Common Command Options
These flags are available where shown in the command reference:Chain Selection
Commands that accept--chain default to Base unless their reference says
otherwise.
First Transaction
After authenticating, run through a complete workflow to verify everything is working:1
Check your balance
2
Execute a swap
3
Verify the transaction
Preview Behavior
send --simulate, trade --simulate, and Aave actions with --simulate return
a no-broadcast preview. Review the result and the command-specific limitations
before submitting the live operation.
Preview output varies by path. If an ERC-20 trade needs approval,
trade --simulate reports requiresApproval: true without submitting the
approval or returning a gas estimate. An Aave preview returns the normalized
request only; it does not perform on-chain validation or estimate gas. Preview
success does not guarantee that later execution will succeed.