/Bitcoin-micropayments

[Bitcoin micropayments] Source code for a prototype implementation of a Bitcoin micropayments system

Monetization on the Modern Web: Automated Micropayments from Bitcoin-Enabled Browsers

A prototype implementation of a Bitcoin miropayments-based monetization system for online content.

The client-side software enables users to pay for access to web resources (e.g. news articles, API endpoints, live video streams) in Bitcoin, without entering into a long-standing contract with the content provider. The server-side software enables hosts to charge clients for usage in a granular, secure, scalable way.

This repository links to the four software components of the system:

  • Monetized webpage - a sample webpage supported by two independent monetization schemes - 1) Google AdSense advertising and 2) a backing payments server that renders an ad-free version of the page if a visitor pays the requested Bitcoin fee. We implemented the page as a single-page Node.js webapp hosted on Heroku.
  • Client browser extension - a Chrome extension installed by the user that funds her usage of payable web services, by adding proof-of-payment to the headers of outgoing HTTP requests.
  • Payments server - a backend process that handles billing and payments for the monetized page or resource. Our implementation is built with Python and Flask, and uses the 21 Bitcoin Library.
  • Client payment module - a software module with access to a client's Bitcoin wallet that issues payment transactions and generates proof-of-payment.

Client-Server Setup

For more information, please see Section 5 of our paper.

Institution: Department of Computer Science, Princeton University