A comprehensive Clarity smart contract for managing recurring subscription services on the Stacks blockchain. This contract enables businesses to create subscription plans and manage customer subscriptions with automatic renewal capabilities.
- Subscription Plans: Create and manage multiple subscription tiers with custom pricing and duration
- User Subscriptions: Subscribe to plans with STX token payments
- Auto-Renewal: Automatic subscription renewal system for seamless service continuity
- Subscription Management: Cancel, renew, or toggle auto-renewal settings
- Payment Processing: Secure STX token transfers with balance tracking
- Owner Functions: Plan creation, deactivation, and fund withdrawal (contract owner only)
- User Functions: Subscribe, cancel, renew, and manage personal subscriptions
- Public Functions: Auto-renewal processing (callable by anyone)
subscription-plans: Stores plan details (name, price, duration, status)subscriptions: Tracks individual user subscriptions and their statususer-subscriptions: Maps users to their active subscriptionsplan-subscribers: Maintains subscriber counts per plan
create-plan(name, price, duration): Create new subscription plansdeactivate-plan(plan-id): Disable existing planswithdraw-funds(amount): Withdraw collected subscription fees
subscribe(plan-id, auto-renew): Subscribe to a plan with paymentrenew-subscription(subscription-id): Manually renew an active subscriptioncancel-subscription(subscription-id): Cancel an active subscriptiontoggle-auto-renew(subscription-id): Enable/disable automatic renewal
process-auto-renewal(subscription-id): Process automatic renewals for eligible subscriptions
get-subscription-plan(plan-id): Retrieve plan detailsget-subscription(subscription-id): Get subscription informationis-subscription-active(subscription-id): Check subscription statusget-contract-balance(): View total contract balance
- Deploy Contract: Deploy the contract to Stacks blockchain
- Create Plans: Owner creates subscription plans with pricing
- User Subscribe: Users subscribe to plans by paying STX tokens
- Manage Subscriptions: Users can cancel, renew, or modify auto-renewal settings
- Process Renewals: Auto-renewals are processed when subscriptions expire
u100: Owner-only function called by non-owneru101: Requested item not foundu102: Item already existsu103: Insufficient funds for operationu104: Subscription has expiredu105: Subscription is cancelledu106: Invalid plan parametersu107: Unauthorized accessu108: Invalid input parameters
- Input validation for all parameters
- Authorization checks for user-specific operations
- Balance verification before payments
- Status validation for subscription operations
- Owner-only restrictions for administrative functions
- Stacks blockchain environment
- STX tokens for subscription payments
- Clarity smart contract runtime