Skip to content

SaaS

Accept Bitcoin subscriptions for your software product.

Example Pricing Tiers

Starter
10,000 sats/mo
Basic features
Team
100,000 sats/mo
Multi-user access

How It Works

Create plans for each tierOne plan per pricing level
Integrate via APICheck subscription status in your app
Grant/revoke featuresBased on subscription status
Handle upgradesLet users switch between tiers

Integration

Check Subscription Status
python
# Check if user has active subscription
response = requests.get(
    f"{LNBITS_URL}/subscriptions_manager/api/v1/subscriptions",
    headers={"X-Api-Key": API_KEY},
    params={"subscriber_email": user.email}
)

subscriptions = response.json()
active = any(s["status"] == "active" for s in subscriptions)

if active:
    # Grant access
else:
    # Show upgrade prompt
Real-Time Webhooks
python
@app.post("/webhook/subscription")
async def handle_subscription(event):
    if event["event"] == "subscription.activated":
        enable_features(event["data"]["subscriber_email"])
    elif event["event"] == "subscription.cancelled":
        disable_features(event["data"]["subscriber_email"])

Tips

Free Tier

Offer a limited free tier to let users try before buying.

Usage Limits

Instead of feature gates, consider usage-based limits.

Annual Discount

Offer yearly plans at 2 months free to improve retention.

Coaching ExampleSee how to monetize services