user-1: Say I have 1 Bitcoin in my wallet. I need to pay my friend for something and it just so happens he will accept 1 Bitcoin as the payment. I send my friend my one and only Bitcoin because he is a good friend and the transaction gets confirmed.
All was fine until I went peeping under the hood. I'm running bitcoind so I ran the command listtransactions and looped over everything with an output of console.log(amount, fee). 
See the picture below: (send, fee)

In reality I sent 14.3438969 Bitcoins to another address which was the entire balance of the wallet. Where could the fee (-0.0002) have come from? Since I sent the remainder of my coins there are no more to take to pay that.
First let me state that I actually sent the coins to a different address in the same wallet and if that's complicating the issue then I'm just a big dummy but I still don't get it. AFAIK senders get charged the fee? Is this correct? So that 0.0002 would get applied to the senders account (me). But I sent all of my coins so there are none left? Does this mean I have negative coins or that next time I receive part of that will pay the fee.
If anyone could address this and explain conceptually how the fees in the cases I have brought up would work it would be very helpful. I cannot seem to find the docs and who pays the fee, at won't point it's assessed, etc..

user6388: I think it will be more helpful if we attack your second scenario first.
This is what I think happened:
Your wallet had an initial total of 14.3440969
You then sent all of your bitcoins from all of your addresses into one address, but...
The application you are using automatically deducted a transaction fee of 0.0002 before sending all of your coins to that address.
So, that new address ended up with 14.3438969 bitcoins (which is 14.3440969 - 0.0002).
At this point, I think you're wondering why you didn't get paid the transaction fee because the transaction was just from yourself to yourself, right? The transaction fee does not go to receiving party - it goes to "miners". Miners are the persons (and their computers) on the bitcoin network who contribute to adding the record of your transaction to a universal record of transactions known as "the block chain". There is some sort of work involved in doing so and the fee is the miners' incentive to do this work. There are a lot more technical details about how this works, but hopefully this is enough to clear up your confusion.
As for your first scenario, this could have worked in one of two ways:
1) The software you used automatically deducted the fee (say 0.0005 BTC) from the payout. In which case, your wallet would have lost 1.00 BTC and your friend would have actually gained 0.9995 BTC. In this case, the transactions would have gone through normally.
2) It's possible to send a transaction with no fee. The rules here imply that your transaction should have gone through to your friend without fees, though it may have been delayed.

user5406: First, you cannot have negative amounts of Bitcoin in your wallet. Just like with cash there can only be a positive amount.
You can, however, depending on what settings you are using, make transactions without attaching a fee.
Perhaps, when you tried to send all your money, the software automatically reduced the sent amount to the maximum you could send in order to still have enough for the fee. This would show up as the full amount leaving your wallet, but only the amount without fee being signed over to your friend.

-1: <p>Say I have 1 Bitcoin in my wallet. I need to pay my friend for something and it just so happens he will accept 1 Bitcoin as the payment. I send my friend my one and only Bitcoin because he is a good friend and the transaction gets confirmed.</p>

<p>All was fine until I went peeping under the hood. I'm running bitcoind so I ran the command listtransactions and looped over everything with an output of console.log(amount, fee). </p>

<p>See the picture below: (send, fee)</p>

<p><img src="https://i.stack.imgur.com/vubUk.png" alt="enter image description here"></p>

<p>In reality I sent 14.3438969 Bitcoins to another address which was the entire balance of the wallet. Where could the fee (-0.0002) have come from? Since I sent the remainder of my coins there are no more to take to pay that.</p>

<p>First let me state that I actually sent the coins to a different address in the same wallet and if that's complicating the issue then I'm just a big dummy but I still don't get it. AFAIK senders get charged the fee? Is this correct? So that 0.0002 would get applied to the senders account (me). But I sent all of my coins so there are none left? Does this mean I have negative coins or that next time I receive part of that will pay the fee.</p>

<p>If anyone could address this and explain conceptually how the fees in the cases I have brought up would work it would be very helpful. I cannot seem to find the docs and who pays the fee, at won't point it's assessed, etc..</p>
 6388: <p>I think it will be more helpful if we attack your second scenario first.
This is what I think happened:</p>

<p>Your wallet had an initial total of 14.3440969</p>

<p>You then sent all of your bitcoins from all of your addresses into one address, but...</p>

<p>The application you are using automatically deducted a transaction fee of 0.0002 before sending all of your coins to that address.</p>

<p>So, that new address ended up with 14.3438969 bitcoins (which is 14.3440969 - 0.0002).</p>

<p>At this point, I think you're wondering why you didn't get paid the transaction fee because the transaction was just from yourself to yourself, right? The transaction fee does not go to receiving party - it goes to "<strong>miners</strong>". Miners are the persons (and their computers) on the bitcoin network who contribute to adding the record of your transaction to a <em>universal record of transactions</em> known as "<strong>the block chain</strong>". There is some sort of work involved in doing so and the fee is the miners' incentive to do this work. There are a lot more technical details about how this works, but hopefully this is enough to clear up your confusion.</p>

<p>As for your first scenario, this could have worked in one of two ways:</p>

<p>1) The software you used automatically deducted the fee (say 0.0005 BTC) from the payout. In which case, your wallet would have lost 1.00 BTC and your friend would have actually gained 0.9995 BTC. In this case, the transactions would have gone through normally.</p>

<p>2) It's possible to send a transaction with no fee. The rules <a href="https://en.bitcoin.it/wiki/Transaction_fees#Sending" rel="nofollow">here</a> imply that your transaction should have gone through to your friend without fees, though it may have been delayed.</p>
 5406: <p>First, you cannot have negative amounts of Bitcoin in your wallet. Just like with cash there can only be a positive amount.
You can, however, depending on what settings you are using, make transactions without attaching a fee.</p>

<p>Perhaps, when you tried to send all your money, the software automatically reduced the sent amount to the maximum you could send in order to still have enough for the fee. This would show up as the full amount leaving your wallet, but only the amount without fee being signed over to your friend.</p>
