credmentions: a distributed ledger for the #indieweb

There was a brief discussion yesterday on irc about using webmentions for payments. It sounds like there are already some ideas out there (including rel payments), but it got me thinking so wanted to write down my thoughts.

Let's say a friend paid for a pizza last night, and I wanted to chip in $5 but had no cash on me. The next day, I go to my website and write a post. Like all posts it's marked up with microformats, but this one also contains: <data class="p-debit" value="5.00">$5 for pizza</data>

Now to inform my friend that I have made this payment, I need to also person tag them in the post so that they receive a webmention. (I should also set a u-uid on the post so that I can track it, and to keep this post private I should either sufficiently obfuscate the permalink or use some other form of private webmention... but that's another discussion).

To participate in this transaction, my friend also needs to implement some indieweb features. Firstly they need to be able to receive home page webmentions. Upon verification of the webmention, they would need to check for the debit (or credit) property in my post. When found, their software would need to allow them to create a new reply post, linking to the original, and containing a matching credit property also with value="5.00".

Of course they don't have to accept the payment, in which case they don't write the reply post. I could specify a time frame in which the payment needs to be accepted, after which I delete my post if a webmention hasn't been received that references it. However assuming it is accepted, I would verify the webmention and make sure the two values of the transaction match. Both parties can do this, and we haven't had to advertise the urls involved to anyone else.

My debit or credit to this particular friend is just the sum of verified transactions that match their domain. We could each cache our balance to know who's turn it is to buy pizza, if we ever disagreed on the number it would just be a matter of revisiting each of the linked urls containing our payments.
likesharereplyWant to share this? Click to choose a site:settings
Sounds like a job for
And just to hypothesise a hypothecate, these payment links could be syndicated to a 3rd party "indiebank", that we could both deposit money into. If my friend and I both had accounts at such a service, they could withdraw their $5 owed.

The service would need to keep track of all payment links so that it can also calculate the balance for it's members. The withdrawal mentioned above would need to be a syndication target, linked to by both parties, for the service to release the funds. This allows us to retain our own balance and transaction history while providing real collateral that can be called upon.

If I wanted to pay someone without them needing to rely on trust (that they would actually receive the money), they could use this 3rd party service to first check if I had the "available funds" before creating their own reply link. The indiebank would hold these funds under escrow. It would need to charge a service fee for actual withdrawals, but tracking links is pretty cheap so this would make micropayments viable.
Thanks for sharing such info
Add a comment