Start accepting recurring payments with Base Pay Subscriptions
Base Subscriptions enable you to build predictable, recurring revenue streams by accepting automatic USDC payments. Whether you’re running a SaaS platform, content subscription service, or any business model requiring regular payments, Base Subscriptions provide a seamless solution with no merchant fees. Key Capabilities:Flexible Billing Periods
Flexible Billing Periods
Support any billing cycle that fits your business model:
- Daily subscriptions for short-term services
- Weekly for regular deliveries or services
- Monthly for standard SaaS subscriptions
- Annual for discounted long-term commitments
- Custom periods (e.g., 14 days, 90 days) for unique models
Partial and Usage-Based Charging
Partial and Usage-Based Charging
Charge any amount up to the permitted limit:
- Fixed recurring amounts for predictable billing
- Variable usage-based charges within a cap
- Tiered pricing with different charge amounts
- Prorated charges for mid-cycle changes
Subscription Management
Subscription Management
Full control over the subscription lifecycle:
- Real-time status checking to verify active subscriptions
- Remaining charge amount for the current period
- Next period start date for planning
- Cancellation detection for immediate updates
Enterprise-Ready Features
Enterprise-Ready Features
Built for production use cases:
- No transaction fees or platform cuts
- Instant settlement in USDC stablecoin
- Testnet support for development and testing
- Detailed transaction history for accounting
- Programmatic access via SDK
How It Works
Base Subscriptions leverage Spend Permissions – a powerful onchain primitive that allows users to grant revocable spending rights to applications. Here’s the complete flow:1
User Approves Subscription
Your customer grants your application permission to charge their wallet up to a specified amount each billing period. This is a one-time approval that remains active until cancelled.
2
Automatic Periodic Charging
Your backend service charges the subscription when payment is due, without requiring any user interaction. You can charge up to the approved amount per period.
3
Smart Period Management
The spending limit automatically resets at the start of each new period. If you don’t charge the full amount in one period, it doesn’t roll over.
4
User Maintains Control
Customers can view and cancel their subscriptions anytime through their wallet, ensuring transparency and trust.
Implementation Guide
Architecture Overview
A complete subscription implementation requires both client and server components: Client-Side (Frontend):- User interface for subscription creation
- Create wallet requests and handle user responses
- Wallet for executing charges
- Scheduled jobs for periodic billing
- Database for subscription tracking
- Handlers for status updates
- Retry logic for failed charges
Security RequirementsTo accept recurring payments, you need:
- A dedicated wallet address to act as the subscription owner (spender)
- Backend infrastructure to execute charges securely
- Database to store and manage subscription IDs
- Never expose private keys in client-side code
Client-Side: Create Subscriptions
Users create subscriptions from your frontend application:SubscriptionButton.tsx
Server-Side: Charge Subscriptions
Execute charges from your backend service that controls the subscription owner wallet:chargeSubscriptions.ts
Private Key SecurityNever expose your subscription owner private key
Testing on Testnet
Test your subscription implementation on Base Sepolia before going live:testnet.ts
Network Support
Network | Chain ID | Status |
---|---|---|
Base Mainnet | 8453 | ✅ Production Ready |
Base Sepolia | 84532 | ✅ Testing Available |