<p>I'm not completely sure how the implementation for Blockchain.info works as I have not tried it myself, but from my understanding what you want is to use a single private key with a corresponding public key that allows you to generate new addresses for every payment you receive, without the need to store more than one private key.</p>

<p>This can be achieved using HD wallets which was introduced with <strong>BIP32</strong> that the link you have included refers to. </p>

<p>In simple words this features allows you to take a private key and apply a mathematical function to the private key to generate a new private key (with a corresponding public key and address). This allows you to use the first private key to spend all transactions received to address of the public key of the newly generated private key. </p>

<p>This function can also be applied to extended public keys, and therefore generate a new public key that can be spent using the private key of the public key that the newly generated public key was generated from. This means that you never have to expose the private key to generate new addresses, that it can be used to spend received transactions for.</p>

<p>This might be what Blockchain.info does, which in reality means that they do not forward the payment from the newly generated address. This means that you can receive payments to multiple addresses, without needing to spend fees to use one single private key to spend them. </p>

<p>You can read more about this under the section HD Wallets in chapter 4 in Mastering Bitcoin by Andreas Antonopoulos, or under the section HD Wallet (BIP 32)  in the book Programming The Blockchain in C#, which are both open source and can be found free online. </p>

CC BY-SA 3.0
2016-12-28T12:07:51.383Z
2016-12-28T12:21:57.807Z
2016-12-28T12:21:57.807Z
user44404
<ol>
<li><p>The fee for each transaction can be calculated using estimatefee API call. And yes, blockchain.info have to incorporate fee in every transaction, 0.0001 BTC being the minimum. One of the reasons attributed for the necessary fee deduction is the quick inclusion of the transaction in the next few blocks.
You can try creating a transaction with the outputs spending all of the inputs and not paying any tx fees. The client will throw an error stating insufficient priority.</p></li>
<li><p>Yes you can, but then are conditions apply. You can check out <a href="https://en.bitcoin.it/wiki/Transaction_fees" rel="nofollow noreferrer">this</a> link to clear things a bit more.</p></li>
</ol>

CC BY-SA 3.0
2016-12-28T11:16:52.820Z
2016-12-28T11:16:52.820Z
Shabahat M. Ayubi
<p>1) I suppose they don't have to pay it, since they receive lot of bitcoins, so it's up to them what bitcoins to choose. Fee depends on transaction amount and time since including an amount in block, so thay can have much old money.<br>
2) Yes. You can wait some time in order to send it without fee (days or weeks), send raw transactions or use modified client from Shadow Of Harbinger</p>

CC BY-SA 3.0
2015-09-04T20:20:58.173Z
What is the point of the modified client? The github shows no details, except that it is not the latest version and therefor may have issues.
Drazisil
CC BY-SA 3.0
2013-08-19T16:00:41.063Z
2013-08-19T16:00:41.063Z
ripazha
<p>Use Coinbase's "pay with bitcoin" button or iframe. It also generates a new address for each payment but its free and very very simple.</p>

CC BY-SA 3.0
2014-09-09T11:23:48.423Z
I think this conflicts "we want to use our own wallet" part
Mikko Ohtamaa
CC BY-SA 3.0
2014-08-10T10:16:42.903Z
2014-08-10T10:16:42.903Z
Egidi
<p>We have been using the payment service provided by blockchain.info <a href="https://blockchain.info/api/api_receive" rel="nofollow">https://blockchain.info/api/api_receive</a></p>

<p>It allows us to generate a unique address for each payment and forward Bitcoins received by these addresses to a forwarding address. From what I understand, bc.info pays the transaction fee for the forwarding transaction for us.</p>

<p>We want to use our own wallet. I have two questions:</p>

<p>1) How does bc.info handle this cost? Am I missing something? Are they really paying 0.0001 BTc for each payment their clients receive?</p>

<p>2) Is there a way to forward payments without paying fees?</p>

CC BY-SA 3.0
2013-09-14T05:12:19.500Z
If the 0.0001 BTC fee is significant for you, chances are you are looking at Bitcoin for micropayments.   Bitcoin wasn't designed for micropayments, and attempting to use it for micropayments will bring angst in the future when even a fee paid incurs significant delays.
Stephen Gornick
CC BY-SA 3.0
2015-08-06T00:35:00.173Z
WRT 1: The transaction fee comes out of the coins that they forward.
Nick ODell
<transaction-fees><blockchain.info><payment>
How does the Bitcoin payment forwarding at Blockchain.info work?
Emre K.
# How does the Bitcoin payment forwarding at Blockchain.info work?

(Asked by: username_0 on 2013-08-19)

We have been using the payment service provided by blockchain.info <https://blockchain.info/api/api_receive>

It allows us to generate a unique address for each payment and forward Bitcoins received by these addresses to a forwarding address. From what I understand, bc.info pays the transaction fee for the forwarding transaction for us.

We want to use our own wallet. I have two questions:

1) How does bc.info handle this cost? Am I missing something? Are they really paying 0.0001 BTc for each payment their clients receive?

2) Is there a way to forward payments without paying fees?

**Tags:** transaction-fees, blockchain.info, payment

> **Comments:**
> **username_1**: If the 0.0001 BTC fee is significant for you, chances are you are looking at Bitcoin for micropayments.   Bitcoin wasn't designed for micropayments, and attempting to use it for micropayments will bring angst in the future when even a fee paid incurs significant delays.  
> **username_2**: WRT 1: The transaction fee comes out of the coins that they forward.  

---

## 4 answers

### Answer by username_3 on 2016-12-28. Score: 1

I'm not completely sure how the implementation for Blockchain.info works as I have not tried it myself, but from my understanding what you want is to use a single private key with a corresponding public key that allows you to generate new addresses for every payment you receive, without the need to store more than one private key.

This can be achieved using HD wallets which was introduced with **BIP32** that the link you have included refers to.

In simple words this features allows you to take a private key and apply a mathematical function to the private key to generate a new private key (with a corresponding public key and address). This allows you to use the first private key to spend all transactions received to address of the public key of the newly generated private key.

This function can also be applied to extended public keys, and therefore generate a new public key that can be spent using the private key of the public key that the newly generated public key was generated from. This means that you never have to expose the private key to generate new addresses, that it can be used to spend received transactions for.

This might be what Blockchain.info does, which in reality means that they do not forward the payment from the newly generated address. This means that you can receive payments to multiple addresses, without needing to spend fees to use one single private key to spend them.

You can read more about this under the section HD Wallets in chapter 4 in Mastering Bitcoin by Andreas Antonopoulos, or under the section HD Wallet (BIP 32) in the book Programming The Blockchain in C#, which are both open source and can be found free online.


---

### Answer by username_4 on 2016-12-28. Score: 1

1. The fee for each transaction can be calculated using estimatefee API call. And yes, blockchain.info have to incorporate fee in every transaction, 0.0001 BTC being the minimum. One of the reasons attributed for the necessary fee deduction is the quick inclusion of the transaction in the next few blocks.
   You can try creating a transaction with the outputs spending all of the inputs and not paying any tx fees. The client will throw an error stating insufficient priority.
2. Yes you can, but then are conditions apply. You can check out [this](https://en.bitcoin.it/wiki/Transaction_fees) link to clear things a bit more.


---

### Answer by username_5 on 2013-08-19. Score: 0

1) I suppose they don't have to pay it, since they receive lot of bitcoins, so it's up to them what bitcoins to choose. Fee depends on transaction amount and time since including an amount in block, so thay can have much old money.  
2) Yes. You can wait some time in order to send it without fee (days or weeks), send raw transactions or use modified client from Shadow Of Harbinger

> **Comments:**
> **username_6**: What is the point of the modified client? The github shows no details, except that it is not the latest version and therefor may have issues.  

---

### Answer by username_7 on 2014-08-10. Score: -1

Use Coinbase's "pay with bitcoin" button or iframe. It also generates a new address for each payment but its free and very very simple.

> **Comments:**
> **username_8**: I think this conflicts "we want to use our own wallet" part  

---

