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.
For more information, please see Section 5 of our paper.
Institution: Department of Computer Science, Princeton University