<p>None. It's impossible to send bitcoins to an invalid address. Those addresses are valid, though they might not be owned by anyone. Look at pszBase58 more carefully: 'o', 'i', and 'L' are allowed. The first few posts in that forum thread are wrong.</p>

<p>The network doesn't know anything about Bitcoin addresses. At the network level, you never send bitcoins to an address. Bitcoins are sent to "scripts". Your client converts addresses into appropriate scripts. If an address is invalid, it can't be converted into a script. So the idea of sending BTC to an invalid address is nonsensical.</p>

CC BY-SA 3.0
2014-03-04T01:02:28.337Z
If doing low-level transaction handling, it is possible to send a transaction with a script that can never be satisfied. Technically the script is still valid (and therefore added to the blockchain) but in effect the coins will be lost. I think those less technically inclined would consider this to be an 'invalid' address.
ktorn
CC BY-SA 3.0
2014-03-04T01:42:00.913Z
@ktorn You can even send BTC to invalid scripts that can't be properly parsed. Scripts aren't evaluated until used. But non-standard scripts of any type can't be converted to version-0 Bitcoin addresses. A P2SH address could represent a bad script, though the address itself wouldn't be invalid.
theymos
CC BY-SA 3.0
2012-12-10T05:20:19.607Z
2012-12-10T06:54:56.697Z
2012-12-10T06:54:56.697Z
theymos
<p>The characters excluded in Base58 are 0OIl. oiL are allowed, making these two valid addresses.</p>

<p>It is impossible to send to an invalid address, as Bitcoin transaction scripts actually include raw 160-bit hashes (which by definition have a one-to-one correspondence with valid addresses), not addresses. Bitcoin clients will simply refuse to do anything if an invalid address is given.</p>

<p>There is probably no problem with 1Boxo846yTDLHgKM94aYseHBnCjJ4eYbzb. The problem with 1BitcoinEaterAddressDontSendf59kuE is that, given an English dictionary, it has very low <a href="http://en.wikipedia.org/wiki/Kolmogorov_complexity">Kolmogorov complexity</a>, making it extremely unlikely that anyone has a private key (or even a public key) for it.</p>

<p>Likewise, 1111111111111111111114oLvT2 is known to correspond to the public key hash 0, which is so simple it is again extremely unlikely anyone has the keys for it.</p>

CC BY-SA 3.0
2013-12-28T21:50:41.440Z
Why would your "1BitcoinEater" simple address be less likely to be randomly generated than a "Kolmogorov complex" one? Afterall, it is simple because you (or Kolmogorov) said so, but the generator does not make a difference. Couldn't you have taken a "complex" address for your purpose, and achive the same "extremely unlikely that anyone has a private key for it"?
Totor
CC BY-SA 3.0
2014-01-01T16:28:36.220Z
@Totor: We're not comparing randomly generating the simple address with randomly generating the complex address. We're comparing randomly generating the simple address with "non-randomly" generating the simple address. If you pick random letters you have 2^(-160) chance to get the eater address, whereas if you pick random phrases it's more like 2^(-40). That's an odds ratio of 2^120:1 in favor of the "random phrase" hypothesis, so observing the simple address the Bayesian deduction will be that the address was generated as a random phrase (or some other method which is not random letters).
Meni Rosenfeld
CC BY-SA 3.0
2014-01-01T16:29:06.473Z
@Totor: Whereas, for the complex address, there is no competing hypothesis that would have a higher probability of coming up with the particular address. That's what being complex means.
Meni Rosenfeld
CC BY-SA 3.0
2012-12-10T06:00:26.613Z
2012-12-10T09:28:48.487Z
2012-12-10T09:28:48.487Z
Meni Rosenfeld
<p>Some bitcoins have been permanently lost when they are sent the the following addresses.  The explanation I've found is that they <a href="https://bitcointalk.org/index.php?action=printpage;topic=20955.0">contain characters that are invalid in Base58</a></p>

<ul>
<li><p><a href="http://blockexplorer.com/address/1BitcoinEaterAddressDontSendf59kuE">1BitcoinEaterAddressDontSendf59kuE</a></p></li>
<li><p><a href="http://blockexplorer.com/address/1Boxo846yTDLHgKM94aYseHBnCjJ4eYbzb">1Boxo846yTDLHgKM94aYseHBnCjJ4eYbzb</a></p></li>
</ul>

<p>Specifically, base58 only allows the following characters  (excluding <code>0oiL</code>)</p>

<pre><code>static const char* pszBase58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"; 
</code></pre>

<p>What is the current running total of "lost" bitcoins, or lacking that, what is the general process needed to figure this out?</p>

<p>(What API methods would you call to get the data to determine this?)</p>

<transactions><development><vanity-address><base58check><lost-transactions>
How many bitcoins have been sent to Base58-invalid addresses?
makerofthings7
# How many bitcoins have been sent to Base58-invalid addresses?

(Asked by: username_0 on 2012-12-10)

Some bitcoins have been permanently lost when they are sent the the following addresses. The explanation I've found is that they [contain characters that are invalid in Base58](https://bitcointalk.org/index.php?action=printpage;topic=20955.0)

* [1BitcoinEaterAddressDontSendf59kuE](http://blockexplorer.com/address/1BitcoinEaterAddressDontSendf59kuE)
* [1Boxo846yTDLHgKM94aYseHBnCjJ4eYbzb](http://blockexplorer.com/address/1Boxo846yTDLHgKM94aYseHBnCjJ4eYbzb)

Specifically, base58 only allows the following characters (excluding `0oiL`)

```
static const char* pszBase58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"; 

```

What is the current running total of "lost" bitcoins, or lacking that, what is the general process needed to figure this out?

(What API methods would you call to get the data to determine this?)

**Tags:** transactions, development, vanity-address, base58check, lost-transactions


---

## 2 answers

### Answer by username_3 on 2012-12-10. Score: 13 | Accepted answer

The characters excluded in Base58 are 0OIl. oiL are allowed, making these two valid addresses.

It is impossible to send to an invalid address, as Bitcoin transaction scripts actually include raw 160-bit hashes (which by definition have a one-to-one correspondence with valid addresses), not addresses. Bitcoin clients will simply refuse to do anything if an invalid address is given.

There is probably no problem with 1Boxo846yTDLHgKM94aYseHBnCjJ4eYbzb. The problem with 1BitcoinEaterAddressDontSendf59kuE is that, given an English dictionary, it has very low [Kolmogorov complexity](http://en.wikipedia.org/wiki/Kolmogorov_complexity), making it extremely unlikely that anyone has a private key (or even a public key) for it.

Likewise, 1111111111111111111114oLvT2 is known to correspond to the public key hash 0, which is so simple it is again extremely unlikely anyone has the keys for it.

> **Comments:**
> **username_4**: Why would your "1BitcoinEater" simple address be less likely to be randomly generated than a "Kolmogorov complex" one? Afterall, it is simple because you (or Kolmogorov) said so, but the generator does not make a difference. Couldn't you have taken a "complex" address for your purpose, and achive the same "extremely unlikely that anyone has a private key for it"?  
> **username_3**: @username_4: We're not comparing randomly generating the simple address with randomly generating the complex address. We're comparing randomly generating the simple address with "non-randomly" generating the simple address. If you pick random letters you have 2^(-160) chance to get the eater address, whereas if you pick random phrases it's more like 2^(-40). That's an odds ratio of 2^120:1 in favor of the "random phrase" hypothesis, so observing the simple address the Bayesian deduction will be that the address was generated as a random phrase (or some other method which is not random letters).  
> **username_3**: @username_4: Whereas, for the complex address, there is no competing hypothesis that would have a higher probability of coming up with the particular address. That's what being complex means.  

---

### Answer by username_1 on 2012-12-10. Score: 11

None. It's impossible to send bitcoins to an invalid address. Those addresses are valid, though they might not be owned by anyone. Look at pszBase58 more carefully: 'o', 'i', and 'L' are allowed. The first few posts in that forum thread are wrong.

The network doesn't know anything about Bitcoin addresses. At the network level, you never send bitcoins to an address. Bitcoins are sent to "scripts". Your client converts addresses into appropriate scripts. If an address is invalid, it can't be converted into a script. So the idea of sending BTC to an invalid address is nonsensical.

> **Comments:**
> **username_2**: If doing low-level transaction handling, it is possible to send a transaction with a script that can never be satisfied. Technically the script is still valid (and therefore added to the blockchain) but in effect the coins will be lost. I think those less technically inclined would consider this to be an 'invalid' address.  
> **username_1**: @username_2 You can even send BTC to invalid scripts that can't be properly parsed. Scripts aren't evaluated until used. But non-standard scripts of any type can't be converted to version-0 Bitcoin addresses. A P2SH address could represent a bad script, though the address itself wouldn't be invalid.  

---

