<p>This thought suddenly hits me. Assigning a distinct <strong>account</strong> to every single customer <em>automatically mitigate</em> my problem:</p>

<p>With <strong>accounts</strong> in place, if a customer tries to withdraw (by calling <strong>sendfrom</strong>) more coins than the balance in his/her account <em>plus any amount of transaction fee</em>, that withdrawal attempt simply fails.</p>

<p>Such transaction failures are annoying to customers though. This is also annoying as customers are very unlikely to be able to close their accounts by withdrawing <em>all</em> their coins they own since they can not predict the exact transaction fees that will occur to their <em>final</em> withdrawal.</p>

CC BY-SA 3.0
2014-06-08T14:53:07.113Z
2014-06-08T15:33:51.767Z
2014-06-08T15:33:51.767Z
Nakamichi
<p>I want my customers to pay transaction fees. The only helpful but incomplete answer I have found so far is from <a href="http://sourceforge.net/p/bitcoin/mailman/message/31855446" rel="nofollow">here</a>:</p>

<blockquote>
  <p><strong>You can create a transaction which spends the output to yourself, attaching a fee to that transaction. In order for miners to grab the transaction fee on that transaction, they would have to also mine the original transaction.</strong></p>
</blockquote>

<p>I have some experience of calling <strong>bitcoind</strong> methods using JSON. With these assumptions:</p>

<pre><code>my account: "my"
receiver's address: "123..zyz"
coins to be sent: 0.001
transaction fee: (unpredictable)
</code></pre>

<p>my customer will receive 0.0008 coins if the transaction fee is 0.0002 in this case.</p>

<p>Am I supposed to first call method <strong>sendfrom</strong> like below?</p>

<p><strong>sendfrom("my","123..zyz",0.001)</strong></p>

<p>Then how do I determine the transaction fee? How do I charge the transaction fee to the receiver?
Would kind soul please provide me the detail answer with complete list of calls to <a href="https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list" rel="nofollow">Original Bitcoin client/API calls</a>?</p>

CC BY-SA 3.0
2014-06-08T10:13:26.143Z
In a standard Bitcoin transaction your customer DO pay the transaction fee. Also you do not need to send a transaction fee - it can be free. What is the issue here?
T9b
CC BY-SA 3.0
2014-06-08T15:15:18.313Z
I have been in the impression that it is senders rather than receivers who pay transaction fees. I have difficulty in acquiring the more or less official documentation depicting the opposite.
Nakamichi
CC BY-SA 3.0
2014-06-09T00:13:49.593Z
Nakamichi, you are correct that the sender does pay the fee. I think your question is a bit confusing though, I get the impression that you are sending your customers coins. Is this correct? If so why can't you just deduct the transaction costs from the coins you're sending them, and send your customer a note explaining why the amount sent is lower than expected? You can determine the fee by: https://en.bitcoin.it/wiki/Transaction_fees
Matt
CC BY-SA 3.0
2014-06-09T00:56:53.103Z
@matt
Yes, I am sending my customers coins. My question is confusing as English is not my native language. The official transaction fee deduction rule is too complicated for me. I opt for using **accounts** to *automate* the coins withdrawal limitations at the cost of inconvenience on customers for this moment.
Nakamichi
<transactions>
Let receivers pay transaction fees
Nakamichi
# Let receivers pay transaction fees

(Asked by: username_0 on 2014-06-07)

I want my customers to pay transaction fees. The only helpful but incomplete answer I have found so far is from [here](http://sourceforge.net/p/bitcoin/mailman/message/31855446):

> **You can create a transaction which spends the output to yourself, attaching a fee to that transaction. In order for miners to grab the transaction fee on that transaction, they would have to also mine the original transaction.**

I have some experience of calling **bitcoind** methods using JSON. With these assumptions:

```
my account: "my"
receiver's address: "123..zyz"
coins to be sent: 0.001
transaction fee: (unpredictable)

```

my customer will receive 0.0008 coins if the transaction fee is 0.0002 in this case.

Am I supposed to first call method **sendfrom** like below?

**sendfrom("my","123..zyz",0.001)**

Then how do I determine the transaction fee? How do I charge the transaction fee to the receiver?
Would kind soul please provide me the detail answer with complete list of calls to [Original Bitcoin client/API calls](https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list)?

**Tags:** transactions

> **Comments:**
> **username_1**: In a standard Bitcoin transaction your customer DO pay the transaction fee. Also you do not need to send a transaction fee - it can be free. What is the issue here?  
> **username_0**: I have been in the impression that it is senders rather than receivers who pay transaction fees. I have difficulty in acquiring the more or less official documentation depicting the opposite.  
> **username_2**: username_0, you are correct that the sender does pay the fee. I think your question is a bit confusing though, I get the impression that you are sending your customers coins. Is this correct? If so why can't you just deduct the transaction costs from the coins you're sending them, and send your customer a note explaining why the amount sent is lower than expected? You can determine the fee by: https://en.bitcoin.it/wiki/Transaction_fees  
> **username_0**: @username_2 Yes, I am sending my customers coins. My question is confusing as English is not my native language. The official transaction fee deduction rule is too complicated for me. I opt for using **accounts** to *automate* the coins withdrawal limitations at the cost of inconvenience on customers for this moment.  

---

## 1 answers

### Answer by username_0 on 2014-06-08. Score: 0

This thought suddenly hits me. Assigning a distinct **account** to every single customer *automatically mitigate* my problem:

With **accounts** in place, if a customer tries to withdraw (by calling **sendfrom**) more coins than the balance in his/her account *plus any amount of transaction fee*, that withdrawal attempt simply fails.

Such transaction failures are annoying to customers though. This is also annoying as customers are very unlikely to be able to close their accounts by withdrawing *all* their coins they own since they can not predict the exact transaction fees that will occur to their *final* withdrawal.


---

