Skip to content

Fiber CLI

Print private keys from your backup and check your private balances from a terminal.

On this page

The Fiber CLI is an open-source command-line tool for your .fiberseed backup. It prints the private key for any address in your wallet, for EVM networks and Solana, and it can list your private (0zk) balances. It runs on a computer with Bun 1.3 or newer. It never uploads your file or password, and recovering a key needs no internet connection.

If you'd rather not use a terminal, use Fiber Recovery in your browser instead. It also sends your private balance, which the CLI can't.

Install

git clone https://github.com/fiberevm/cli.git
cd cli
bun install --frozen-lockfile

Cloned it before? Run git pull and bun install --frozen-lockfile in the cli folder to get the current version.

bun src/index.ts private-key \
  --file ./fiber-wallet-backup-2026-10-28.fiberseed \
  --derivation-index 1

The CLI asks for the file password without showing what you type. It then shows the address the key controls, so you can check it's the one you want, and prints the private key on the next line.

Treat the key as cash. Don't paste it into a chat, email, screenshot or support ticket. Clear your terminal when you're done. If you can, run the CLI on a computer that's offline.

Find the right address

Fiber creates a fresh address for deposit requests and some routing steps. Each address is a numbered derivation index of your seed. Fiber's addresses start at index 1. The CLI's default, index 0, isn't an address Fiber uses.

To find yours, list a range of indexes and look for the address you're recovering, such as the deposit address you sent to:

bun src/index.ts private-key \
  --file ./fiber-wallet-backup-2026-10-28.fiberseed \
  --derivation-index 1-50 \
  --output ./fiber-keys.txt

With --output, the keys go to a new file instead of your screen, and the CLI shows only the addresses. Find your address in the list, take its key from the file, then delete the file. Without --output, the CLI prints a table with each index's address and private key.

A range covers up to 100 indexes. If your address isn't there, try the next range, such as 51-150. Fiber Recovery searches your first 1,000 addresses for a pasted one.

An EVM private key works on every EVM network, including opBNB, BNB Smart Chain, Ethereum, Base and Arbitrum. Import it into an EVM wallet as a private key. The address needs that network's gas coin before it can move anything.

For Solana, add --chain solana. The CLI prints a base58 secret key that Solana wallets such as Phantom accept. Your EVM and Solana addresses share one numbering, so search a range the same way.

Don't import the .fiberseed file itself into MetaMask or another wallet. It isn't a wallet keystore, so wallets reject it. Import the private key the CLI prints instead.

Check your private balance

Most of your USD in Fiber sits in your private balance, not at the public addresses above. That's why recovered addresses often show little or nothing. The CLI can list your private balances through an RPC provider you choose:

bun src/index.ts private-assets \
  --file ./fiber-wallet-backup-2026-10-28.fiberseed \
  --rpc-url https://your-rpc.example

Run it once for each network where Fiber keeps private balances: Ethereum, BNB Smart Chain, Base and Arbitrum. Use an RPC URL for that network. Amounts are raw token units, not dollars: USDC and most USDT use 6 decimals, so 1000000 means 1. USDT on BNB Smart Chain uses 18.

The scan reads every private transaction since Fiber's pool on that network launched, so the RPC must serve that whole history. Many free public RPCs refuse. When yours does, the CLI stops with an error instead of showing a balance that could be incomplete. Try another RPC, such as one from a provider account.

This command is read-only. To send your private balance, use Fiber Recovery.

Troubleshooting

What you seeWhat it meansWhat to do
An invalid tag errorThe password doesn't match this file, or the file was changedType the password exactly. If you can't recover it, export a new backup.
JSON Parse error or Unsupported wallet export fileThe file isn't a Fiber .fiberseed backupUse the .fiberseed file from the export
ENOENT: no such fileThe CLI can't find the file at that pathCheck the path. Dragging the file into the terminal fills it in.
A terminal is required for the hidden password promptThe CLI isn't running in an interactive terminalRun it in a terminal, or pipe the password with --password-stdin
--derivation-index must be an integer for a range, or Unknown option: --outputYour copy of the CLI predates ranges and --outputRun git pull and bun install --frozen-lockfile in the cli folder
--output file already existsThe CLI never overwrites a filePick a new file name, or delete the old file first
Private asset scan on … stopped before reading the pool's full historyYour RPC refused the scan's requests for older blocksUse an RPC that serves the network's full history
The address shows no fundsYou're checking an index Fiber didn't use, or the money is in your private balanceList a wider range, and run private-assets