I sent bitcoins to an address, but I think I made a typo when I copied it. Where did these bitcoins go. Can I get them back?

  • if this is a common concern consider www.flexcoin.com which resolves some of the difficulty of long and difficult to type addresses – lathomas64 Aug 31 '11 at 15:14
up vote 42 down vote accepted

Bitcoin is very resistant to typos because the addresses contain a built-in check code. So if you had simply mistyped a few of the letters or numbers in the address, it's unlikely the client would have let you send them. If, however, you pasted in a different and valid address, the coins are already transferred to it permanently. In this scenario, Bitcoin works pretty much like cash--there is no way to get it back after giving it away.

It is highly unlikely, you made a typo and were still able to send coins. There is a difference between an invalid address and an incorrect address.

All bitcoin wallets/clients check if addresses are valid.
Bitcoin addresses are the PubKeyHash encoded in Base58 with a version value and a checksum. The checksum is the leftmost 32 bits of a double hash of the PubKeyHash. The format of the address is often referred to as Base58Checked in technical documents.

Since the checksum is 32 bits the probability of entering an incorrect address that will still decode to an incorrect but valid PubKeyHash is roughly 1 in 4.3 billion. So, on average, 4,294,967,295 out of 4,294,967,296 times a typo will produce an address that is incorrect AND invalid. When decoded the PubKeyHash will not produce the proper checksum, the error will be detected by the client/wallet, and the transaction won't be created.

To actually lose coins to a typo you would need to produce not just any invalid address, but one that is valid but incorrect and the odds of that happening are almost zero.

In that extremely unlikely event (1 in 4.3 billion is 10x less likely than winning the US PowerBall lottery), the transaction will be irreversible and only spendable by the person who has the private key for the incorrect address/pubkey. Given how many private keys are possible, it is almost certain that nobody ever has or ever will have that private keys and the funds will remain forever unspendable.

  • 1
    So, is it correct to think that if you accidentally issued an invalid recipient, shouldn't it be possible to doublespend it back to yourself and get that verified quicker, since it will be rejected by most miners? Or is it actually impossible to send to an invalid address (I thought that was what people did to write messages to the blockchain?) – Murch Aug 23 '13 at 14:39
  • 1
    @Murch, It is impossible to send to an invalid address. No (compliant) client will even create the transactions. No (compliant) node will relay the transaction and no (compliant) miner would include it in a block. If a miner did the block would be seen as invalid by all other nodes. When people want to send coins to an address where the key is unknown they make a valid address by computing the proper checksum for the "fake" address they want to send the coins to. – DeathAndTaxes Mar 6 '14 at 20:12

Bitcoin transactions are irreversible. If you were connected to the network when you made the transaction, your coins are lost.

If you weren't connected to the network, you can restore your wallet.dat and start bitcoin with the --rescan option. This will effectively undo the transaction (that hasn't been committed to the blockchain yet).

  • What if I was connected to the network, but quickly (ie. before my transaction makes it into a block) restore my wallet.dat and --rescan, then spend the same coins again, but with a bigger transaction fee? Is there a chance the new transaction will get mined in preference to the old one? – Chris Moore Feb 14 '12 at 18:27
  • 1
    no, highly unlikely. bitcoin given preference to first transaction seen, any conflicting transactions that come later are ignored and not relayed, even if they have higher fees. – nanotube Feb 14 '12 at 20:52
  • @ChrisMoore: What nanotube said, and of course, if this was possible, it would also be extremely easy to double-spend. – Meni Rosenfeld Feb 15 '12 at 6:28
  • 1
    @ChrisMoore - as I understand it, miners are encouraged to give priority to first transactions, but this is not mandate by the protocol. – ripper234 Feb 15 '12 at 7:38
  • 1
    If the transaction fee of the 'replacement' transaction was high enough, some miners might be tempted to ignore the first transaction and go for the higher reward I guess. Either way, it's best for recipients of Bitcoin payments to wait for a confirmation if the payment's amount is significant. – Chris Moore Feb 15 '12 at 7:56

Bitcoin address include checksums, so it is less likely that you made a casual typo and entered a valid bitcoin address. However if the address is valid and also incorrect, then it is likely that the coins are effectively destroyed. You can check the address on the block chain explorer. It may help you determine if the address was a valid address (say a friend's, in the case of pasting the wrong address), or one you may have access to somewhere else.

But because transactions are irreversible, there is no way to "pull" them back or cancel the transaction.

A merchant could offer their own local bitcoin processor to connect a client to, if the transaction is innaccurate, they could "undo" it and simply not transmit the transaction to the Bitcoin Network.

If a service like BitUndo can get enough miners supporting it, it could have a chance (probably not a large one, but some chance) of undoing transactions if you submit your undo request within minutes of the original transaction. This works because if they are able to successfully mine the next block, they can choose to exclude the original transaction and include their refund transaction instead.

  • Urgh. Bitcoin is what it is for a reason, don't support services like this. The fact that they advertise some random gambling site right in the first bit of text is a huge red flag too. – George Nov 20 '14 at 15:56

protected by Community Oct 17 at 4:28

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

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