BTCintel
nodeok
mempool68,852 tx
node next1.08 sat/vB
retarget40 blocks
chainmainnet

Docs

Transaction observations

GET /v1/tx/{txid}/classification and the classification sibling of a transaction page carry the observations of extractor tx-obs-v1: structural facts read from the transaction bytes, computed on demand the first time a page asks and cached. Every rule is listed here with the exact condition. None of them names a wallet, a service or an owner; the software behind a fingerprint would be a claim, and claims live in the Curated band with a source and a citation.

Absent and empty

observations is absent when the extractor could not read the raw transaction (not computed) and an empty list when it ran and no rule matched (computed, nothing found). Each observation carries kind, value, detail (the evidence of the rule), extractor and extractor_version; a rule change ships as a new version and re-extracts.

OP_RETURN protocol markers

Evaluated on every OP_RETURN output; the first rule that matches wins and detail.prefix_hex records the marker. Counterparty payloads on mainnet are obfuscated with ARC4 keyed by the first input's txid; the rule decodes before matching (detail.encoding = arc4), and also reads the 1-of-3 bare multisig data outputs Counterparty uses for larger messages (encoding = multisig).

op_return valueRule
omnipayload begins 6f6d6e69 ("omni")
opentimestampspayload begins 0588960d73d71901
runesOP_13 follows OP_RETURN (a runestone)
stackspayload begins 5832 or 5831
blockstackpayload begins 6964 ("id")
colupayload begins 4343
open_assetspayload begins 4f410100
coinsparkpayload begins 53504b
poetpayload begins 504f4554
docproofpayload begins 444f4350524f4f46
factompayload begins 466163746f6d2121
eternity_wallpayload begins 4557
bitproofpayload begins 4250
ascribepayload begins 4153435249424500
stamperypayload begins 5374616d70657279
epobcpayload begins 45504f4243
counterpartypayload (plain or ARC4-decoded) begins 434e545250525459 ("CNTRPRTY")
veriblockpayload is exactly 82 bytes (detail.heuristic = size)
bare_hashpayload is exactly 20 or 32 bytes (detail.heuristic = size)
text≥ 4 bytes and ≥ 90 % printable ASCII (detail.text, first 80 characters)
unknownany other OP_RETURN payload

Meta-protocol envelopes

meta_protocol valueRule
inscriptiona witness script contains OP_FALSE OP_IF "ord" (detail.content_type when the envelope carries one)
runesan OP_RETURN OP_13 runestone output (detail.runestone = true)
src20_stampbare multisig data outputs whose ARC4-decoded data contains "stamp:"
atomicalsa witness script contains OP_FALSE OP_IF "atom"

CoinJoin patterns

Amount structures only. The name says which published protocol produces that structure, not who took part; detail holds inputs, outputs, equal_outputs and denomination.

coinjoin valueRule
whirlpool5 inputs, 5 outputs, all outputs equal and one of 0.001, 0.01, 0.05 or 0.5 BTC
wasabi-1≥ 10 outputs with ≥ 5 equal outputs within ±0.5 % of 0.1 BTC or one of its doublings
wabisabi≥ 20 outputs of which ≥ 80 % are standard denominations (powers of 2, 3 and 10, with 2·3ⁿ, 2·10ⁿ and 5·10ⁿ, between 5,000 sats and 2³¹)
joinmarket≥ 3 inputs, ≥ 3 exactly equal outputs and at least one other output, when none of the above matched

Script features

feature valueRule
locktime_recentnLockTime is a height within the 100 blocks before the confirmation height
bip69inputs (txid, then vout) and outputs (amount, then script) are in BIP69 order; only judged with at least two inputs or two outputs
rbf_signalany input's nSequence is below 0xfffffffe (detail.input_n)

Patoshi

Evaluated on the coinbase of blocks up to height 54,316 by the block walker, in height order: the nonce's least significant byte is in 0–9 or 19–58, the coinbase output is P2PK, and the extranonce read from the early-client scriptSig continues the running sequence (increasing by at most 10). A lower extranonce is a restart and is accepted only when the next candidate continues from it. detail carries block_hash, height, nonce_lsb and extranonce. This is an observation of a mining pattern described in public research; it is not a claim about a person.

pattern valueRule
patoshithe four conditions above, on the coinbase transaction
curl -s https://api.btcintel.io/v1/tx/2bb85f4b004be6da54f766c17c1e855187327112c231ef2ff35ebad0ea67c69e/classification \
  | jq '{extractor, observations: [.observations[]? | {kind, value, detail}]}'