DEV Community


Posted on

Heard about Vanilla by Cinnamon yet?

During the last weekend of May, Cinnamon’s dev team decided to take part in Grant for the Web’s Hackathon. After having spent more than 40 hours coding, we are proud to announce that we have developed something we believe will make Web Monetization even better.

How does Web Monetization actually work?
For those of you completely new to the party, Web Monetization (or WM) is a JavaScript browser API which allows the creation of a payment stream from the user agent to the website. Content usually receives income from Pay Per Click or Cost Per Impression advertising, but with WM, relatively small subscriptions are distributed with micropayments to pay for content.

While this is an absolutely revolutionary way of money streaming, it is still an ongoing project with endless possibilities. At the moment the process of WM is a communication process between a user visiting a monetized piece of content and a WM provider, who sends funds to a content creator’s wallet.

There are two issues we identified with this. Firstly, the only way to verify payments is by looking into your wallet, which means that someone could find a way around the WM process, without you knowing. Secondly, looking at the source code of a website displays payment pointers of everyone receiving money. This could potentially allow someone to change payment pointers, leaving you without a way to check. Payment verification on the back-end is extremely complex and requires in-depth knowledge of Interledger Protocol. That being said, there is an open source method for payment verification under development called STREAM Receipts, which will make payment verification much easier, but not for all use-cases.

Vanilla, more than a flavour
We discovered a way to improve these features with a little something we named Vanilla. Vanilla is a new service (API) adding an extra security layer for your monetized content. We created Vanilla to keep your information more secure and to ensure users don’t cheat their way around the payment mechanism.

What does Vanilla do? Simply put, we inserted ourselves into the equation. When users attempt to access monetized content they will transfer Vanilla’s payment information to a WM provider, instead of their own. WM provider then streams payments to Vanilla which we forward to a creator's payment pointer. By using Vanilla API you can then easily verify an ongoing payment stream and decide whether to show exclusive content or not. Additionally, we shield information of individual payment pointers (you will only see Vanilla in the source code). For those of you using Cinnamon, we already had this implemented since day one, and seeing that it works well, we feel other platforms could also benefit from its use. Vanilla is a result of our duty to protect creator income and privacy.

This will (in the near future) also allow us to develop a long sought out concept of payment splitting. Payment splitting will enable several creators to split profits from one piece of content based on their contribution. What we are even more excited about is that this will enable creators with altruistic intentions to dedicate all or part of their profits to causes of their choice (non-profit organisations, charities, and other NGOs). We’re also preparing Music/Video Web Monetization features, transaction history features, analytics, and more.

Should you feel like you don’t really wish to use Vanilla to keep track of payments, we will also implement STREAM Receipts soon.

If you have read this and felt you’d like to contribute, or have ideas for plugins and features, make sure to contact us at

So keep your eyes open for Vanilla, Cinnamon’s latest tool for creators.

Hope you guys have a great week,
-Cinnamon Dev Team-

Top comments (0)