Skip to content

Add wallet fingerprints#777

Open
1440000bytes wants to merge 15 commits into
janoside:masterfrom
1440000bytes:add-wallet-fingerprints
Open

Add wallet fingerprints#777
1440000bytes wants to merge 15 commits into
janoside:masterfrom
1440000bytes:add-wallet-fingerprints

Conversation

@1440000bytes

@1440000bytes 1440000bytes commented Jun 17, 2026

Copy link
Copy Markdown

This PR adds a wallet fingerprints panel to the transaction details page that explains the wallet-identifying patterns a transaction exhibits and gives a heuristic likely-wallet verdict.

Closes #773

Heuristics

Detection works by elimination (discard wallets whose required fingerprint is absent) adapted from ishaanam/wallet-fingerprinting, heuristic taxonomy and the set of signals follow arminsabouri/walletfingerprints.info
and arminsabouri/wallet-fingerprints-rag. Because the explorer already has the spending witness/scriptSig, input prevout types, values, and confirmation height, it covers:

  • nVersion
  • nLockTime / anti-fee-sniping
  • RBF signaling (nSequence) and the exact nSequence value
  • Input script types and multi-type vin
  • Compressed vs uncompressed public keys
  • Low-R grinding (compounded across the change chain)
  • Signature hash type (surfaces non SIGHASH_ALL / non SIGHASH_DEFAULT flags)
  • OP_RETURN outputs and output count (batching)
  • BIP-69 input and output ordering
  • Heuristic change detection, change-type matching, and address reuse

Signature-level checks (low-R grinding, public key compression, sighash type) read native SegWit, P2SH-nested SegWit (BIP-49), legacy P2PKH and P2PK inputs.

Testing

node app/walletFingerprintAnalysis.test.js (46 checks pass). Verified end-to-end against a regtest node and confirmed transactions render the panel with fingerprints.


image image

Future work

  • Temporal heuristics where the data is available (RBF replacement, fee-rate source, spends-unconfirmed).
  • Round-number feerate tell (arminsabouri/walletfingerprints.info).
  • Canonical low-S (BIP-146) and output-script-type propensity signals.

@1440000bytes
1440000bytes marked this pull request as ready for review July 16, 2026 11:50
@1440000bytes 1440000bytes changed the title [WIP] Add wallet fingerprints Add wallet fingerprints Jul 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Wallet fingerprint on transaction details page

1 participant