Skip to main content

Coinpath® for UTXO Networks

On Bitcoin, Litecoin, Dogecoin, Dash and Cardano the unit of value is the unspent transaction output (UTXO). A transaction consumes some UTXOs as inputs and creates new ones as outputs. There is no account balance to follow, so Coinpath® has to decide how much of each input ends up in each output.

Coinpath® uses a proportional input-output attribution formula. It splits every output among the inputs in proportion to each input's share of the total input amount.

Worked example​

Take this transaction:

Inputs:
Address A: 1 BTC
Address B: 2 BTC

Outputs:
Address C: 0.5 BTC
Address D: 2 BTC
Address B: 0.49 BTC

Address B appears on both sides, so its 0.49 BTC output is change returning to the sender. Coinpath® attributes the outputs as:

  • Address C: 0.5 BTC
  • Address D: 1.51 BTC (2 BTC minus the 0.49 BTC change)
  • Address B: 0.49 BTC (change)

The change output is treated as a separate output in UTXO mode. In account-based mode it is ignored.

What this means in MoneyFlow Lite​

  • A Bitcoin transaction with many inputs and outputs produces several edges from one transaction hash. The transactions table lists the same hash once per sender-receiver pair.
  • The Tracing Amount of an edge is the proportional share that came from the origin. It is often much smaller than the Txn Amount, especially after an exchange sweep.
  • The tracing method shown in the MoneyFlow summary for Bitcoin is First-in, First-out, applied on top of the proportional split when funds pass through an address across several transactions.
Build with Bitquery

Ready to run this in production?

Get an API key and run these queries in minutes, or talk to us about plans and enterprise delivery.