Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

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


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







No releases published


No packages published