Someone setting up a hardware wallet for the first time, packaging on desk, laptop with wallet interface, afternoon home office light, casual unboxing moment.
Protocols

Accidental Spending of Inscribed Satoshis as Transaction Fees

Analysis of the most common user-facing incident in Ordinals: wallets selecting inscribed satoshis as fee inputs, permanently destroying digital artifacts. Covers root causes in coin selection algorithms, UI failures, and the evolution of ordinal-aware UTXO management.
introduction
UTXO MANAGEMENT FAILURE

The Silent Burn: How Inscribed Satoshis Become Transaction Fees

The most common user-facing loss event in the Ordinals ecosystem occurs when wallet software inadvertently selects an inscribed satoshi as a transaction fee input, permanently destroying the digital artifact.

Accidental spending of inscribed satoshis as transaction fees is the dominant loss vector for Ordinals and Runes assets. The root cause is a fundamental mismatch between Bitcoin's UTXO model and the off-chain indexing logic that assigns ownership of these assets. Bitcoin Core and most wallet software treat all satoshis as fungible, selecting UTXOs for fees based on heuristics like coin age, value, and confirmation count. Without explicit UTXO control features, a wallet can silently select an inscribed satoshi—or a UTXO carrying Runes tokens—as part of a fee payment, broadcasting a transaction that permanently burns the asset. The miner receives the satoshi as revenue, but the inscription data in the witness is not preserved in the coinbase transaction, making recovery impossible.

The operational impact falls disproportionately on users who hold both inscribed satoshis and fungible Bitcoin in the same wallet. Standard wallet hygiene practices—such as dust consolidation, automatic coin selection, or 'send max' functions—become destructive operations. Several high-profile losses have been traced to wallets that displayed a correct Bitcoin balance but provided no visual indicator that specific UTXOs carried non-fungible assets. The problem extends to Runes, where a UTXO containing a token balance can be swept into a fee payment, destroying the tokens. Custody providers face a compounded risk: a single automated consolidation routine can destroy dozens of assets in one transaction. The fix requires ordinal-aware coin selection algorithms that lock or exclude tagged UTXOs from automatic spending, a feature now implemented in purpose-built wallets but still absent from many general-purpose Bitcoin wallets and exchange infrastructure.

For wallet developers, exchange operators, and custody providers, the remediation path is clear but non-trivial. UTXO management systems must be upgraded to recognize and protect inscribed satoshis and Runes-bearing outputs. This requires integration with an indexer to tag UTXOs, modification of coin selection logic to exclude protected outputs from automatic fee selection, and user interface changes to surface asset-bearing UTXOs distinctly from fungible Bitcoin. Teams that have not conducted a UTXO management review should assume their current coin selection logic is destructive to Ordinals and Runes assets. Chainscore Labs provides protocol-level review of UTXO management implementations, coin selection algorithms, and custody workflows to identify and remediate accidental spending risks before they result in irreversible asset loss.

UTXO SELECTION FAILURE

Incident Profile: Inscribed Satoshi Fee Burning

Operational impact and remediation guidance for the most common user-facing incident: a wallet without UTXO control features selects an inscribed satoshi as a fee input, permanently burning the digital artifact.

PhaseSignalResponseOwner

Prevention

Wallet coin selection algorithm lacks ordinal-aware UTXO filtering

Implement UTXO locking, tagging, or manual selection for inscribed satoshis

Wallet developers, custody providers

Detection

User observes inscription missing from wallet after sending a standard transaction

Audit coin selection path in wallet software; verify against indexer state

Wallet support teams, end users

Confirmation

Inscribed satoshi is spent in a transaction input where output is a fee

Trace UTXO on-chain; confirm inscription location no longer exists on any indexer

Indexer operators, blockchain analysts

Containment

User continues using wallet unaware of the risk to remaining inscriptions

Halt further transactions; migrate remaining inscribed UTXOs to a wallet with coin control

End users, wallet onboarding flows

Recovery

Asset is permanently destroyed; no on-chain recovery mechanism exists

No technical recovery possible; review insurance or off-chain remediation if applicable

Custody providers, legal teams

Post-Incident

Wallet team receives user reports of accidental inscription loss

Conduct UTXO management review; update coin selection logic; publish advisory

Wallet developers, security auditors

Monitoring

New wallet releases or updates may introduce regression in UTXO handling

Verify coin selection behavior against test vectors containing inscribed satoshis

QA teams, integration engineers

Ecosystem

Marketplaces and indexers show inconsistent state for burned inscriptions

Standardize 'burned' status in indexer APIs; update marketplace listing logic

Indexer operators, marketplace backends

technical-context
CORE PROTOCOL-APPLICATION MISMATCH

Root Cause: The UTXO Fungibility Assumption in Coin Selection

The fundamental driver of accidental inscription loss is the conflict between Bitcoin Core's UTXO fungibility model and the non-fungible value assigned to specific satoshis by the Ordinals protocol.

The accidental spending of inscribed satoshis as transaction fees is not a single bug but a systemic failure mode arising from a design mismatch. Bitcoin Core's wallet and coin selection algorithms treat all satoshis within a UTXO as perfectly fungible. The protocol selects inputs to minimize fees and maximize privacy without any native concept of a 'colored' or 'inscribed' satoshi. The Ordinals protocol, operating as an off-chain indexing layer, assigns non-fungible value to specific satoshis based on their ordinal number. When a standard Bitcoin wallet builds a transaction, it has no mechanism to recognize this off-chain value and will freely select an inscribed UTXO as a fee input, permanently burning the digital artifact.

This vulnerability is exacerbated by the operational reality that most wallets default to aggressive UTXO consolidation and change management. A user holding an inscribed satoshi in a wallet that also contains other bitcoin will find that any outgoing transaction—even one unrelated to the Ordinals ecosystem—can trigger the selection of the inscribed UTXO. The risk is not limited to novice users; it is a latent threat in any custody architecture that does not implement ordinal-aware UTXO locking, tagging, or exclusion logic. The problem extends to Runes, where a UTXO holding a token balance is equally fungible from the perspective of the base-layer Bitcoin protocol and can be inadvertently destroyed by a standard sendmany RPC call.

For wallet developers, exchange operators, and custody providers, the operational requirement is clear: coin selection algorithms must be augmented with an awareness layer that queries an Ordinals indexer before constructing a transaction. This requires implementing UTXO freezing, a segregated vault architecture for inscribed assets, or a pre-spend check that warns or blocks transactions consuming non-fungible satoshis. Chainscore Labs can conduct a protocol impact assessment and integration review for teams building or operating Bitcoin wallets, ensuring that their coin selection logic and PSBT construction pipelines are hardened against this class of accidental asset destruction.

IMPACT ANALYSIS

Affected Systems and Stakeholders

Wallet Developers

This is the primary stakeholder. Standard Bitcoin wallets treat all UTXOs as fungible, selecting them for fees based on cost-minimization algorithms. This behavior is catastrophic for inscribed satoshis.

Required Actions:

  • Implement ordinal-aware coin selection that locks or excludes inscribed UTXOs from automatic fee selection.
  • Provide a user-facing 'lock' or 'freeze' feature for specific UTXOs.
  • Display clear warnings in the transaction preview when a transaction input contains an inscription.
  • Integrate with indexer APIs to query UTXO metadata before constructing transactions.

Chainscore Labs can review your coin selection logic and UTXO management architecture to ensure inscribed assets are protected from accidental spending.

implementation-impact
UTXO MANAGEMENT AND WALLET SAFEGUARDS

Evolution of Ordinal-Aware Coin Selection

The shift from naive coin selection to ordinal-aware algorithms that protect inscribed satoshis from being accidentally spent as transaction fees.

01

The Core Failure Mode: Fee Input Selection

Standard Bitcoin wallets use coin selection algorithms that prioritize minimizing fees and maximizing privacy, treating all satoshis as fungible. When a wallet selects an inscribed satoshi as a fee input, the digital artifact is permanently burned in the coinbase transaction. This occurs most often during batch sends, consolidation transactions, or when the wallet's UTXO pool is small. The root cause is a lack of ordinal-aware UTXO locking and a user interface that does not surface inscription ownership before signing.

02

UTXO Locking and Freeze Controls

The primary mitigation is a UTXO control layer that allows users to lock or freeze specific satoshis, preventing the wallet's coin selection engine from spending them. Sparrow Wallet pioneered this with its coin control interface, allowing manual UTXO selection and freezing. Ord and other command-line tools require explicit UTXO specification. Custody providers and exchange wallets must implement a similar freeze mechanism at the backend level to prevent sweeping operations from destroying user assets.

03

Ordinal-Aware Coin Selection Algorithms

Next-generation wallets are moving from manual UTXO control to automated ordinal-aware selection. These algorithms tag UTXOs containing inscriptions or Runes as ineligible for fee selection unless explicitly authorized. The algorithm must maintain a separate pool of 'safe' satoshis for fees, typically by segregating a non-inscribed UTXO as a dedicated fee reserve. Wallet developers should review their coin selection logic against the reference implementations in Sparrow and Xverse to ensure no edge cases allow inscribed satoshis to leak into fee inputs.

04

User Interface and Confirmation Flows

Even with ordinal-aware selection, the signing interface must clearly communicate what is being spent. Wallets like Leather and Xverse display inscription thumbnails and Runes balances in the transaction preview, with explicit warnings when an inscribed UTXO is included. The minimum viable safeguard is a confirmation screen that lists all UTXOs being spent and flags any containing inscriptions or Runes. Exchange and custody interfaces that abstract UTXO details must provide equivalent transparency before transaction authorization.

05

Dust Limit and Consolidation Risks

Automated wallet hygiene functions—such as dust sweeping or UTXO consolidation—pose a systemic risk. A wallet that periodically consolidates small UTXOs to reduce future fees may inadvertently sweep Runes-bearing dust UTXOs into a single output, destroying the tokens. Wallet teams must ensure that dust limit logic is ordinal-aware and that consolidation transactions explicitly exclude UTXOs tagged with Runes or inscriptions. Exchange hot wallet consolidation scripts require the same review.

UTXO MANAGEMENT FAILURE MODES

Risk Matrix: Wallet Types and Loss Exposure

Evaluates the risk of accidental inscription loss across different wallet architectures based on their coin selection logic and UTXO control features.

Wallet TypeFailure ModeAffected UsersSeverityMitigation

Standard SPV Wallets

Coin selection treats all UTXOs as fungible; no satoshi-level awareness

Retail users holding inscriptions in standard wallets

High

Migrate inscribed satoshis to ordinal-aware wallets immediately

Ordinal-Aware Wallets

UI bug or incomplete UTXO locking logic fails to protect marked satoshis

Collectors and traders using dedicated inscription wallets

Medium

Verify UTXO freeze/lock feature behavior after every wallet update

Exchange Custody

Internal sweeping or consolidation logic selects inscribed UTXOs as fee inputs

Exchange operators and their customers

Critical

Implement UTXO origin tagging and exclusion rules in all consolidation scripts

Multisig/MPC Custody

Signing device does not parse inscription envelopes; approves unsafe PSBT

Institutional funds and collaborative custody users

High

Review PSBT parsing on all signing devices for ordinal-aware field display

Lightning Network

Channel funding or splicing logic consumes inscribed satoshis without warning

Users opening LN channels with ordinal-bearing wallets

High

Isolate inscribed UTXOs from LN node wallet; use dedicated funding sources

Hardware Wallets

Device firmware lacks satoshi-level coin control; approves fee-burning transactions

Hardware wallet users managing inscriptions

Medium

Pair hardware wallet with ordinal-aware software interface for PSBT review

Automated Bot/Trading Infrastructure

High-frequency sweeping or fee-bumping logic inadvertently selects inscribed UTXOs

Marketplace operators and automated trading systems

Critical

Conduct a coin selection logic audit; implement strict UTXO allow/deny lists

OPERATIONAL HARDENING

Remediation and Prevention Checklist

A practical checklist for wallet developers, custody providers, and marketplace operators to prevent the accidental spending of inscribed satoshis as transaction fees. Each item identifies a specific control, its operational rationale, and the signal that confirms it is working correctly.

What to check: Your wallet's coin selection algorithm must identify and exclude UTXOs that contain inscriptions or Runes tokens from the set of inputs considered for fee payment or non-ordinal transfers.

Why it matters: Standard Bitcoin wallets treat all UTXOs as fungible. Without explicit awareness, an inscribed satoshi is indistinguishable from any other satoshi, making it trivially easy to burn a high-value digital artifact as miner fees.

Confirmation signal: Run a test transaction where the only available UTXOs are inscribed. The wallet should either refuse to construct the transaction or explicitly warn the user and require a manual override. Logs should show that inscribed UTXOs were identified and excluded from the coin selection candidate set.

Chains We Build On

Looking to build on a specific blockchain?

We build smart contracts, DeFi applications, wallets, tokenization platforms, and blockchain infrastructure across the major ecosystems teams choose today. That includes Ethereum, Arbitrum, Optimism, Polygon, Avalanche, Solana, Sui, Aptos, Hedera, Stellar, and NEAR, with support for additional EVM and non-EVM networks based on your product requirements.

EVM ecosystems

  • Ethereum logo
    Ethereum
  • Arbitrum logo
    Arbitrum
  • Optimism logo
    Optimism
  • Polygon logo
    Polygon
  • Avalanche logo
    Avalanche
  • Cronos logo
    Cronos

Non-EVM ecosystems

  • Solana logo
    Solana
  • Sui logo
    Sui
  • Aptos logo
    Aptos
  • Hedera logo
    Hedera
  • Stellar logo
    Stellar
  • NEAR logo
    NEAR

Additional ecosystems

  • Polkadot logo
    Polkadot
  • Cosmos logo
    Cosmos
  • TON logo
    TON
  • Cardano logo
    Cardano
  • Algorand logo
    Algorand
  • Tempo logo
    Tempo

Also available for Base, appchains, custom EVM networks, and cross-chain product architecture.

OPERATIONAL FAQ

Frequently Asked Questions

Common questions from wallet developers, custody providers, and marketplace operators about preventing and responding to the accidental spending of inscribed satoshis as transaction fees.

The incident occurs when a wallet's coin selection algorithm treats an inscribed satoshi as a standard UTXO and includes it as an input in a transaction where the output value is less than the input value. The difference—the inscribed satoshi—is claimed by the miner as part of the transaction fee. This is not a protocol bug but a wallet-level failure to recognize and protect specific satoshi ranges.

Root causes include:

  • Lack of ordinal-aware coin selection: The wallet does not query an indexer to check if a UTXO contains an inscription before spending.
  • UTXO consolidation logic: Automated wallet hygiene functions that merge small UTXOs can sweep inscribed satoshis into a fee-paying input.
  • User interface failure: The wallet UI does not surface which UTXOs contain inscriptions, leaving the user unaware of the risk.
  • Fee bumping via RBF or CPFP: When a user increases the fee on a pending transaction, the wallet may select an additional input—potentially an inscribed satoshi—to cover the higher fee.

Operational impact: Once mined, the inscription is permanently destroyed. The satoshi itself continues to exist, but the witness data containing the inscription is no longer associated with it in the UTXO set.

Trusted by Industry Leaders

Delivering blockchain solutions for 5+ years.

We have partnered with 50+ leading DeFi protocols, NFT ecosystems, and fintech innovators to build secure, scalable, and capital-efficient blockchain products.

Selected Partners & Clients

ChainVote logo
Reax logo
Sokail logo
Swapsicle logo
SyntheX logo
Tekika logo
Telos logo
Zexe logo
ChainVote logo
Reax logo
Sokail logo
Swapsicle logo
SyntheX logo
Tekika logo
Telos logo
Zexe logo
ChainVote logo
Reax logo
Sokail logo
Swapsicle logo
SyntheX logo
Tekika logo
Telos logo
Zexe logo
ChainVote logo
Reax logo
Sokail logo
Swapsicle logo
SyntheX logo
Tekika logo
Telos logo
Zexe logo
“I've been working with Chainscore Labs for last 3+ years, they've consistently delivered with strong ownership across multiple projects. The team is reliable and detail-oriented.”
L
Lee Erswell
CEO, Telos Foundation
how to get started

How to get started?

If you're looking for blockchain integration, ChainScore Labs has 5+ years of experience helping teams build and integrate exchanges, wallets, smart contracts, tokenization solutions, and protocol-connected products, we can help you choose the right path, integrate securely, and get to production faster. Our team consists of experienced blockchain developers and architects who can help you with your blockchain integration needs.

01

Exploration & Strategy

Define your product goals and choose the right blockchain architecture for your use case.

02

Architecture & Design

Design the smart contracts, tokenomics, and security parameters of your system.

03

Development & Integration

Build and integrate with wallets, oracles, and front-end dApps for a seamless experience.

04

Security & Launch

Comprehensive audits followed by a risk-managed mainnet deployment to protect your users.

Start a build

Need a blockchain engineering team?

Send the project context and we will respond with next steps, scope questions, and a practical path to delivery.