Fiber Recovery
Find your private balance, send it anywhere, and recover your keys, all in your browser.
Fiber Recovery is a single web page at recovery.fiber.so. You give it your .fiberseed backup and its password, and it can:
- Find your private balance. It scans Fiber's private pools on Ethereum, Arbitrum, Base and BNB Smart Chain and lists what you hold in each.
- Send it out. It moves a private balance to any address on the same network. Your own browser wallet, such as MetaMask or Rabby, pays the network fee.
- Recover private keys. Paste one of your EVM or Solana addresses, and it shows that address's private key.
It doesn't need the Fiber app, your Fiber account or Fiber's servers. Fiber's pools let anyone withdraw with a valid zero-knowledge proof, and the page makes that proof from your backup, in your browser. The code is open source at github.com/fiberevm/recovery.
Is it safe?
- Your backup and password never leave the browser. The page decrypts the backup, derives your keys and makes proofs on your device.
- Check the address bar. The real page is only ever served from https://recovery.fiber.so. If you're anywhere else, close the tab. You can also run your own copy.
- It only talks to the servers you choose. The page reads the pools' public history from RPC servers listed under RPC settings. Once a scan starts, it can only connect to those servers, plus
ipfs-lb.comfor proving files a send may need. The servers see that someone read a pool's history, never your keys or which funds are yours. - Your browser wallet never sees your backup. The page hands it a finished transaction. The wallet only pays the fee and submits it.
- It can't be quietly lied to. After rebuilding a pool's history, the page checks it against the live pool contract. If a server leaves something out, the scan fails with an error instead of showing an empty balance.
Use a private or incognito window if you can, because browser extensions can read any page you open.
Unlock your backup
- Open recovery.fiber.so on a computer, or your own copy of the page.
- Drop your
.fiberseedfile on the page, or click to choose it. A green checkmark means the file was read. - Optional: open RPC settings to replace the default servers with your own, such as an Alchemy or QuickNode URL. Your own servers make the scan faster.
- Enter the password you set when you exported the backup, then press Unlock.
The page starts scanning right away and lists each network's private holdings as it finishes. Most scans take a few seconds. A slow free server can take a few minutes.
Send your private balance
You need a browser wallet such as MetaMask or Rabby, with a little of the network's gas coin: ETH on Ethereum, Arbitrum or Base, or BNB on BNB Smart Chain. Fees on Ethereum are much higher than on the other networks.
- Under Private holdings, press Send next to the token you want to move.
- Enter the address to send to and the amount. Max sends everything.
- Pick the browser wallet that will pay the fee, and press Send.
- The page makes a proof, which can take a minute. Then approve the transaction in your wallet.
- When it confirms, the page links to it on the block explorer and refreshes the balance.
The funds arrive at a public address on the same network. Fiber's pools charge no withdrawal fee, so the recipient gets the exact amount. If you send to an exchange, use that exchange's deposit address for this exact network.
With interest on, your USD sits in a lending vault, so the page lists vault tokens such as USDC Prime or FUSDT0 instead of USDC or USDT. Sending moves the vault token. It keeps its value, and you can redeem it for the stablecoin from the wallet you send it to. See Interest.
Recover a private key
- Under Private key recovery, paste an address:
0x…for EVM networks, or a Solana address. - Press Find private key. The page checks the first 1,000 addresses in your backup for it.
- Press Reveal, and copy the key.
Import the key into another wallet: MetaMask or Rabby for an EVM address, or Phantom for Solana. An EVM key works on every EVM network, including ones Fiber doesn't support, such as opBNB. The address needs that network's gas coin before it can move anything.
Anyone who sees a private key can take everything at that address. Don't paste it into a chat, email, screenshot or support ticket.
Key recovery works offline. Your private balance doesn't show up in MetaMask or another wallet after you import a key. Use Private holdings to move it.
Press Lock when you're done. Closing the tab also clears everything.
Run your own copy
The whole page is one HTML file. Download it, check it, and open it from your own computer. You can keep it on a USB drive in case recovery.fiber.so is ever unavailable.
Download fiber-recovery-v….html from the latest release on GitHub. Every change to the page gets a new release, and each release lists its file's SHA-256. A release's file name and hash never change.
Check the file first
The page decrypts your wallet, so make sure it's the real one before you open it. Its SHA-256 must match the one in the release notes exactly.
- Mac: open Terminal and run
shasum -a 256 ~/Downloads/fiber-recovery-v*.html - Windows: open PowerShell and run
Get-FileHash $HOME\Downloads\fiber-recovery-v*.html - Linux: run
sha256sum ~/Downloads/fiber-recovery-v*.html
If the result is different, delete the file and don't open it.
Anyone can build a release from its tag with bun run build and compare the hash. With the GitHub CLI, gh attestation verify fiber-recovery-v….html --repo fiberevm/recovery also confirms the file came from Fiber's release workflow.
Open it
Open the file in Chrome, Firefox, Edge or Safari on a computer. On a phone, use recovery.fiber.so instead. Phones often open a downloaded HTML file as a preview, which can't run the page.
Key recovery works with no internet connection. Scanning and sending need one, to reach the RPC servers.
Troubleshooting
| What you see | What it means | What to do |
|---|---|---|
| "That password doesn't open this backup." | The password doesn't match this file | Type it exactly, including capitals and spaces. Make sure it's the password for this export. |
| "This isn't a Fiber backup file." | You chose a different file | Choose the .fiberseed file from your export |
| "No private holdings" | Nothing is in your private balance on that network | Check the other networks. Funds at a public address need key recovery. |
| "Couldn't scan …" or "The … pool history didn't match the contract." | The RPC server failed or returned incomplete history | Reload the page, open RPC settings, and use another RPC for that network |
| "The RPC kept rate-limiting the scan." | The free server is limiting requests | Try again later, or use your own RPC |
| "No browser wallet found." | The page can't find MetaMask, Rabby or a similar wallet | Install one, add a little gas coin, and reload |
| "This send needs more notes than one Railgun proof can spend." | Your balance is split into many small pieces | Send a smaller amount, then send the rest |
| "This address isn't in the first 1,000 accounts of this backup." | The address isn't in this backup | Check it's the right address and the right backup |
| "This send would fail on-chain" | The transaction would revert, so the page stopped before your wallet | Check the address and amount, and that your wallet has gas |