Fiber CLI
Print private keys from your backup and check your private balances from a terminal.
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.
Print a private key
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 see | What it means | What to do |
|---|---|---|
An invalid tag error | The password doesn't match this file, or the file was changed | Type the password exactly. If you can't recover it, export a new backup. |
JSON Parse error or Unsupported wallet export file | The file isn't a Fiber .fiberseed backup | Use the .fiberseed file from the export |
ENOENT: no such file | The CLI can't find the file at that path | Check the path. Dragging the file into the terminal fills it in. |
A terminal is required for the hidden password prompt | The CLI isn't running in an interactive terminal | Run it in a terminal, or pipe the password with --password-stdin |
--derivation-index must be an integer for a range, or Unknown option: --output | Your copy of the CLI predates ranges and --output | Run git pull and bun install --frozen-lockfile in the cli folder |
--output file already exists | The CLI never overwrites a file | Pick a new file name, or delete the old file first |
Private asset scan on … stopped before reading the pool's full history | Your RPC refused the scan's requests for older blocks | Use an RPC that serves the network's full history |
| The address shows no funds | You're checking an index Fiber didn't use, or the money is in your private balance | List a wider range, and run private-assets |