What Was My Mt.Gox Balance Again?

As you might remember, Mt.Gox, one of the first Bitcoin trading platforms, was hacked in February 2014 (or before that), and subsequently closed down, with the users’ funds lost. A long process started where users could apply to reclaim their funds, but nothing came of it so far. Now on June 22, Mt.Gox sent out another email to its former users, and actually I’m not entirely sure what it says, but it seems like a new system will be set up for filing claims.

But I was wondering, because I forgot – how much BTC did I have on Mt.Gox anyway? How can I find out my former Mt.Gox balance?

So, it turns out there was a leak of Mt.Gox data in 2014, and you can download the whole thing from archive.org here. The zip file contains a dump of all account balances and a BTC transfer log with all transactions since 2011. The transfer log and account balance dump do not contain user’s names or email addresses – they only contain user and transaction IDs.

Bitcoin transfer log from Mt.Gox leak

I found a transaction reference in one of my old emails from Mt.Gox. With this transaction reference, I was able to look up my wallet ID and so I found my balance in the other file.

Account balances from Mt.Gox leak

The balances in the dump are shown in Satoshis, i.e. you have to multiply by 0.00000001 in order to get the amount in BTC. Note that the topmost entry in the dump had a balance of 44547.67562508 BTC, which is worth about 285 million Euro or 331 million US Dollars at the time of writing.

I’m not going to reveal my own balance here, I’ll just say that, while it is not a negligible amount at today’s prices, other people were much more unlucky than me 🙂

Update: there is this post on reddit which sums up what’s going on with Mt.Gox claims refiling right now.

Update 2: the new claims system is online, read about it in my new post: Mt.Gox Claim Filing System Online

How to claim and sell your Bitcoin Cash

On Tuesday August 1st, Bitcoin Cash forked from Bitcoin, and every Bitcoin holder is eager to claim their free BCH. So here is the short and painless way to do it.

In short, what we’re going to do is:

  1. Secure your Bitcoin by transferring it away to a new (paper-) wallet
  2. Sweep your private keys in Electron Cash to a new BCH address
  3. Sell your BCH

Secure your Bitcoin

So, the first thing you want to do is to secure your existing Bitcoin – in case anything goes wrong while handling your private keys, your existing Bitcoin will be safe.

I did this by creating a paper wallet on bitaddress.org as described in my earlier article; then I transferred all my BTC to that wallet. Store it in a safe place.

Obtain your private keys

Next, you need your private keys in order to sweep them on the BCH chain. I run a bitcoind, the way to do this is to unlock your wallet and then dump it:

$  bitcoin-cli walletpassphrase "xxx" 60
$ bitcoin-cli dumpwallet wallet.txt

Note the extra space before the walletpassphrase command; this will tell your bash to not write the command to the command history, thereby keeping your passphrase a secret.

This will dump all your private keys in wallet.txt. You can reduce this to just the keys like this:

$ cut -f1 -d' ' <wallet.txt >keys.txt

Now you got your keys.

Sweep your private keys

Next, install Electron Cash. You are going to enter your private keys there, so be sure you got the right version.. apparently there were scams, that’s your own responsibility.

On startup, it prompts you to create a new wallet. Save the passphrases in a secure location. Once Electron Cash is up and running, go to Wallet -> Private Keys -> Sweep and paste all your private keys from your keys.txt file there.

Potentially you have many more keys. Press “sweep”. If you have many keys, this will now take some time, maybe one or two minutes, while the GUI appears to do nothing. Then, a transaction window pops up. Here, you click “broadcast” in order to broadcast your transaction. This will transfer all your BCH to your new Electron Cash wallet.

Now you have to wait until the transaction is confirmed.

Sell your BCH

You can now transfer and sell your BCH on any exchange that supports it. I use shapeshift.io.

Hope that was helpful.

Bitcoin Transaction Fees Done Right

It happens ever so often – someone tries to send Bitcoins and the transaction is just stuck with zero confirmations forever. The reason is that the transaction is never mined, because the transaction fee was set too low.

In this article, I am going to explain how you set your transaction fee right, and then I’m going to explain what you can do to get your stuck transaction going again, or how to cancel a transaction.

Why do transactions get stuck?

Each transaction has a certain size, depending on some factors, usually it is between about 200 and 1000 byte. When a miner creates a block, they incorporate transactions into the block and get rewarded the transaction fee. The transaction fee is set by the sender of the transaction (i.e. you).

Now, the block size of Bitcoin is limited to 1MB. And because Bitcoin is so popular and there are many transactions, every block is full. The miners will therefore only incorporate transactions with the highest transaction fees. If you set your fee too low, your transaction might stick around for hours, or days, or even weeks without being mined.

What is the right transaction fee?

So, how is the best transaction fee determined? There are websites which can calculate the fee for you. I like this one: https://bitcoinfees.21.co/ – have a look – it lists the predicted block- and time delay by transaction fee.

The transaction fee is usually shown in Satoshi per Byte. One Satoshi, the smallest unit in Bitcoin, equals 0.00000001 BTC. At the time of writing, the page suggests, if you want your transaction to clear in under one hour, you should set a transaction fee of 331-360 Satoshi per byte.

In the official Bitcoin Client, the transaction fee is configured in BTC per Kilobyte, so that’s Satoshi per byte divided by 100’000; so, to set 360 Satoshi per byte, you would set a transaction fee of 0.0036 – on the command line:

$ bitcoin-cli settxfee 0.0036

Ideally you put this as a default into your bitcoin.conf:

paytxfee=0.0036

So, if your transaction has a size of 250 bytes, your fee would be calculated as 0.0036 * 0.25 = .0009 BTC, which at the time of this writing are about $2.54 – be aware that your transaction size might be bigger, though!

How can I get my stuck transaction going again?

That said, your problem still exists – you have sent a transaction, the money is gone, but it is stuck on the network – what now?

Luckily there is a trick – you can double spend the coins with a higher transaction fee. All you have to do is make your bitcoind “forget” that you already sent your money, and then send it again with a higher fee (calculated and set as described above).

First, you stop your bitcoind. I recommend you make a backup of your wallet.dat. And then start it with:

$ bitcoind -zapwallettxes=2

This removes all transactions from your wallet and re-reads them from the blockchain data. This will take quite some time, as the entire block chain is rescanned.

Now your bitcoind is running again but it “forgot” that you have sent your coins. As your transaction is not on the blockchain yet (because it was never mined), it does not re-appear.

$ bitcoin-cli settxfee 0.0036

Now, don’t forget to set the right transaction fee as described above, and then send the transaction again. Your bitcoind will now broadcast your new transaction. It can take some time until the network picks it up, up to one day in my experience – but when it is mined, the old transaction will be abandoned and forgotten.

Note that this strictly only works when your original transaction was never confirmed.

I hope this helped. If you are happy about the result, feel free to send me some Satoshis – thank you 🙂