This is my final report as an ambassador for Grant for the Web, and I cross-posted it to my personal site. It's the kind of writing you wish you had another week to edit, but in a week you'd still want more time. A lot of you here will know all of my rambly context already, but I wanted to write something friends outside of these circles could understand.
I've had this exact conversation so many times now, and every time it reminds me how much history and background is needed to understand the potential impact of Web Monetization.
Since last year I’ve been an ambassador for Grant For The Web, an organization founded to push for open standards around payments on the web. The role of “ambassador” has meant being part researcher, part tech evangelist, part tinkerer, and part advisor. The end of my tenure as a Grant for the Web ambassador is here, but all of the parts I just listed are still going to be a part of me, and my support for Grant for the Web is stronger than ever. Put simply: it’s a vital effort led by a rich community of amazing people.
Grant for the Web supports and promotes the Interledger protocol, which is at the heart of the proposed W3C Web Monetization standard. I thought the best way to mark the end of this time would be to talk about my experience, my perspective, and everything I’ve learned along the way.
I suppose the story has to start with some context around payments on the web, cryptocurrency, smart contracts, and some of the impact those things have on creators and culture.
Micropayments have been a challenge online basically forever. Credit card networks aren’t set up well for smaller payments of only a few dollars, and even PayPal isn’t great at a dollar or less. Much like Amazon gave rise to unrealistic expectations around shipping times, buying a song for a dollar in the iTunes store set some weird precedents for buying digital goods. Apple has the sheer volume of transactions and cards on file that lets them group payments together and get better terms than any independent creator could ever hope for. If consumers assume that 99¢ apps and songs are the norm, independent creators are left people beholden to the whims of digital platforms.
So credit card networks are what we know. They work online, but not particularly well, and their limitations shape our consumer experience online.
Digital currencies spawned for all sorts of reasons, but at least partially as a reaction to those limitations. Cryptocurrency brought an explicitly decentralized hope to the scene. Instead of platform-specific digital currencies we started talking about transactions on a blockchain, direct from one party to another, without the need for any sort of intermediary network between them. This was exciting because it went beyond just a fix for microtransactions — decentralization has the potential to break platform payment dependency entirely. But blockchains also introduced new issues: high energy consumption, a new regulatory landscape, and an unfamiliar customer experience.
Cryptocurrency evolved beyond just transactions and introduced smart contracts, with almost limitless freedom to explore new and direct payment models. Smart contracts are the driving technology behind NFTs, and effectively make money programmable. You want to sell something today with the condition that you get a cut of any resale? No problem. Virtual goods and unique experiences now sold with enforceable terms built into the currency itself.
The NFT boom has been a polarizing force in the conversation around money, payments, and how we support creators. So much so that I’ve wound up avoiding it entirely, trying to understand how people who all talk about a better future for creators through rethinking money can be so far apart. I’ve seen valid arguments proposed and ignored on both sides of the NFT hype. I find myself more or less disinterested between both sides. I can see the potential that fans of NFTs argue for. Smart contracts offer a blue sky of possibility to independent creators. There are also legitimate criticisms of the technology in its current form. Speculation, scammy NTF platforms, and consumer confusion can lead to bad experiences and there are still concerns around the energy consumption and sustainability in the core technologies.
My approach is to see how it evolves and root for the best possible outcome for everyone. If you’re on the side of creators then we’re on the same team. The need to find more and better ways of supporting independent workers and artists is critical and more where my interests lie. The web opens up so many possibilities for person to person connection, so smarter money and contracts that can work with the web feel overdue. How we get there is being sorted now, and it looks like there’s no stopping it. The best we can do is push for equitable, green, and accessible technologies — including non-cryptocurrency options.
If we have the means to make smarter and more direct payments then we have an opportunity to reshape how we think about value itself. This is what I’m interested in. NFTs feel like the final boss stage of market economics. Smarter deals tied to currency as a platform, but its value remains derived from scarcity — mining or staking and the rarity of the tokens themselves. This is familiar and okay. It’s our default understanding of value.
When we talk about the value of art and culture we talk about reverence, impact, and reach. Its value grows as it’s shared, rooted in abundance and human experience. We talk about best-seller lists, ratings, and song charts to show a work is important. But the arts and humanities go deeper. There’s value in the conversations they spark, the lives they connect, the first dances, and all the other shared moments. Creativity gains value as it becomes more abundant.
If you get on top of the charts or the best seller lists you’re getting paid. But so much of that relies on major marketing support. What about independent creators? Can we rethink models to reward value based in abundance? How do those complement existing models?
We’re finally getting to the part about Web Monetization and Grant for the Web. A huge part of my ambassador role with Grant for the Web was talking to people about Web Monetization. The more conversations I had, the more convinced I became that it’s an important piece of fixing payments on the web, and equally important to our understanding of value itself.
When you look at payments online you’re looking at an ever-changing scaffolding built on a rotating cast of APIs and platforms, mostly held together with duct tape and data entry. Web Monetization is a proposed W3C standard that defines new ways for a browser to send payments direct from one person to another, simple and secure in a browser. The W3C is the organization that maintains the reference specs for things like HTML, telling browser makers how they’re supposed to turn code into a webpage. Web Monetization and its underlying Interledger Protocol do the same thing but for payments.
Pushing for standards is slow work, but it’s critical because it helps to shape the landscape but doesn’t throw away working solutions. Traditional payment stacks continue to work just fine, and can even be integrated with Interledger payments to provide a range of options and models. Interledger payments don’t care what currency or wallet service you’re using — could be cryptocurrency, could be your bank if they support the protocol. Standards enshrine interoperability. This builds a little stability in how websites and apps initiate transactions while not slowing any of the innovation and evolution needed to make the currencies payments rely on work better for everyone.
A payments standard defines the types of payments available to developers. Interledger is built around a concept of streams — you can make one-off payments, there’s a spec for recurring payments, but you can also stream payments in the background of a website. Fractions of a cent flowing every second — and if you’re reading this with a Web Monetization plugin like Coil then it’s happening right now. Coil works as a subscription service — every month I give them five dollars and their plugin uses Web Monetization to spread that around to all the sites I visit that have a Web Monetization payment pointer tag.
There are a couple cool things happening here. First, this isn’t a service or a platform. It’s people actively choosing to support other people, opt-in and powered by direct connections. And a Web Monetization stream communicates with the browser, meaning it’s not only programmable money, but real-time programmable money. A developer can write code that reacts to your payments.
The big players using the Web Monetization standard today are YouTube and Twitch. Streaming payments just make sense for streaming content. Twitch even auto-detects payment streams and converts them to Twitch Bits, their platform-native Twitchbucks, with no setup needed by the streamer.
There are also many examples of sites offering special content or removing ads for people who’ve enabled streaming payments. Right now that’s a pretty niche slice of visitors, but as Web Payments keep moving towards a final W3C standard they get closer to being supported directly in browsers, expanding the audience. If streaming payment revenue grows bigger than ad view revenue you disrupt the ad industry while helping the people who rely on ads. New payment types lead to new opportunities to innovate.
Web Monetization isn’t designed to make new billionaires or make headlines. It’s been designed to let hundreds or even thousands of smaller streaming payments add up to significant revenue for creators. By including direct payment streams Web Monetization is helping us explore new models. It naturally lends itself to seeking value in community, connection, and abundance.
This was my big Web Monetization epiphany; the connection from payment streams to new models to broadly rethinking value.
My initial work with Web Monetization centered on a project called Substation. I built Substation for some friends who wanted to make a paid newsletter but not be bound to a platform, just direct connections between them and their readers. The appeal is obvious, and the scope of the work was to dive into the spec for Interledger pull payments and think about what could be possible as it matures.
Pull payments are the Interledger equivalent of recurring payments. On the surface you can map them 1:1 with credit card subscription payments. Under the hood it’s a little more interesting because it would still do all the direct payment and currency transformation magic of streaming payments, but with a negotiation phase that sets things like the payment amount, interval, etc. This puts an emphasis on clear terms and active consent as every new pull payment subscription is created. It also means the agreement between parties is actually encoded directly into the payments — integrated context like smart contracts, but just not quite as smart. Honor roll, but none of the pressure of speaking at graduation.
Pull payments are still in the initial spec phase. They haven’t been implemented in production wallets so there’s bound to be changes, but things are defined well enough to let us plan for the shape of subscriptions to come. The upside for creators is huge — moving to direct payments saves fees and enables microtransactions in ways that are impossible in traditional payment systems. A dollar on a credit card network is worth less than 70¢ to a creator but Interledger doesn’t impose network fees. Even if wallets are charging exchange or subscription fees, it’s unlikely they’ll take even close to the cut of a credit card transaction.
The ability to unlock significantly lower cost, lower friction subscriptions feels like a dream worth chasing. I dusted off an old concept from a project where we were supporting REST-based Stripe payments alongside PayPal’s classic redirect-and-return payments in a single checkout flow. You’ve seen it plenty of times: you’re checking out and given the option to pay with a card or to use PayPal. Seeing Web Monetization next to familiar payment experiences will help normalize the standard and accelerate adoption.
The trick we used in that project was to wrap out all payment libraries in a common object format that understood seven phases of a transaction, even if there’s nothing to do in some of those phases for the particular payment type:
- getSecrets: get any API keys or secrets needed to initiate a transaction
- getTokenInformation: use those keys and secrets in a token exchange
- prepareTransaction: handle any additional steps needed between the token exchange and making the final transaction
- getRedirectMarkup: get any markup needed for a redirect-and-return payment and show a button, instructions, etc
- handleRedirectReturn: get context from the token and/or URL parameters in a response from a redirect
- doTransaction: process the transaction with the payment service
- finalizeTransaction: do any post-transaction cleanup, record in any local systems
My guess is that Interledger pull payments could take some time before we see rich adoption. Some of the things that make cryptocurrencies appealing — peer to peer payments and the anonymous nature of wallets make recurring payments harder. A bank account is a far more permanent thing than a crypto wallet address. Recurring payments may always be more or less dependent on third party services of some kind, and this is what started me working more with streaming payments.
I started this keen to think about interoperability and normalizing Web Monetization in subscription flows. Now I’m more excited about the potential streaming payments have to inspire new models and reshaping the concept of value.
Like I said at the start, the end of my ambassador role is only the beginning of my support for Web Monetization and the people working on it. At some point I’d like to explore the approach outlined above with one-time payments. I still think the goal of normalizing new payment standards is an important effort.
A couple months ago I took a new day job as Head of Product for Glitch, so I rebuilt my personal site using our Eleventy starter app and added a payment pointer. In total it took me about five minutes to get a basic Web Monetized blog up and running. (Then four hours of tweaking layouts and other critical infrastructure tasks like cleaning up racoon illustrations.) I managed a dirty proof of concept for a quick feature that would allow someone to move posts from another source via RSS — but it’ll be a few weeks before I can finish that up. I’d like to help people find an easy off-ramp from platform lock-in that leads to publishing their own Web Monetized blog. That’s probably next.
I’m also curious to play with bridging front-end Web Monetization with the server. I’m sure there’s already some work happening on that front that I haven’t found yet, but it’s a part of Web Monetization that seems to have a lot of potential for new ideas. I can’t wait to learn more about it.
I suppose talking to people about Web Monetization won’t be something I do in an official capacity anymore, but it’s not something I’m about to stop doing, either. Say hi anytime.