Proposal for using Bitcoin to implement a postage stamp system for email

Update: Oct 2013. We realize that the suggestion below may have been convoluted. An easier way would be to just to slightly extend the SMTP protocol, where the server may simply respond with a 250 + Bitcoin address and the suggested amount to pay, after the final command once the email is queued. The payment may as well be a deposit for all future subsequent emails.

Update May 2017. Wow! How times have changed. Bitcoin is now worth $1500+ and it has become too expensive to do microtransactions with it.

In the real world, when we post a letter, we always need to pay for the postage fee. For many years, postage stamps served this purpose well. It hasn’t been feasible to apply this concept for email until now.

Here we put forward a proposal for adding stamps to emails. The advantage of Bitcoin is that it allows extremely small transactions with little or no transaction fee.  Stamps can be purchased in small quantities, and a digital stamp can be created and added to an email seamlessly, using the existing standards and protocols.

The following is a description of how such a system may work. (This is from an technical point of view; there would be less steps involved from an end-user’s point of view, and perhaps it could be made invisible to the end-user. eg. the user’s ISP could buy and attach stamps to emails and also collect payments)

1. Before sending, the sender will check a public directory to find if the recipient  supports bitcoin stamps. (The directory may be just a DNS record which is pointing to a BitCoin Stamp Service URL. This URL can be queried by the sender to find the price of the stamp, perhaps fetch other policies, but not necessarily confirm that the address exists or not)

2. The sender will query the Stamp Service URL with the intention to buy stamps for the recipients’ address. (The sender can buy one stamp or a quantity of stamps that can be used in the future) The service URL will immediately issue a Bitcoin payment address and the amount to pay. The service will issue the sender with the stamps, the stamps can be given out before the payment is made. The stamps are nothing more than cryptographically signed tokens, so that only the Stamp Service can verify their authenticity. (Also, anyone else could verify the tokens by contacting the Stamp Service URL. Actually, there would need to be two tokens: a secret token which is never transmitted with the email, and a public token which is transmitted with the email like a stamp – this ensures that tokens cannot be re-used).

3. The sender can send out the email at any time with the signature token (or stamp) added to the header of the email. (This will be invisible to anyone reading the email, unless they know how to view the headers)

4. The payment for the transaction is sent via Bitcoin to the Stamp Service. Once the payment is verified, the status of the tokens changes.

5. The recipient verifies the payment. When the Bitcoin payment is received and verified, the email can be specially marked, the spam score can be lowered, or other rules can be applied.


– This system is not necessarily client-server. It can also be server-to-server, and transparent to the end clients. For example, the sender’s SMTP server could automatically place orders for stamp tokens and make Bitcoin payments from the server’s Bitcoin wallet.


What is the purpose of the system? The purpose is to enhance the current state of spam filtering methods by putting a price on sending email.

Does this scheme eliminate spam totally? No, the intention is not to eliminate all spam, but reduce it by putting a price on sending email. The payment would not guarantee 100% delivery, but reduce the spam score by a certain percentage, depending on how much the spammer pays or how the receiver set their policy.

Hold on, if they could earn something from receiving an email, then they would give their email address to as many senders as possible, and subscribe to every list and newsletter, they could make some money, right?

That is to say if the system catches on, this kind of behaviour would be foreseeable. However, this phenomenon may kill mailing lists in general because it will pollute the lists with addresses which have been given for the purpose of earning bitcoins. Any decreased incentive to mass mail is good, right? Anyway, it is impossible to predict the effects right now – for example, senders could get smart about how they collect your email address, or simply ignore this system all together, and send email without any stamps. It would be an interesting experiment never-less, so why not give it a try?

Will everyone need to use this for it to work?
No. Email without stamps can still get through and process as normal. People who want increased reliability of their email can use stamps.

Even if it costs 1 cent to send an email, it would be too expensive?
Bitcoin allows for very small fractions, eg 1 tenth of a cent may be possible.

So, are we dreaming or could this work?
[Edit: A related proposal from 2002– this one seems largely abandoned. Could Bitcon give a new angle?]
[Edit 2: Another interesting resource circa 2002]