Documentación
Transactions
A transaction with resolved inputs and outputs, its confirmation status and the spend status of its outputs.
Generated from openapi.yaml (Btcintel native API 0.1.0). Every hash is canonical display order; every answer carries the index and node heights; errors use one envelope — see Semantics.
- GET
/v1/tx/{txid}— Transaction by canonical txid - GET
/v1/tx/{txid}/status— Confirmation status - GET
/v1/tx/{txid}/outspends— Spend status of every output - GET
/v1/tx/{txid}/outspend/{vout}— Spend status of one output
GET /v1/tx/{txid}
Transaction by canonical txid
Confirmed and indexed → TxDetail (tx plus the intel siblings). In the node mempool → {txid, mempool: true, fee_sat, vsize, first_seen}, with the mempool engine's projection when its latest projection holds the transaction (spec M2). Replaced, as the engine saw while its feed of the last 200 replacements holds it → ReplacedTxDetail; that knowledge is short-lived, and afterwards the transaction answers 404. Confirmed but above the index tip → 409 not_indexed_yet. Unknown → 404. tx.confirmations counts against the node tip, never the index tip.
- MCP tool
get_tx— see For agents
Parameters
| Name | In | Type | Description |
|---|---|---|---|
txid required | path | string | Canonical txid (64 hex, display byte order). |
include | query | string · one of "expired" | expired to include expired and retracted claims in annotations (attributions and hop-0 stay current-only). |
Response 200
Confirmed (indexed), mempool or recently replaced transaction.
schema
- TxDetail — A confirmed transaction with the intel siblings of spec S1.6 FR-1. Every sibling is
absent when not computed (no intel store) and an empty list when computed with nothing
found (CC-6).
classificationarrives with S1.8.txTx requiredtxidstring — Canonical display byte order.heightintegerindexinteger | null — Position in the block; null when the backing index does not expose it (vigia mode).versionintegerlocktimeintegersizeintegerweightintegerfee_satinteger — 0 for coinbase; subsidy is not a fee.coinbasebooleanconfirmationsinteger — Against the node tip (P0-3).statusobjectconfirmedbooleanblock_heightinteger
vinarray of objectvinintegerprev_txidstring — Canonical txid of the spent output; empty for a coinbase input.prev_voutinteger | null — null for a coinbase input.value_satintegeraddressstring | nullsequenceinteger
voutarray of objectvoutintegervalue_satintegeraddressstring | nulltypestringspentbooleanspent_txidstring — Canonical txid of the spending transaction; empty while unspent.
annotationsarray of Claim — Current claims on the transaction (CC-4).relationsarray of Relation — Relations of the entities the claims name; about entities, never the transaction (P17).claim_idstringkindstring required · one of "relation"aboutstring · one of "entity"versionintegercontent_sha256stringcitationstringfrom_entityobjectidstringnamestringkindstring — entity:… concept.
to_entityobjectidstringnamestringkindstring — entity:… concept.
typestring — relation:… concept.sourceobjectfetchobjectconfidenceobjectvalidityobjectevidencearray of object
exposureExposure — Read-time exposure from current annotations on the addresses the transaction touches; never walks further than the transaction itself.hop0array of Hop0 requireddirectionstring required —in: the claim is on an address the transaction spends from;out: on an address it pays to. · one of "in", "out"amount_satinteger required — Sats the address moved in that direction across every input or output of the transaction.claim_idstring requiredcitationstring — CC-5 citation of the claim's current version.labelstringsubjectSubject required…
truncatedboolean — Present and true when the transaction touches more than 1000 distinct addresses and only the first 1000 were looked up.
classificationClassification — The tx-obs-v1 result (spec S1.8 FR-7); the same object asGET /v1/tx/{txid}/classification.observationsarray of TxObservation requiredkindstring required · one of "op_return", "meta_protocol", "coinjoin", "feature", "pattern"valuestring required — The rule that matched: omni, opentimestamps, runes, counterparty, …, inscription, src20_stamp, atomicals, whirlpool, wasabi-1, wabisabi, joinmarket, locktime_recent, bip69, rbf_signal, patoshi.detailobject required — Rule evidence: prefix_hex / text / heuristic for OP_RETURN, content_type for inscriptions, inputs / outputs / equal_outputs / denomination for CoinJoin patterns, nonce_lsb / extranonce for Patoshi.extractorstring required · one of "tx-obs"extractor_versionstring required · one of "v1"
extracted_atstring (date-time) requiredextractorstring · one of "tx-obs-v1"
- MempoolTxDetail
txidstring required — Canonical display byte order.mempoolboolean = true requiredconfirmationsinteger = 0fee_satintegervsizeintegerfirst_seenstring (date-time)projectionTxProjection — Where the mempool engine's latest projection places this transaction (spec M2; ADR-0003): ancestor packages selected greedily by fee rate into blocks of 3,992,000 weight units, the getblocktemplate approach, recomputed every ~2 s (as_of). A block order, never a time or a promise of confirmation. Absent while the engine is off, before its first projection, and for a transaction that projection has not seen yet.blockinteger — The 1-based index among the eight detailed projected blocks; absent past them (beyond). · ≥ 1 · ≤ 8beyondboolean = true — Past the eight detailed blocks;blockis then absent.effective_fee_ratenumber — sat/vB, 2 decimals: the rate of the ancestor package the transaction is selected with, a child paying for it included. Past the detailed blocks, where the engine resolves no packages, the node's ancestor rate (Bitcoin Core'sfees.ancestor/ancestorsize).packageobject required — The transaction's package as the node's mempool entry reports it (getmempoolentry).ancestorsinteger required — In-mempool ancestors, the transaction itself excluded (Core'sancestorcount− 1).descendantsinteger required — In-mempool descendants, the transaction itself excluded (Core'sdescendantcount− 1).vsizeinteger required — The transaction with its in-mempool ancestors, vbytes (Core'sancestorsize).fee_satinteger required — Their fees (Core'sfees.ancestor).
next_block_min_fee_ratenumber — sat/vB, 2 decimals: the lowest effective rate projected block 1 takes. Absent when the projection holds no block.replaceableboolean — True when the entry signals BIP 125; otherwise the node's full-RBF policy (getmempoolinfofullrbf, on by default from Bitcoin Core 28). Absent when the transaction does not signal and the node does not say.methodstring required · one of "ancestor_package_greedy"as_ofstring (date-time) required — The projection's time.
- ReplacedTxDetail — A transaction the mempool engine saw replaced (spec M2 FR-3). Short-lived: the answer lasts while the engine's feed of its last 200 replacements holds it, and the transaction answers 404 afterwards.
txidstring required — Canonical display byte order.mempoolboolean = false requiredreplaced_bystring required — Canonical display byte order.replaced_atstring (date-time) required
Errors
301— Legacy internal-order txid; Location holds the canonical URL.400— Malformed input (bad hex, wrong-network address, bad vout).404— Unknown to the index and, for transactions, to the node mempool.409— Confirmed on the node but the index has not reached its block yet.
Example
curl y jq, en cualquier shell.
curl -s https://api.btcintel.io/v1/tx/71e4dae29ed1bc9fe008bba7f3542fd5961b780c220ca8778100a7cb8bd4c81b | jqGET /v1/tx/{txid}/status
Confirmation status
Parameters
| Name | In | Type | Description |
|---|---|---|---|
txid required | path | string | Canonical txid (64 hex, display byte order). |
Response 200
Confirmed (block hash/height, confirmations vs node tip) or mempool.
schema
confirmedbooleanblock_heightintegerblock_hashstring — Canonical display byte order.confirmationsinteger
Errors
404— Unknown to the index and, for transactions, to the node mempool.
Example
curl y jq, en cualquier shell.
curl -s https://api.btcintel.io/v1/tx/71e4dae29ed1bc9fe008bba7f3542fd5961b780c220ca8778100a7cb8bd4c81b/status | jq '{confirmed, block_height, block_hash}'GET /v1/tx/{txid}/outspends
Spend status of every output
Parameters
| Name | In | Type | Description |
|---|---|---|---|
txid required | path | string | Canonical txid (64 hex, display byte order). |
Response 200
One entry per vout, in order.
schema
spentboolean requiredtxidstring — Canonical display byte order.vinintegerstatusobjectconfirmedbooleanblock_heightinteger
Errors
404— Unknown to the index and, for transactions, to the node mempool.
Example
curl y jq, en cualquier shell.
curl -s https://api.btcintel.io/v1/tx/71e4dae29ed1bc9fe008bba7f3542fd5961b780c220ca8778100a7cb8bd4c81b/outspends | jqGET /v1/tx/{txid}/outspend/{vout}
Spend status of one output
Parameters
| Name | In | Type | Description |
|---|---|---|---|
txid required | path | string | Canonical txid (64 hex, display byte order). |
vout required | path | integer · ≥ 0 | — |
Response 200
Spend status.
schema
spentboolean requiredtxidstring — Canonical display byte order.vinintegerstatusobjectconfirmedbooleanblock_heightinteger
Errors
404— Unknown to the index and, for transactions, to the node mempool.
Example
curl y jq, en cualquier shell.
curl -s https://api.btcintel.io/v1/tx/71e4dae29ed1bc9fe008bba7f3542fd5961b780c220ca8778100a7cb8bd4c81b/outspend/0 | jq '{spent, txid, vin}'