Review of Spark's trust model

Unilateral-exit readiness

Higher fee rates push more Spark leaves below the economic exit threshold

Blink's published method evaluates each leaf against the CPFP cost of its full exit chain plus final sweep. As fee rates rise, costs rise while leaf value does not, so additional leaves can fall below the economic threshold. This is an economic limit, not a cryptographic one. 123

3 sourcesEvidence reviewed through July 14, 2026

What the evidence shows

Technical and product details

  1. Per-leaf test

    Blink compares each leaf's value with the CPFP fees for its entire exit chain plus its final sweep. 1

    Supporting material shown on this page

    Blink per-leaf economicsPinned source code · github.com · checked 2026-07-14
    Relevant lines from the pinned source · open raw file
    90Four leaves (32,768 + 32,768 + 16,384 + 8,192 sats) held 90% of the balance.
    91The other 18 — dust from routine wallet activity, some as small as 1 sat —
    92would each have cost 2,100–4,600 sats to exit: exiting everything would have
    93spent ~77.5k sats in fees to recover 100k. The tooling now computes this per
    94leaf and skips uneconomical leaves by default (`INCLUDE_UNECONOMICAL=1`
    95overrides; the economics math is regression-tested against this very bundle,
    96adapted to regtest, in
  2. Scaling mechanism

    As the fee rate rises, those transaction costs rise while the leaf's value does not. 12

    Supporting material shown on this page

    Blink per-leaf economicsPinned source code · github.com · checked 2026-07-14
    Relevant lines from the pinned source · open raw file
    90Four leaves (32,768 + 32,768 + 16,384 + 8,192 sats) held 90% of the balance.
    91The other 18 — dust from routine wallet activity, some as small as 1 sat —
    92would each have cost 2,100–4,600 sats to exit: exiting everything would have
    93spent ~77.5k sats in fees to recover 100k. The tooling now computes this per
    94leaf and skips uneconomical leaves by default (`INCLUDE_UNECONOMICAL=1`
    95overrides; the economics math is regression-tested against this very bundle,
    96adapted to regtest, in
    Blink fee-rate sensitivityPinned source code · github.com · checked 2026-07-14
    Relevant lines from the pinned source · open raw file
    125Bottom line: **89,668 of 100,000 sats (~90%) reach the destination.** The
    126all-in cost of the exit is ~18,700 sats — 9,888 abandoned as dust, 8,388 in
    127CPFP fees, 444 in sweep fees — plus the on-chain fee for the transaction that
    128funded the CPFP address in the first place. At higher fee rates every term
    129scales up and more leaves fall below the economic threshold; at 10 sat/vB this
    130wallet would abandon two more leaves and pay ten times the fees on the rest.
  3. Selection consequence

    More leaves can become uneconomical to recover, so the tool skips them by default unless the user explicitly overrides that behavior. 123

    Supporting material shown on this page

    Blink per-leaf economicsPinned source code · github.com · checked 2026-07-14
    Relevant lines from the pinned source · open raw file
    90Four leaves (32,768 + 32,768 + 16,384 + 8,192 sats) held 90% of the balance.
    91The other 18 — dust from routine wallet activity, some as small as 1 sat —
    92would each have cost 2,100–4,600 sats to exit: exiting everything would have
    93spent ~77.5k sats in fees to recover 100k. The tooling now computes this per
    94leaf and skips uneconomical leaves by default (`INCLUDE_UNECONOMICAL=1`
    95overrides; the economics math is regression-tested against this very bundle,
    96adapted to regtest, in
    Blink fee-rate sensitivityPinned source code · github.com · checked 2026-07-14
    Relevant lines from the pinned source · open raw file
    125Bottom line: **89,668 of 100,000 sats (~90%) reach the destination.** The
    126all-in cost of the exit is ~18,700 sats — 9,888 abandoned as dust, 8,388 in
    127CPFP fees, 444 in sweep fees — plus the on-chain fee for the transaction that
    128funded the CPFP address in the first place. At higher fee rates every term
    129scales up and more leaves fall below the economic threshold; at 10 sat/vB this
    130wallet would abandon two more leaves and pay ten times the fees on the rest.
    Blink economics takeawayPinned source code · github.com · checked 2026-07-14
    Relevant lines from the pinned source · open raw file
    202   100k-sat wallet. With economic triage, ~90% of the balance reached the
    203   destination. Self-custody on Spark is real, but the exit path is expensive
    204   and slow by construction; size expectations accordingly.
    2052. **Dust leaves are a liability.** 18 of 22 leaves were not worth exiting at
    206   even 1 sat/vB. Wallets should consolidate leaves while operators are
    207   cooperative, and exit tooling must triage by economics rather than exit
    208   everything blindly.
  4. Protocol/economic distinction

    Such leaves remain part of the wallet state but are omitted from the economically selected on-chain recovery path. 13

    Supporting material shown on this page

    Blink per-leaf economicsPinned source code · github.com · checked 2026-07-14
    Relevant lines from the pinned source · open raw file
    90Four leaves (32,768 + 32,768 + 16,384 + 8,192 sats) held 90% of the balance.
    91The other 18 — dust from routine wallet activity, some as small as 1 sat —
    92would each have cost 2,100–4,600 sats to exit: exiting everything would have
    93spent ~77.5k sats in fees to recover 100k. The tooling now computes this per
    94leaf and skips uneconomical leaves by default (`INCLUDE_UNECONOMICAL=1`
    95overrides; the economics math is regression-tested against this very bundle,
    96adapted to regtest, in
    Blink economics takeawayPinned source code · github.com · checked 2026-07-14
    Relevant lines from the pinned source · open raw file
    202   100k-sat wallet. With economic triage, ~90% of the balance reached the
    203   destination. Self-custody on Spark is real, but the exit path is expensive
    204   and slow by construction; size expectations accordingly.
    2052. **Dust leaves are a liability.** 18 of 22 leaves were not worth exiting at
    206   even 1 sat/vB. Wallets should consolidate leaves while operators are
    207   cooperative, and exit tooling must triage by economics rather than exit
    208   everything blindly.

Scope control

What this does not establish

  • This is an economic threshold, not a cryptographic failure or a claim that every leaf becomes unrecoverable. It depends on fee rate, leaf value, chain depth, and any prior consolidation. 123

Sources and excerpts

Primary sources

The relevant details and available source-code excerpts appear alongside the claims above. This list preserves the complete original-source trail for independent verification.

1

Blink per-leaf economics

Pinned source code · github.com · Pinned or archival · checked 2026-07-14

Open original source
2

Blink fee-rate sensitivity

Pinned source code · github.com · Pinned or archival · checked 2026-07-14

Open original source
3

Blink economics takeaway

Pinned source code · github.com · Pinned or archival · checked 2026-07-14

Open original source

How sources, absence findings, and limitations were evaluated