Dev.to WebDev πŸ›  Dev πŸ‘ 0 πŸ“– 3 min read

Why your UniSat wallet shows "unavailable balance" (and how to get that BTC out)

If you opened UniSat (or Xverse, or another ordinals wallet) and part of your Bitcoin shows up as "unavailable" and the Send button won't touch it, you are not alone and your coins are not lost. This post explains exactl

If you opened UniSat (or Xverse, or another ordinals wallet) and part of your Bitcoin shows up as "unavailable" and the Send button won't touch it, you are not alone and your coins are not lost. This post explains exactly what is happening and how to move that BTC, both by hand and with a tool.

What "unavailable balance" actually means

Every time you mint a rune or an inscription, it lands on a specific tiny output in your wallet, usually around 546 satoshis. That output now carries a collectible.

Ordinals-aware wallets deliberately lock any output that carries an inscription or a rune. The reason is protective: they don't want you to accidentally spend a valuable collectible as a network fee. The side effect is that the plain Bitcoin value sitting inside those outputs gets grouped as "unavailable balance", and the normal Send flow refuses to spend it.

So the coins are yours, you can see them, but the wallet UI will not move them. For people who farmed the UniSat airdrop or minted a lot of runes, this can add up to a real amount of BTC frozen in plain sight across dozens or hundreds of tiny outputs.

Is it recoverable? Yes.

Nothing is stuck on the blockchain. The outputs are spendable like any other, the wallet is just choosing not to spend them for you. You have two ways to get the BTC out.

Option A: do it by hand (free)

If you are comfortable with raw transactions, you can sweep these outputs yourself:

  1. List the locked UTXOs on your address using a block explorer or your wallet's UTXO view.
  2. Build a transaction (a PSBT) that spends them.
  3. Order the inputs that carry inscriptions first, and size the first output so the collectible sats land there, not in the miner fee or the wrong output.
  4. Sign with a wallet that will build this kind of transaction. Sparrow or Electrum, pointed at your address, work for plain-BTC sweeps.

One important detail: if you send the swept sats to another ordinals-aware wallet (UniSat, Xverse), they get locked again there. To treat them as plain Bitcoin, send to an exchange deposit address or a plain wallet like Electrum, Sparrow, or Ledger.

Across a lot of dust outputs this is fiddly and easy to get wrong, which is why most people leave the BTC sitting there.

Option B: use a tool that does the assembly

If you don't want to build PSBTs by hand, Sat Rescue automates it:

  1. You connect your wallet. It reads your address and public key only (read only).
  2. It scans your UTXOs, separates the inscription and rune outputs from plain dust, and builds the sweep transaction.
  3. You pick a mode: keep the clean BTC in your own wallet (collectibles stay segregated in a single output), or send everything to an external address like an exchange.
  4. Your wallet shows you the transaction and you sign it. The site never sees your keys.

It is open source, so you can read exactly what it does before you connect anything: github.com/OculusMans/sat-rescue. It takes a 17% fee on what it recovers, shown in your wallet before you sign, and it skips the fee entirely on amounts too small to be worth it.

Do it while network fees are low

Consolidating many tiny outputs costs network fees per output. While fees are low this is cheap. When fees spike, sweeping small dust can cost more than it recovers. If you have been putting this off, low-fee periods are the time to do it.

FAQ

Will I lose my inscriptions or runes? No, unless you specifically choose a burn mode. The normal flow keeps your collectibles in a separate output on your own address and only frees the plain BTC.

Is connecting my wallet safe? The tool is non-custodial and open source: it never receives your seed or private key, only a signature your own wallet produces, and you review the transaction before signing. As always, verify the code and the transaction yourself.

Why does the wallet lock these in the first place? To stop you from accidentally spending a collectible as a fee. It is a safety feature with an annoying side effect.

Originally published at satrescue.app.

πŸ“° Read the original article on Dev.to WebDev

Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes β€” full credit and traffic to the original publisher.