Journey into Web Monetization - day 2
Carl Barrdahl
Posted on May 11, 2020
After yesterdays ideas I couldn't decide which one to pursue. I realized I needed a better and deeper understanding of how it works.
Here's what I found out:
- WebMonetization (WM) is both push- and pull-based payments. So instead of you push payment from your credit-card you can have websites pull money from your wallet.
- Users need wallets. Right now there are only a few options: Coil, Xpring, Stronghold, GateHub and XrpTipbot. No native browser support, only Coil extension.
- Payment pointers are urls to wallets (
$
instead ofhttps://
) - Privacy focused not to leak personal data
- OpenPayments is a specification similar to OAuth2 in how wallets should work (API endpoints,
.well-know/open-payments
manifest etc).
{
"issuer": "https://wallet.example",
"authorization_issuer": "https://auth.wallet.example",
"authorization_endpoint": "https://auth.wallet.example/authorize",
"invoices_endpoint": "https://wallet.example/invoices",
"mandates_endpoint": "https://wallet.example/mandates",
"assets_supported": [
{"code": "USD", "scale": 2},
{"code": "EUR", "scale": 2}
]
}
- When a wallet receive a request from a client (
GET $wallet.example/alice
) it connects to the ILP network and returns STREAM credentials:
{
"ilpAddress": "example.ilpdemo.red.bob",
"sharedSecret": "6jR5iNIVRvqeasJeCty6C+YB5X9FhSOUPCL/5nha5Vs="
}
- These credentials are used to start the STREAM (Interledger transport protocol)
- "Similar to how the Internet routes packets information, Interledger routes packets of value"
- Other names for wallets (SPSP server/client, WM receiver/sender (or provider), acquirer/issuer)
- You can set
sendMax
on clients andreceiveMax
on servers to end the stream and connection when these are reached. - Right now the eco-system is limited to XRP and USD.
- Connectors can be (has been?) built to connect to other ledgers (ETH, BTC etc)
I found these links helpful:
- https://interledger.org/overview.html
- https://docs.openpayments.dev/web-monetization
- https://webmonetization.org/docs/explainer#flow-overview
It's quite a lot to take in.
- As a developer it's quite difficult to know where to get started.
- As a user it should be easier for me to set up a new wallet and use in my browsers
- As a creator it should be easy to publish new content with payment pointers, both on established platforms as well as self-hosted
How could one help reduce the friction for users to start using these technologies?
- How to make it easier for content creators to create a wallet and get a payment pointer?
- How to make it easier for developers to start building with these technologies?
- How to make it easier for users to access paid content?
π πͺ π
π©
Carl Barrdahl
Posted on May 11, 2020
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
gftwhackathon Grant for the Web Sponsors 3 $1000 Hacker Noon Noonie Awards for Web Monetization
August 7, 2020