Skip to main content

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 with npx:
Or install it globally:

Installing Agent Skills

To add fibx skills to your AI agent, use the Vercel Skills CLI:
This installs the pre-built skill definitions from the fibx-skills repository into your agent’s skill registry. No separate installation of 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 — including address, 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 a wc: 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 require fibx-server.
With an imported key, the local signing policy is the only thing bounding what this wallet signs. Set one (fibx policy set base.maxValue 0.05) before the first transaction, and only use this path on a trusted device.

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 through fibx-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

The CLI checks the signing policy, finds a route via Fibrous, handles any required token approval, estimates the swap where supported, and submits it. Over WalletConnect, approve it on your phone.
3

Verify the transaction

This returns the on-chain status, gas used, and a block explorer link.

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.