A Guide to Extracting Bitcoin Ordinals and Rare Sats from Electrum, Fireblocks, and More
Advanced Bitcoin techniques to safely extract more value from your Bitcoin
Bitcoin is typically viewed as fungible, where each unit is equal to any other. Recently, new initiatives are attributing unique value to individual satoshis. These initiatives involve inscribing messages and images on satoshis or valuing them for sentimental reasons. While I'm not personally keen on this—preferring Bitcoin as a purely fungible monetary network—it presents an opportunity for those who process many Bitcoin transactions to profit by extracting ordinals and "rare sats."
The process is straightforward for wallets like XVerse (XVerse App) and Leather that support ordinals. However, for those prioritizing security and reluctant to enter high-value seeds into unknown wallets, manual extraction is necessary. Here, I'll detail how to extract a single rare satoshi from Fireblocks and Electrum, as all major platforms currently lack direct support for transferring ordinals.
Process Overview:
Identifying Rare Sats in Your Wallet
Use tools like Ordiscan and OrdinalHub to discover rare sats and ordinals in your Bitcoin addresses. Their potential value can be substantial, sometimes exceeding $300K, as seen on Ordiscan's Rare Sats page.
Locating Your Rare Sats
Suppose you have a rare sat, say from Ordiscan. Find the UTXO containing it by checking its details on a site like ordinals.com. This will reveal the specific UTXO, output number, and offset of your rare sat.
Transferring the Rare Sat to an Ordinals Wallet
Transfer only the rare sat to an ordinals-supporting wallet. Normal wallets may inadvertently send these sats, including as miner fees. Ensure you add sufficient funds to cover transaction costs, which are deducted from the UTXO's tail. You can later return the excess.
Technical Process for Unsupported Wallets:
Identify the Bitcoin address with the rare sat at https://ordiscan.com/. This site fails on very large (30,000BTC+ wallets), so you can also use
Locate the UTXO and location (offset/position) of the rare sat.
For example, I can paste the satoshi ID from Ordiscan into https://ordinals.com/sat/10080000000000 and see location
572c6d6b54dda72004df004a95575a2b772acd8876e58f8c81c8a9cdae70e4ac:0:0
This tells me that the sat is in UTXO 572d..., at output #1 (0) and offset 0 (it's the very first sat of the UTXO)
Create a transaction for the desired UTXO containing up to 3 outputs: the offset amount, the rare sat plus gas fees, and the remaining suffix. The offset is in satoshis, so divide by 100 million (calculator) to convert to BTC — and use exact amounts!
(If the rare sat is at offset 0, only send the latter two.)
I recommend practicing with a less valuable sat before attempting this with a high-value one, to avoid accidental loss.
Platform-Specific Instructions:
Fireblocks: I've shared my implementations of Fireblocks'
getUnspentInputs
andsignBtcTransaction
on GitHub. The steps inutxo_test.ts
align with the above process. See Fireblocks Raw Client: UTXO Test and Fireblocks Raw Client: Bitcoin Raw SignerElectrum: Use Electrum's "Coins" tab to select and control the UTXO. In the "Send" tab, opt for "Pay to many" to configure multiple outputs for a single UTXO— first the offset (if needed), then the rare sat to an ordinals wallet, and finally the remainder back to yourself. The pay to many format is address, amount in BTC, separated by lines. Adjust the rare sat's padding generously.