How H8 uses labels¶
H8 fires when any input in the analysed transaction matches a label record with tag: tainted.
Match logic¶
For each input, H8 checks three match types in order:
- UTXO match —
txid:voutof the input matches a storedoutputorinputlabel - Address match — the input's spending address matches a stored
addrlabel - Transaction match — the input's prevout txid matches a stored
txlabel
If any input matches on any of these three, H8 fires.
Score effect¶
When H8 fires:
- Penalty weight of 25 is added to the score calculation
- The final score is additionally capped at 40 regardless of all other heuristics
This cap reflects the severity of unknowingly spending a known-tainted coin — even a transaction that passes every other check is considered high-risk if it spends a tainted UTXO.
Example¶
You import this label:
Later you analyse a transaction that spends an output from 93c98c2a.... H8 fires because the input's prevout txid matches the tx label — even though you labelled the transaction, not the specific output.
Avoiding false positives¶
Be precise with tx labels — they match all outputs of a transaction. If only one specific UTXO from a transaction is tainted, use an output label (txid:vout) instead.