Plans & billing
Pay monthly, or by the hour. Both work; neither locks you in.
Plans
| Field | Type | Notes |
|---|---|---|
| Free | $0 | 10 monitors · 60s minimum interval · Telegram alerts |
| Starter | $19/mo | 50 monitors · 30s interval · all alert channels · AI diagnosis |
| Pro | $79/mo | 500 monitors · 10s interval · priority alerting |
| Pay-as-you-go | from $1 | 500 monitors · 30s interval · no subscription; you spend credit while monitors run |
How pay-as-you-go works
Add any amount of credit and it becomes monitor-hours. $1 buys 5. One monitor running for one hour spends one monitor-hour, so two monitors spend two per hour — you pay for what you actually watch.
$5 → 25 monitor-hours
2 monitors running → 12.5 hours of monitoring
5 monitors running → 5 hoursThe billing page shows what you have used, what is left, and roughly when it runs out at your current monitor count. When credit reaches zero you drop to the Free limits — nothing is deleted, and topping up picks straight back up.
Credit never expires, and a subscription does not consume it. If you subscribe with credit left over, it sits there until you need it.
AI diagnosis
Included on Starter (100/month) and Pro (1000/month). On pay-as-you-go it costs 5 monitor-minutes — about 1.7¢ — and the price is shown on the button before you press it.
You are only charged if a diagnosis is actually returned. If the analysis fails you get the raw measurements and the credit back.
What happens at a limit
Creating a monitor past your plan's limit returns a clear error rather than silently succeeding, and existing monitors keep running. Over the API you get a 422 naming the limit — which is why a declared file reports that one monitor as an error and still applies the rest.
Check from the API
curl -s https://sysops247.io/api/v1/billing \
-H "Authorization: Bearer $BEACON_API_KEY" | jq
curl -s https://sysops247.io/api/v1/monitors/usage \
-H "Authorization: Bearer $BEACON_API_KEY" | jq