<p>Another example that is similar to @JBaczuk's 3rd point, is a Bitcoin address that would be nearly impossible to know the private key or public key for. Note that this address isn't <em>provably</em> unspendable, it is just <strong>super duper</strong> unlikely that someone knows the private key for it. </p>

<p>For example, see <a href="https://blockstream.info/address/1BitcoinEaterAddressDontSendf59kuE" rel="nofollow noreferrer">1BitcoinEaterAddressDontSendf59kuE</a>.</p>

<p>Addresses are encoded in base58, so searching for an exact sequence of characters has the probability of <code>58^(the number of characters you are searching)</code>. The 1BitcoinEater... address has 27 characters, so on average, you'll have to search through <code>58^27</code> addresses before finding a match. </p>

<p>This is equivalent to <code>4.1 *10^47</code>, an obviously <strong>huge</strong> number, that no number of computers on earth are capable of running through. So, we can be quite sure that nobody knows the key for this address.</p>

CC BY-SA 4.0
2019-08-03T01:20:18.733Z
2019-08-03T01:20:18.733Z
chytrik
<p>Essentially you must send coins to an address that is provably unspendable. There are many ways to do this.</p>

<ol>
<li>Put the coins in an <code>OP_RETURN</code> output. These outputs are provably unspendable because the consensus rules prevent it.</li>
<li>Send coins to any script which resolves to false.</li>
<li>Since addresses are encoded hashes, start with a hash, of which it would be nearly impossible to find the pre-image, e.g. assume a script hash of <code>0000000000000000000000000000000000000000</code>. Encode that into a valid address:</li>
</ol>

<pre><code>bs58 -c 050000000000000000000000000000000000000000
31h1vYVSYuKP6AhS86fbRdMw9XHieotbST
</code></pre>

<p>This address has actually had Bitcoin sent to it, but never from it: <a href="https://blockstream.info/address/31h1vYVSYuKP6AhS86fbRdMw9XHieotbST" rel="noreferrer">https://blockstream.info/address/31h1vYVSYuKP6AhS86fbRdMw9XHieotbST</a></p>

CC BY-SA 4.0
2019-08-02T19:59:13.497Z
2019-08-02T21:13:33.877Z
2019-08-02T21:13:33.877Z
JBaczuk
<p>How does one prove that they sent some BTC to an address that no one has the private keys for? Is there an address that one can send to? Basically proof of burn.</p>

<lost-bitcoins>
How does one prove that they sent bitcoins to an unspendable wallet? Proof of burn?
Patoshi パトシ
# How does one prove that they sent bitcoins to an unspendable wallet? Proof of burn?

(Asked by: username_0 on 2019-08-02)

How does one prove that they sent some BTC to an address that no one has the private keys for? Is there an address that one can send to? Basically proof of burn.

**Tags:** lost-bitcoins


---

## 2 answers

### Answer by username_1 on 2019-08-03. Score: 1 | Accepted answer

Another example that is similar to @username_2's 3rd point, is a Bitcoin address that would be nearly impossible to know the private key or public key for. Note that this address isn't *provably* unspendable, it is just **super duper** unlikely that someone knows the private key for it.

For example, see [1BitcoinEaterAddressDontSendf59kuE](https://blockstream.info/address/1BitcoinEaterAddressDontSendf59kuE).

Addresses are encoded in base58, so searching for an exact sequence of characters has the probability of `58^(the number of characters you are searching)`. The 1BitcoinEater... address has 27 characters, so on average, you'll have to search through `58^27` addresses before finding a match.

This is equivalent to `4.1 *10^47`, an obviously **huge** number, that no number of computers on earth are capable of running through. So, we can be quite sure that nobody knows the key for this address.


---

### Answer by username_2 on 2019-08-02. Score: 6

Essentially you must send coins to an address that is provably unspendable. There are many ways to do this.

Put the coins in an OP_RETURN output. These outputs are provably unspendable because the consensus rules prevent it.
Send coins to any script which resolves to false.
Since addresses are encoded hashes, start with a hash, of which it would be nearly impossible to find the pre-image, e.g. assume a script hash of 0000000000000000000000000000000000000000. Encode that into a valid address:

bs58 -c 050000000000000000000000000000000000000000
31h1vYVSYuKP6AhS86fbRdMw9XHieotbST

This address has actually had Bitcoin sent to it, but never from it: https://blockstream.info/address/31h1vYVSYuKP6AhS86fbRdMw9XHieotbST


---

