Consumer pays USDC for a subscription plan → receives token → makes unlimited calls within limits → owner earns 95% revenue
Why Subscriptions on Sertone?
Pay-per-use is great for occasional consumers, but high-volume users want predictable costs. Sertone lets API owners offer both models simultaneously: pay-per-call for light users, monthly or yearly subscriptions for power users.
Subscription plans are managed automatically. When a consumer subscribes, USDC is transferred upfront and the subscription period starts immediately. The consumer receives a token that authorizes unlimited API calls within their plan limits for the subscription duration.
For API owners, subscriptions mean recurring, predictable revenue. No invoice generation, no payment reminders, no churn management headaches. When the subscription expires, the consumer either renews or falls back to pay-per-use pricing.
Try It Live
Subscribe
Choose a plan and pay with USDC
Check Status
Verify active subscription
Make Calls
Use your subscription allowance
Review Usage
See remaining time and calls
Subscription Manager
Code Samples
# Call the API through YOUR local Sertone control center
$ curl -X POST https://localhost:3000/internal/call \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_CONSUMER_SECRET" \
-d '{"api_id_public": "API_UUID_FROM_CATALOG", "method": "GET", "path": "/", "params": {}}'
// Call the API through YOUR local Sertone control center
// Consumer secret is in Settings > Security
const response = await fetch('https://localhost:3000/internal/call', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_CONSUMER_SECRET'
},
body: JSON.stringify({
api_id_public: 'API_UUID_FROM_CATALOG',
method: 'GET',
path: '/',
params: {}
})
});
const data = await response.json();
console.log(data.result);
# Call the API through YOUR local Sertone control center
import requests
response = requests.post(
'https://localhost:3000/internal/call',
headers={
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_CONSUMER_SECRET'
},
json={
'api_id_public': 'API_UUID_FROM_CATALOG',
'method': 'GET',
'path': '/',
'params': {}
}
)
print(response.json()['result'])
Self-Host in Minutes
Install the Control Center
Run the free Sertone Docker container. No cloud account needed.
$ docker run -d --name sertone \
-p 3000-3003:3000-3003 -p 3005-3006:3005-3006 \
-v sertone-data:/app/data \
sertone/wrapper:latest
Open the Web Console
Go to https://localhost:3002/panel in your browser. Create your account, accept terms, and your wallet is generated automatically.
Browse the Catalog
Click Catalog & SDKs in the sidebar. Search for APIs, try them in demo mode (free), then switch to production when ready.
Make Your First Call
Copy your consumer secret from Settings > Security, then use the code samples above to call any API from your own code.