A creator or business specifies a period of time (eg 1 month) and a price per period (eg 10 USDC) then deploys their subscription NFT contract onchain.
Users mint the subscription NFT by purchasing a desired amount of time (eg 6 months for 60 USDC). This grants them access to whatever apps, content, and experiences have been gated on the subscription NFT.
This access remains in effect until the user’s time expires (eg after 6 months), at which point, access is denied, unless the user mints additional subscription time.
The protocol is a non-upgradable, EVM-compatible smart contract that can be permissionlessly used to gate access to apps, services, content, and experiences. Time-bound subscription NFTs generate recurring revenue for businesses and creators, and are a simple, convenient access method for end-users.
The protocol has a mechanism, “Subscriber Rewards”, for the contract deployer to allocate a portion of recurring revenue back to subscribers, to incentivize early adoption, long-term subscriptions, and subscriber retention.
If the contract owner enables this mechanism, the specified proportion of each subscription mint payment goes into the subscriber reward pool. As more users subscribe, the pool grows. Each subscriber is allocated tokens signifying a share of the reward pool, and that share is larger the earlier the user subscribes, and the longer they subscribe for.
A user must have an active subscription in order to withdraw their rewards. If their subscription lapses and they do not resubscribe, their reward allocation can be slashed. (There’s a grace period before slashing can happen, of half the subscription time. Eg a 6 month subscription has a 3 month grace period.)
The protocol has a mechanism, “Referral Rewards”, for the contract deployer to allocate a percentage of subscription revenue to those who refer subscribers, in order to incentivize organic growth and distribution.
For example:
Alice (the contract deployer) specifies a 10% referral reward for her subscription NFT.
Bob (a referrer) generates a unique referral URL for Alice’s subscription and shares it with others.
Charlie (a subscriber) purchases a 100 USDC subscription using Bob’s link.
Alice receives 90 USDC.
Bob receives 10 USDC.
Referral payments are made onchain and at the time of each subscription mint, so no withdrawal is required.
The protocol takes a 4% fee on all subscriptions.
Any entity that facilitates the deployment of subscription NFT contracts is eligible to receive 50% of the protocol fee.
Eg: If Alice uses app.xyz to deploy her subscription NFT contract and it generates 100,000 USDC in annual recurring revenue, then the protocol will receive 2,000 USDC and app.xyz will receive 2,000 USDC annually.
Protocol partner rewards are all onchain and in perpetuity.
STP contains a function that enables any account to purchase a subscription on behalf of any other account. This facilitates, in particular, credit card payments.
Eg: On app.xyz, Charlie subscribes to Alice’s contract, which costs 10 USDC per month. He gives his credit card info to app.xyz, which then charges Charlie’s card 10 USD each month, and in turn, mints 10 USDC worth of subscription NFT time on his behalf.
With smart contract wallets, MPC wallets, EIP-4337, and other novel forms of abstraction, it’s even possible for Charlie to subscribe without ever knowing he’s using crypto.
The owner of the NFT contract can issue onchain grants simply by specifying an address and amount of time they wish to grant. Learn more
The owner of the NFT contract can issue onchain refunds simply by specifying an address and amount of subscription-time payment they wish to refund. Learn more
The owner of the NFT contract can specify an onchain supply cap, thus limiting the number of subscriptions available to mint. Learn More
The owner of the NFT contract can pause subscriptions at any time. Learn More
The owner of the NFT contract can transfer ownership to any valid address. Learn More
The owner of the NFT contract can specify any valid address as the recipient of their subscription revenue, for example a splits contract, vault, multisig safe, or DAO.
Creators: onchain memberships
Businesses: onchain SaaS payments
NFTs and ERC-20 tokens provide a one-time, discrete value transfer between buyers and sellers. However, when these are used as payment for continuous work, incentives become misaligned: a one-time payment for lifetime access is not a sustainable business model.
Token allowances and streaming escrow contracts are one solution to this problem. But they are complex, fragile, and hard to use.
We made STP to easily, efficiently, and robustly create and manage recurring revenue onchain.
Creating and collecting NFTs has emerged as a robust end-user behavior with a well-understood mental model. Adding a temporal dimension to NFTs, as well as incentives for distribution, adoption, growth, and retention, expands the potential use and utility of these crypto-primitives.
To learn more about what we’re building, follow us on Twitter and Farcaster, join our Telegram, and subscribe to our blog on Paragraph.
Fabric
Over 400 subscribers
New update from /hypersub Subscribers can receive a discount for holding a token on Polygon 👀 @p00ls /p00ls https://blog.withfabric.xyz/stpv2?referrer=0x495E4f8C59f9b2df760F77C42f27ea514697bf73
The upcoming developments on @hypersub are incredible. Congratulations on what you're building @nonlinear.eth 🎉 https://blog.withfabric.xyz/stpv2
Dimensional Program https://hypersub.withfabric.xyz/collection/dimensional-program-nbyajavonnr4
excited to announce STPv2, the newest version of the protocol that powers @hypersub https://blog.withfabric.xyz/stpv2 https://docs.withfabric.xyz/stp/overview
https://x.com/Quantstamp/status/1804144811458596915
congrats johnny! @push- i think you will love to take a look on this
Oh niiice👀🖤
👀👀👀👀👀👀👀👀
@launch
This project is already launched. You can visit it here: https://www.launchcaster.xyz/p/6675887e718a0eac0c69a82e
This is fkn awesome. Going to be doing some reworking for the subscription now but absolutely banger update.
let's gooo, huge congratulations to the team! 420 $DEGEN
@launch Subscription Token Protocol v2 by Fabric launch
You scouted @nonlinear.eth’s launch! https://www.launchcaster.xyz/p/6675887e718a0eac0c69a82e
Congrats! Can't wait to see creators experimenting w this new model
congrats on the launch. will use v2 this weekend to create a subscription.
Congrats 🎉 looking forward to toying around with it more
Just minted an interesting new NFT subscription on hypersub.xyz! I think I will need to keep topping up tho https://hypersub.withfabric.xyz/collection/salon-0xen-3ast74jr5v5s
https://blog.withfabric.xyz/stp
One of the core issues that consumer NFT applications face is what I call the “post-mint problem.” Most NFT apps focus on getting the user to mint the NFT. Very few focus on what comes after the mint. https://nystrom.substack.com/p/the-post-mint-problem
🎯 you forgot to include a link to https://blog.withfabric.xyz/stp
"Creating and collecting NFTs has emerged as a robust end-user behavior with a well-understood mental model. Adding a temporal dimension to NFTs, as well as incentives for distribution, adoption, growth, and retention, expands the potential use and utility of these crypto-primitives." https://blog.withfabric.xyz/stp
This is really awesome. Personally if I'm subscribing to some stuff using this, I'd love to get a simple receipt for each transaction as a message to my wallet, vs. using a block explorer. Would love to see if @xmtp could help here!
This is really cool!
This is amazing!
This is awesome!
excited to announce STP: the Subscription Token Protocol its an extension of the ERC-721 NFT standard, with a temporal dimension and economic incentives for distribution, adoption, growth, and retention https://blog.withfabric.xyz/stp
we made STP for developers and creators who want to easily earn and manage recurring revenue onchain docs, sdk, audit report, and contract details here: https://docs.withfabric.xyz/stp/overview
Sweet! This is something we’re keen to explore n implement
👀 will dm
@launch
You launched! https://www.launchcaster.xyz/p/65412b9e4e43465723fcb834 Connect your wallet to edit the title and add a Launch NFT 🚀 Remember, anyone with a wallet can upvote. The top 10 launches go in the weekly digest 💌
Is there a future where Warpcast uses this for subscriptions? What would be the rationale for or not? Interested in your point of view and @dwr.eth
Warpcast subscriptions would be centralized to start for speed of iteration. But could see this being a useful part of the Farcaster stack for developers building more decentralized apps.
Are you aware of anyone in the FC community working on an app that enables token-gating? Is this even currently possible (encrypted casts)?
love it
This is sick! Congrats on the launch. Are the contracts published somewhere? Found this broken link in the docs. https://github.com/withfabricxyz/contracts/blob/741a39c08ae2e1b2f539fcc3fed35c233ae9056d/src/subscriptions/SubscriptionTokenV1.sol
thanks for the heads up. will fix (cc @ds) - https://docs.withfabric.xyz/stp/deployment#factory-addresses - https://etherscan.io/address/0xf1d0C43D301d4d0Fa1Fc1A57aDE0d2Fe9ca853f6#code
That link should work now.
this looks amazing @nonlinear.eth, congrats!
super excited to get my hands on this
much needed! who’d be the first one to implement 👀
Making money moves 💪
lfg!! so pumped for what this unlocks 🔥