bolts icon indicating copy to clipboard operation
bolts copied to clipboard

Recurring Payments

Open Polyomino opened this issue 6 years ago • 13 comments

Does a standard for recurring payments belong here?

I think lnd can be made to support recurring payments by issuing macaroons with permissions to spend in the future. I think we should avoid a dependency on macaroons for BOLTs if they aren't already.

Is there an existing work stream in this direction?

Polyomino avatar Jul 01 '18 17:07 Polyomino

Recurring payments should work with discrete log payments (eg. scriptless scripts), and I've been toying with the idea of a bolt11 extension for 1.1. There are questions over whether we should allow specification of oracles for exchange volatility, but that may be trying to boil the ocean...

rustyrussell avatar Jul 09 '18 10:07 rustyrussell

What do you mean precisely by "recurring payments"?

Roasbeef avatar Jul 09 '18 20:07 Roasbeef

Or do you mean like "spontaneous payments"?

Roasbeef avatar Jul 09 '18 20:07 Roasbeef

In either case, it would seem that this is purely and end to end thing, and doesn't really require a BOLT. But if something emerges and is popular, then we can document it and start to standardize it.

Roasbeef avatar Jul 09 '18 20:07 Roasbeef

I assumed he's referring to an invoice which says "pay this amount this often". It's a common request in the Bitcoin world, and makes even more sense for lightning due streaming services.

rustyrussell avatar Jul 10 '18 00:07 rustyrussell

Adding this to the "someday" milestone since we need to first figure out a number of things. For once we need to agree on a format to specify recurring payment times.

Additional feedback from users is encouraged to better define the use-case and the requirements that this feature should consider.

cdecker avatar Jul 23 '18 20:07 cdecker

For a lightning subscription/donation service I'm working on, all I would need is a way to do recurring spontaneous payments. Perhaps a clightning/lnd plugin that does this automatically.

The initial bolt11 could include what data needs to be encrypted in each spontaneous payment (account id, etc), and how often it should be sent.

The node could execute this spontaneous payment automatically until cancelled.

jb55 avatar Feb 04 '19 20:02 jb55

wo need a protocol that get dynimic code(an invoice) by static code,static code is address(eg http api) that can return signed invoice and it's public key

xgzhc avatar Dec 09 '19 06:12 xgzhc

@xgzhc lnurl-pay is exactly this: https://github.com/btcontract/lnurl-rfc/blob/master/spec.md#4-lnurl-pay

See also https://xn--57h.bigsun.xyz/lnurl-pay-for-everything.html#subscriptions

fiatjaf avatar Dec 09 '19 08:12 fiatjaf

I have a similar use case: I'd like to pay my landlord via the Lightning network the equivalent amount of e.g. 20$ daily. Would be cool if that was possible 🙂.

rene78 avatar Mar 14 '21 11:03 rene78

You have no idea how this could rocketlaunch lightning adoption. No recurring payments is by far the biggest disadvantage (businesswise) to credit cards and other solutions that got recurring payments.

mateuszjarzewski avatar Jun 01 '22 01:06 mateuszjarzewski

No recurring payments is by far the biggest disadvantage (businesswise) to credit cards and other solutions that got recurring payments.

We have the support with a previous bolt12 support, I think it takes only some time to be integrated. N.B the bolt12 proposal was cut and the part of the recurrent payment was removed.

But I'm pretty sure that it will be an addition in the near future.

vincenzopalazzo avatar Jun 18 '22 14:06 vincenzopalazzo

Any news on this issue? To at least create a basic standard for allowing invoices to have a recurring option would be great! It can be as simple as the protocol supporting a recurring message inside the invoice saying you are agreeing to a recurring term described by the invoice but it is fully controlled on the sender's node side (push-only not-pull payments). So the recurring terms are "copied" into the node from the invoice. That way the sender at any time can log in to their node and cancel the recurring payment any time they wish. Maybe an added option to notify the receiving party of the cancellation might be nice but not critical.

adam248 avatar Dec 13 '23 04:12 adam248