Skip to content

User Story :: Subscriber

NIKHIL B N edited this page Mar 17, 2022 · 3 revisions

First Pass

Our program should:

  • Expose an RPC that accepts the Subscriber's PubKey and a Creator's PubKey and creates a SubscriptionAccount to designate this user (PubKey) is subscribed to the given Creator
    • this endpoint has a SOL cost associated with it that has three parts:
      • rent exempt fees
      • subscription cost for the creator
      • transaction fee for sending the money to the creator
    • At the start, all subscriptions will cost 0.1 SOL and this endpoint will send that amount to the Creator and pass the cost of the transaction on to the Subscriber
  • Expose an RPC that allows a Subscriber to renew their subscription for a given Creator. Will be similar to endpoint above, but shouldn't create any Accounts, it'll just update the timestamp on their existing SubscriptionAccount.

Rough SubscriptionAccount types

subscriber: PubKey,
creator: PubKey,
expire_timestamp: ISOstring

A Subscriber should be able to:

  • Connect their wallet on our Home page
  • Once we see that they have subscriptions, we will route them to their Subscriber Hub
  • On their hub, they should see each of their subscriptions, the active/expired status, and link to each Creator they're subscribed to
  • On a Creator Landing Page, they can connect their wallet
  • If their sub is expired, can re-sub
  • If actively subscribed, the Creator Landing Page should transition and give access to the benefits (feed or text blocks, we will implemented this piece later)