DEV Community

Carl Barrdahl
Carl Barrdahl

Posted on

Journey into Web Monetization - day 2

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 of https://)
  • 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 and receiveMax 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:

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?

Discussion (3)

Collapse
chrislarry33 profile image
Chris Lawrence

Hi, I am Chris, a member of the GftW Program Team. We could not agree more with these friction points below and would love to see solutions/ideas/assets/dicumentation about these issues emerge in our CFP process. Love how your posts themselves are starting to that.

"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?"
Collapse
carlbarrdahl profile image
Carl Barrdahl Author

Thank you Chris! Much appreciated!

Collapse
iamsonu21 profile image
Sonu S Negi

great... appreciated