<blockquote>
<p>Can I find (always, without fault) the specific set of blocks from which the Bitcoins that I hold originated?</p>
</blockquote>
<p>Short answer: No.</p>
<hr />
<p>Yes in the completely trivial sense that your Bitcoins were created in the transaction in which they appeared as outputs. But this isn't the sort of origin you had in mind.</p>
<p>But no in any real sense because a Bitcoin is  an unspent transaction output (UTXO). A UTXO has no continuity through transactions and so neither does a Bitcoin. You cannot meaningfully or reliably trace a Bitcoin back through multiple transactions to one or more specific mining rewards.</p>
<p>This is mainly because the public journal of transactions we call the blockchain does not associate transaction outputs with specific transaction inputs. Often you can make an inference if there are few inputs but certainly not &quot;always, without fault&quot;.</p>
<p>If a transaction takes three of Alice's coins worth 3, 1.5 and 3.5 and pays Bob 4 and Carol 4 there is no way for Eve or Judy to say where Bob's 4 came from.</p>

CC BY-SA 4.0
2022-01-11T10:31:40.777Z
2022-01-11T12:44:29.817Z
2022-01-11T12:44:29.817Z
RedGrittyBrick
<p>Yes, you can, every transaction in the bitcoin network is registered in a public ledger called blockchain. You can query this ledger via HTTP interface like <a href="https://blockchain.info/api/blockchain_api" rel="nofollow noreferrer">https://blockchain.info/api/blockchain_api</a></p>
<p>I don't think will be costly but it depends on how many hands your bitcoin passed. When you find a transaction without a sender, you have to stop, these are mined (generated) blocks</p>
<p>UPDATE 2022:</p>
<p>HTTP API has 2 major problems:</p>
<ul>
<li>Trust, you are trusting the service to provide you the right data.</li>
<li>Performance, network calls are expensive.</li>
</ul>
<p>It is better to query your local copy of the blockchain, using Bitcoin Core with tx index allows you to query the previous outputs of transactions until you find the generating blocks. Note I used plural for blocks because transactions could have multiple inputs, possibly generated by different blocks.</p>

CC BY-SA 4.0
2014-04-13T10:19:28.067Z
2022-01-11T09:00:45.057Z
2022-01-11T09:00:45.057Z
Riccardo Casatta
<p>Yes you can do this but I wonder what to do with the outcome. If you receive 1 BTC today you can assume that the path back ends up often in ten thousands of mined bitcoin addresses. Assume the transaction used 3 input addresses and each of the 3 had 3 inputs one step back in history. Then this exponentially grows.
This is similar like going back in your personal origin. You have 2 parents, 4 grandparents, 8 grand-grandparents, 16 grand-grand-grandparents ... . After 10 steps back you're above 1000 and after 20 steps above 1 million. There is of course double counting however the total number gets quickly high.
I think it's not too computationally costly if you do it only for one address. If you do it for all 600+ million you need a powerful machine or a lot of time.</p>

CC BY-SA 4.0
2020-12-05T17:13:38.340Z
2020-12-05T17:13:38.340Z
tempo
<p>Can I find (always, without fault) the specific set of blocks from which the Bitcoins that I hold originated?</p>

<p>If yes, would such a trace-back be computationally costly?</p>

CC BY-SA 3.0
2014-04-13T18:54:27.070Z
It's not really clear what that means. For example, say a transaction pulls in the 25 Bitcoins mined in two different blocks and, among other outputs, pays out 1 Bitcoin. What does it mean to ask which of those two original blocks is the one that Bitcoin "originated" in?
David Schwartz
<blockchain>
Tracing Bitcoins to their original blocks
Arne Wolframm
# Tracing Bitcoins to their original blocks

(Asked by: username_0 on 2014-04-13)

Can I find (always, without fault) the specific set of blocks from which the Bitcoins that I hold originated?

If yes, would such a trace-back be computationally costly?

**Tags:** blockchain

> **Comments:**
> **username_1**: It's not really clear what that means. For example, say a transaction pulls in the 25 Bitcoins mined in two different blocks and, among other outputs, pays out 1 Bitcoin. What does it mean to ask which of those two original blocks is the one that Bitcoin "originated" in?  

---

## 3 answers

### Answer by username_2 on 2022-01-11. Score: 1

> Can I find (always, without fault) the specific set of blocks from which the Bitcoins that I hold originated?

Short answer: No.

---

Yes in the completely trivial sense that your Bitcoins were created in the transaction in which they appeared as outputs. But this isn't the sort of origin you had in mind.

But no in any real sense because a Bitcoin is an unspent transaction output (UTXO). A UTXO has no continuity through transactions and so neither does a Bitcoin. You cannot meaningfully or reliably trace a Bitcoin back through multiple transactions to one or more specific mining rewards.

This is mainly because the public journal of transactions we call the blockchain does not associate transaction outputs with specific transaction inputs. Often you can make an inference if there are few inputs but certainly not "always, without fault".

If a transaction takes three of Alice's coins worth 3, 1.5 and 3.5 and pays Bob 4 and Carol 4 there is no way for Eve or Judy to say where Bob's 4 came from.


---

### Answer by username_3 on 2014-04-13. Score: 1

Yes, you can, every transaction in the bitcoin network is registered in a public ledger called blockchain. You can query this ledger via HTTP interface like <https://blockchain.info/api/blockchain_api>

I don't think will be costly but it depends on how many hands your bitcoin passed. When you find a transaction without a sender, you have to stop, these are mined (generated) blocks

UPDATE 2022:

HTTP API has 2 major problems:

* Trust, you are trusting the service to provide you the right data.
* Performance, network calls are expensive.

It is better to query your local copy of the blockchain, using Bitcoin Core with tx index allows you to query the previous outputs of transactions until you find the generating blocks. Note I used plural for blocks because transactions could have multiple inputs, possibly generated by different blocks.


---

### Answer by username_4 on 2020-12-05. Score: 1

Yes you can do this but I wonder what to do with the outcome. If you receive 1 BTC today you can assume that the path back ends up often in ten thousands of mined bitcoin addresses. Assume the transaction used 3 input addresses and each of the 3 had 3 inputs one step back in history. Then this exponentially grows.
This is similar like going back in your personal origin. You have 2 parents, 4 grandparents, 8 grand-grandparents, 16 grand-grand-grandparents ... . After 10 steps back you're above 1000 and after 20 steps above 1 million. There is of course double counting however the total number gets quickly high.
I think it's not too computationally costly if you do it only for one address. If you do it for all 600+ million you need a powerful machine or a lot of time.


---

