Every day we visit 100s of web sites. If we want them to be high-quality - we need to reward them. But it is infeasible to register and enter your credit card number on each and every of them. Why not set up a little faucet that will constantly put drops of your appreciation to everything you visit?

What it does

  1. You deposit some Ether to the contract (but still can withdraw everything back)
  2. Participating web sites register Ethereum addresses for different resources they have
  3. When you stay on some site - it instructs your browser to send small drops of Ether to the address of the resource that it considers "current"

You can set a hard limit to the rate at which you Ether will be draining (not implemented yet). No transaction fees are involved.

How I built it

On SKALE chains transactions are fast and free. So we took SKALE endpoint and made a JS library ppm.js that every web site can incorporate

Challenges I ran into

  1. How to exclude user interaction when sending transaction (solved by depositing to smart contract, and then sending to it zero-cost transactions directly from the browser)
  2. How to prevent web sites from just stealing user's money (solved by limiting money drain rate in smart contract (not implemented in current demo, but it won't become a problem))
  3. Hard to debug interaction with blockchain/smart contracts

What I learned


What's next for ppm - Pay-Per-Minute

  1. Should be implemented as a browser extension for smoother user experience.
  2. Need ready Angular/React/etc plugins with this
  3. More customization for user on how and where theirs money is spent
  4. Convenient "admin" interface for site owners

Please install Metamask before you try it

Built With

Share this project: