2

I'm moving my bitcoins to Armory because its deterministic wallets are SO much better for keeping good backups. But bitcoin core didn't make it easy for me to sent all my money - if I specified all of it, it complained that my transaction + the 0.0001 fee I specified was more than my balance (makes sense). But when I specified my balance minus 0.0001, it complained that my transaction + the fee of 0.0002 (which was twice what I specified) was more than my balance. Wtf right?

So I played around with it til I sent all but a few cents of my balance. So I have 0.000047 BTC left, which isn't a big deal, but it feels wrong to just leave it there to rot. How can i recover those micro bitcoins without losing the whole transaction to a fee?

3

Re: Bitcoin-QT Core

  1. Your balance showing in BTC may not be the actual amount; is the Blockchain fully synchronised?
  2. Your BTC may be spread over several private keys ie addresses in your dat wallet
  3. The floating point value may be being rounded to an integer (ie 0.000297 may show up as 0.0003)

I'd go about it like this:

  1. Open options under BitcoinQT settings;
  2. tick "display addresses in txn list" &
  3. "display coin control features"
  4. Wait for Blockchain to synchronise
  5. Open 'Send' tab
    • tick Coin Control Features; inputs
    • choose the input addresses with BTC in them
  6. Fill out Sender address, etc
  7. Right click the total BTC being sent; choose copy amount to send after txn fee
  8. Paste this figure (BTC being sent minus txn fee) into the Amount box at the bottom
  9. Send to your new address; leave Bitcoin-QT open so it can relay the txn
  • So +1 because even tho I looked through the options, i never found all that nice coin control stuff. However, my main problem is that the amount I have in the wallet is .000047 BTC, and the fee it wants to charge is .0001 – B T Sep 19 '14 at 18:32
  • Above instructions for Win7 x64 Bitcoin Core 0.9.x and 0.8.x. As for needing to send <฿0.0001 ie less than the *standard ฿0.0001 tx fee, you can either 1) import the private key of the address to the other app or 2) send without a tx fee or even a ฿0.00001 fee; the caveat being the tx may not be included in a block without the standard fee – Wizard Of Ozzie Sep 19 '14 at 21:50
  • How do send without a tx fee? That's essentially my question. – B T Sep 19 '14 at 21:55
  • I thought the settxfee command would work but apparently not - bitcointalk.org/index.php?topic=157891.40 - it can only set an additional fee on top of the 0.0001 minimum. Someone may be able to chime in with a fix for Bitcoin core to send the ฿0.00007 but for the $0.04 value it's not going to be worth it. Either hang on to the BTC or get a Blockchain.info wallet and import the private key? – Wizard Of Ozzie Sep 19 '14 at 22:06
  • So Blockchain.info can transfer small amounts without fees? – B T Sep 19 '14 at 23:31
3

Ok, I've successfully transferred my .000047 BTC to my other wallet using the Bitcoin Core client. Aussie's information was pretty much critical to me figuring out how to do it. Basically, I sent myself a significant amount of bitcoins, waited a couple days, then transferred everything back to my other wallet.

Because it requires the use of sending bitcoins there first, and transferring those bitcoins to another wallet, it will only work if you're sending bitcoins to yourself. But you could use this technique to basically aggregate bitcoins into one transaction, which can then be used to send small amounts of bitcoins to someone else. Here's the method:

  1. Decide how in-a-rush you are - how many days you want to wait to be able to transfer the money.
  2. Calculate how many bitcoins it would take to make your transaction reach a priority above 57,600,000 in that amount of time
  3. Send that many bitcoins to the wallet with a very small amount of BTC
  4. Wait the number of days you decided in step 1
  5. Send the bitcoins where ever you want with no fee!

Calculating Priority

The bitcoin wiki page on Transaction Fees describes how to calculate the priority of a transaction. Here's my embellishment to that:

  • priority = sum(inputValue_t * inputAge_t)/sizeInBytes
  • inputValue_t = numberOfBitcoins_t*100'000'000
  • sizeInBytes = 78+148*numberOfTransactions

where

  • sum is the sum over all the transaction inputs.
  • _t indicates the value is for a particular transaction in the sum
  • inputValue_t is the amount of bitcoin in base units in a given transaction to one of your wallets
  • inputAge_t is the number of confirmations that transaction input has undergone
  • numberOfBitcoins_t is the raw number of bitcoins of a transaction input (this can be seen if you enable Coin Control Features and click on the "Inputs" button in the Send view of Bitcoin Core)
  • sizeInBytes is the number of bytes the whole new outgoing transaction takes up.
  • numberOfTransactions is the number of transactions in the sum

So that priority that you calculate must be greater than 57.6 million in order to send without a fee. So if you have a small number of bitcoins stuck somewhere, you need to add a new larger transaction that can pull them out essentially.

Calcuating how many new bitcoins you need

Here's a simplified equation solved for that new larger transaction's amount of bitcoins:

  • newTransaction = (.576 * (78 + 148*numberOfTransactions) - sum(inputBitcoins_t * inputAge_t)) / (144 * days)

where

  • numberOfTransactions is the number of old transactions you have plus 1 (the new transaction you'll need)
  • inputBitcoins_t is the number of bitcoins (not "base units" - just the raw number of bitcoins)
  • inputAge_t is the number of confirmations of each old transaction
  • days is the number of days you're willing to wait

There's a confirmation about once every 10 minutes, which adds up to 144 confirmations per day. and .576 comes from 57.6 million divided by the ratio of base units to raw bitcoins (100 million)

Example

Lets say you have the following two inputs

  • .00004 bitcions with 400 confirmations
  • .00001 bitcoins with 95000 confirmations

The priority is slightly less than 2500000 ~= (.00004*400+.0001*95000)*100*1000*1000/(78+148*2)

The number of new bitcoins you would need to send the transaction in 2 days is slightly less than 1.011 bitcoins ~= (.576*(78+148*3) - (.00004*400+.0001*95000))/(144*2)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.