<blockquote>
  <p><strong>Extract sender ID and recipient ID of a bitcoin transaction</strong></p>
</blockquote>

<p>Transaction data in the blockchain does not include any ID for a "sender" or "recipient".</p>

<p>Transaction data includes scripts used to spend cryptocurrency amounts listed in the transaction data. The most common of these scripts specify what is commonly called an "address" but that is derived from a public key and is nowadays usually unique to a transaction. It is designed to be difficult or impossible to identify a sender or recipient from these "addresses".</p>

<blockquote>
  <p><strong>sites where you enter ID of the wallet</strong></p>
</blockquote>

<p>There are no sites (in general) that do that because cryptocurrency wallets don't have wallet-IDs. Certainly none that are part of transaction data in the blockchain.</p>

<p>The only really significant data in a wallet is the private-keys it contains. Recovery-phrases or seed-phrases may be used to re-create these private keys. A wallet's data may be protected by being encrypted on disk using a password or pass-phrase. None of these constitute a wallet-ID.</p>

<p>Blockchain explorer websites generally allow you to examine blockchain data associated with one of</p>

<ul>
<li>address</li>
<li>transaction-ID</li>
<li>block number (height)</li>
<li>block hash</li>
</ul>

<p>None of those really constitute a sender-ID a recipient-ID or a wallet-ID.</p>

<hr>

<h2>Decoding Transaction Data</h2>

<p>A good explanation of the structure of a Bitcoin transaction in a blockchain block can be found at <a href="https://en.bitcoin.it/wiki/Transaction" rel="nofollow noreferrer">https://en.bitcoin.it/wiki/Transaction</a></p>

<p>This gets more complex as time goes on and new features are added (SegWit, Bech32, ...) or when you need to fully decode lesser-used types of transactions (n of m multisig?).</p>

<p>Search for <a href="https://www.google.com/search?q=code+to+parse+a+bitcoin+transaction" rel="nofollow noreferrer">Code to parse a Bitcoin transaction</a></p>

<hr>

<h2>A few unintuitive aspects of Bitcoin and similar cryptocurrencies:</h2>

<ul>
<li>Wallets don't contain bitcoins.</li>
<li>The blockchain does not <em>contain</em> bitcoins.</li>
<li>Bitcoins are not really sent or transmitted through the Internet.</li>
<li>Bitcoins don't really exist anywhere - they are more a unit of measure.</li>
<li>The blockchain is not really a ledger (it is a journal).</li>
<li>Bitcoin addresses don't label places or people or wallets.</li>
<li>Bitcoin addresses are not used to deliver transactions or bitcoins somewhere.</li>
<li>Bitcoin transactions don't have to include any addresses.</li>
</ul>

CC BY-SA 4.0
2019-01-11T11:24:35.047Z
Hello @RedGrittyBrick, Thanks for the help in understanding, and I'm sorry if my questions are stupid.

So what I observe in this blockchain query are not id identifying the sender (maybe I misunderstand on the ID wallet), I would need the information of a transaction from whoever starts, just like in this link here. [link](https://www.blockchain.com/it/btc/tx/1afb65ce02ab0986eadbef8b27d2cf44f4a2d024c6ea7e55e9dd3a4ac850be1a).
vincenzopalazzo
CC BY-SA 4.0
2019-01-11T11:38:42.810Z
@vincenzopalazzo: Your question isn't stupid (though my answer may be not as helpful as I intended). I've added a link to my answer which I hope you (and others) will find useful.
RedGrittyBrick
CC BY-SA 4.0
2019-01-11T11:42:53.517Z
thanks for your help, I'll take a look at the link and I'll let you know.
vincenzopalazzo
CC BY-SA 4.0
2019-01-11T10:51:44.210Z
2019-01-11T11:48:21.993Z
2019-01-11T11:48:21.993Z
RedGrittyBrick
<p>I'm new to this world and I'm trying to learn the blockchain world and especially now I've concentrated du bitcoin-core, I would like to parser and get the various information like the various sites where you enter ID of the wallet and you get all its information including transactions.</p>

<p>In particular I am interested in getting information on the type transactions, Id wallet sender and Id wallet recipient.</p>

<p>I do not ask any ready solution but only a hand to understand where to start and where to document.</p>

<p>I saw that on the net there are various blockchain parsers but at least the ones I met did not allow me to obtain the information I'm trying to figure out how to get them.</p>

<p>Thank you and above all excuse me if I asked stupid questions but I'm learning</p>

CC BY-SA 4.0
2019-01-11T00:56:31.960Z
Hell, welcome to Bitcoin.SE! I've linked a question above that has a lot of good basic info, I think it would be helpful to your understanding to read through some of it. As for your more specific Q: there is no information about sender/recipient **wallets** stored in the blockchain record, but **Addresses** can be viewed using a block explorer service. A user's wallet is a collection of addresses, but for privacy reasons it is important to not let the whole world know what all of your wallet's addresses are!
chytrik
CC BY-SA 4.0
2019-01-11T09:57:15.583Z
Thanks, guy, well @chytrik so the only address that I can extrapolate of the transactions is that of the sender, packed inside the secp256k1 public key? the recipient could extrapolate it from the content wallet of the sender, I understand?
vincenzopalazzo
<transactions><bitcoin-core><blockchain><bitcoin-core-development>
Extract sender ID and recipient ID of a bitcoin transaction
vincenzopalazzo
# Extract sender ID and recipient ID of a bitcoin transaction

(Asked by: username_0 on 2019-01-10)

I'm new to this world and I'm trying to learn the blockchain world and especially now I've concentrated du bitcoin-core, I would like to parser and get the various information like the various sites where you enter ID of the wallet and you get all its information including transactions.

In particular I am interested in getting information on the type transactions, Id wallet sender and Id wallet recipient.

I do not ask any ready solution but only a hand to understand where to start and where to document.

I saw that on the net there are various blockchain parsers but at least the ones I met did not allow me to obtain the information I'm trying to figure out how to get them.

Thank you and above all excuse me if I asked stupid questions but I'm learning

**Tags:** transactions, bitcoin-core, blockchain, bitcoin-core-development

> **Comments:**
> **username_1**: Hell, welcome to Bitcoin.SE! I've linked a question above that has a lot of good basic info, I think it would be helpful to your understanding to read through some of it. As for your more specific Q: there is no information about sender/recipient **wallets** stored in the blockchain record, but **Addresses** can be viewed using a block explorer service. A user's wallet is a collection of addresses, but for privacy reasons it is important to not let the whole world know what all of your wallet's addresses are!  
> **username_0**: Thanks, guy, well @username_1 so the only address that I can extrapolate of the transactions is that of the sender, packed inside the secp256k1 public key? the recipient could extrapolate it from the content wallet of the sender, I understand?  

---

## 1 answers

### Answer by username_2 on 2019-01-11. Score: 3 | Accepted answer

> **Extract sender ID and recipient ID of a bitcoin transaction**

Transaction data in the blockchain does not include any ID for a "sender" or "recipient".

Transaction data includes scripts used to spend cryptocurrency amounts listed in the transaction data. The most common of these scripts specify what is commonly called an "address" but that is derived from a public key and is nowadays usually unique to a transaction. It is designed to be difficult or impossible to identify a sender or recipient from these "addresses".

> **sites where you enter ID of the wallet**

There are no sites (in general) that do that because cryptocurrency wallets don't have wallet-IDs. Certainly none that are part of transaction data in the blockchain.

The only really significant data in a wallet is the private-keys it contains. Recovery-phrases or seed-phrases may be used to re-create these private keys. A wallet's data may be protected by being encrypted on disk using a password or pass-phrase. None of these constitute a wallet-ID.

Blockchain explorer websites generally allow you to examine blockchain data associated with one of

* address
* transaction-ID
* block number (height)
* block hash

None of those really constitute a sender-ID a recipient-ID or a wallet-ID.

---

## Decoding Transaction Data

A good explanation of the structure of a Bitcoin transaction in a blockchain block can be found at <https://en.bitcoin.it/wiki/Transaction>

This gets more complex as time goes on and new features are added (SegWit, Bech32, ...) or when you need to fully decode lesser-used types of transactions (n of m multisig?).

Search for [Code to parse a Bitcoin transaction](https://www.google.com/search?q=code+to+parse+a+bitcoin+transaction)

---

## A few unintuitive aspects of Bitcoin and similar cryptocurrencies:

* Wallets don't contain bitcoins.
* The blockchain does not *contain* bitcoins.
* Bitcoins are not really sent or transmitted through the Internet.
* Bitcoins don't really exist anywhere - they are more a unit of measure.
* The blockchain is not really a ledger (it is a journal).
* Bitcoin addresses don't label places or people or wallets.
* Bitcoin addresses are not used to deliver transactions or bitcoins somewhere.
* Bitcoin transactions don't have to include any addresses.

> **Comments:**
> **username_0**: Hello @username_2, Thanks for the help in understanding, and I'm sorry if my questions are stupid.  So what I observe in this blockchain query are not id identifying the sender (maybe I misunderstand on the ID wallet), I would need the information of a transaction from whoever starts, just like in this link here. [link](https://www.blockchain.com/it/btc/tx/1afb65ce02ab0986eadbef8b27d2cf44f4a2d024c6ea7e55e9dd3a4ac850be1a).  
> **username_2**: @username_0: Your question isn't stupid (though my answer may be not as helpful as I intended). I've added a link to my answer which I hope you (and others) will find useful.  
> **username_0**: thanks for your help, I'll take a look at the link and I'll let you know.  

---

