Skip to content

Create a subscriptions case study  #767

Open

Description

@Bosch-0

Offers (BOLT 12) will enable the ability for users to have subscriptions with various services. LNURL is also working on this (lnurl/luds#77) feature.

As designers, we can think ahead on the UI/UX level so when BOLT12 / LNURL subscriptions are widely adopted on the technical level, we can all the usability quirks worked out ready to go. A case study would be a good way to go about this.

There are several ways in which this could be achieved based on my current understanding:

  • The user scans an offer generated by a merchant, an invoice is sent automatically to the user every pay period.
  • Merchant scans user generated offer, invoice is then sent to the user every paid period.

Having this automated without manual payment of an invoice each pay period isn't something possible yet but may be something to explore as part of the case study anyways.

Activity

  1. GBKS commented on Apr 12, 2022

    @GBKS
    Contributor

    Just for fun, some mock-ups from July 2020, goofing around with subscription ideas @johnsBeharry and I discussed.

    Bitcoin subscription management 200714

  2. john-zaprite commented on Apr 14, 2022

    @john-zaprite

    This is something I'm very much interested in, and currently planning to integrate into Zaprite. I'll be working on this shortly.

  3. Bosch-0 commented on Apr 16, 2022

    @Bosch-0
    CollaboratorAuthor

    Zaprite looks great! Hadn't come across you guys before. Will you be doing this with offers? I see you use Core Lightning so I'd assume so

  4. john-zaprite commented on Apr 16, 2022

    @john-zaprite

    To be honest, the marketing site needs a revamp as some of the info may not be accurate anymore.
    Initially we planned on using Cyphernode, which has Core Lightning included, so that's why the logo is there. But as of now we don't have our final tech stack decided.
    My plan is to use simple email reminders to send Zaprite users to a standard Zaprite hosted invoice page where they pay for their upcoming month/year. In this case, we can use anything really, as it will just hit our node as a regular payment and we'll do our user account logic on the backend.
    I still need to do more reading on Offers to see where we might find benefits.

  5. changed the title [-]Idea: Create a subscriptions case study [/-] [+]Create a subscriptions case study [/+] on Aug 29, 2022
  6. ConorOkus commented on May 1, 2025

    @ConorOkus
    Collaborator

    Following up on Discord chat where I highlighted upcoming changes to BOLT 12 for supporting subscriptions - lightning/bolts#1240

    Copied from Discord:

    "Historically protocol proposals have not had much input from a design perspective and I think it can be extremely valuable in that it gives us a chance to catch usability dead-ends early and suggest some good wallet-level conventions.
    This particular BOLT 12 upgrade is a shift from the "simple payment" model to a more user-stateful and protocol-complex interaction. So some notable design points to consider are:

    • Push vs. Pull: A push model is used (merchant expects payments from users without pulling funds), ensuring better user authorization
    • Stateful Wallets: Recurrence introduces the need for wallets to track state and perform scheduled actions, a step up in complexity
    • Cancellation Message Proposal: Suggests sending an onion message when a user cancels a periodic payment, to differentiate between cancellations and failures.

    Would be great for us to prototype subscription UX early and and agree on some must-have UX principles for recurrence."

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Case studyIssues that is suited as a case study.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions