Plans & Billing
Everything you need to know about DiffHook plans, usage limits, and billing. Covers monitor quotas, check frequency, webhook delivery limits, invoices, payment methods, and how to upgrade or cancel.
Plans at a glance
| Plan | Price | Monitors | Checks / mo | JS rendering checks / mo | Min interval | Seats |
|---|---|---|---|---|---|---|
| Free | $0 | 3 | 2,500 | — | 60 min | 1 |
| Starter | $12 / mo | 20 | 15,000 | 7,500 | 15 min | 2 |
| Pro | $29 / mo | 100 | 150,000 | 25,000 | 5 min | 5 |
| Business | $79 / mo | 500 | 750,000 | 100,000 | 1 min | Unlimited |
Annual billing saves ~25% on all paid plans. Add-ons are always billed monthly.
What is a check?
Every time DiffHook polls a monitor URL, that is one check. A monitor set to 5-minute polling runs approximately 8,640 checks per month. Your plan's monthly check allowance is shared across all monitors and resets at the start of each billing period.
JS rendering checks are counted separately. When a monitor uses a headless browser to render JavaScript, it consumes from the JS rendering check budget rather than the standard check budget.
Monitor limits
Only active monitors count toward your plan's monitor, check, and JS rendering check limits. Paused monitors do not count — pausing is the right way to temporarily free up capacity without losing your configuration.
When you resume a paused monitor, DiffHook checks that the action would not exceed your current plan's limits (monitor count, monthly checks, and minimum polling interval) before re-activating it.
Usage limits and overages
Checks and JS rendering checks reset monthly. When a limit is reached:
- Standard checks — affected monitors pause until the start of the next billing period. You will receive a warning email before hitting the ceiling.
- JS rendering checks — monitors fall back to standard (non-JS) rendering until the limit resets, or until you purchase additional JS rendering checks.
- Log storage — the oldest log entries are pruned to make room for new ones. Your most recent data is always preserved.
Add-ons
Add-ons are billed monthly and can be added or removed at any time from App → Billing.
| Add-on | Price | Who can use it |
|---|---|---|
| +100 monitors & 150,000 checks/mo | $9 / mo | Business only |
| +10,000 JS rendering checks | $7.50 | Business only |
| +100 GB log storage | $5 / mo | Business only |
The monitors add-on can be stacked (e.g. two packs = +200 monitors and +300,000 checks).
Log storage and history
Log history controls how far back you can browse (7 days on Free, 30 days on Starter, etc.). Log storage is the total disk space for full diff payloads and check results:
| Plan | Log history | Log storage |
|---|---|---|
| Free | 7 days | 25 GB |
| Starter | 30 days | 100 GB |
| Pro | 90 days | 250 GB |
| Business | 1 year | 500 GB |
Storage can be extended with the $5 / 100 GB add-on.
Upgrading or downgrading
You can change your plan at any time from App → Billing.
- Upgrade — takes effect immediately; you are billed a prorated amount for the remainder of the billing period.
- Downgrade — takes effect at the end of the current billing period; your current plan stays active until then.
If you downgrade to a plan with fewer monitor slots than you currently use, monitors over the new limit will be automatically paused (not deleted). You can choose which ones to keep active.
Invoices and receipts
Invoices are issued automatically on your billing date. Download past invoices from App → Billing → Invoice history.
If you need a VAT invoice or custom billing details (company name, address, tax ID), update your billing profile in App → Billing → Manage billing via the Stripe portal.
Payment methods
DiffHook uses Stripe for payment processing. Accepted methods:
- Credit and debit cards (Visa, Mastercard, Amex)
- SEPA Direct Debit (EU)
- ACH Direct Debit (US)
To update your payment method, go to App → Billing → Manage billing.
Failed payments
If a payment fails, Stripe retries over the following days. You will receive email reminders. After the grace period, your account downgrades to the Free plan and monitors over the Free limit are paused.
Reactivating your subscription restores all your monitors automatically.
Cancellation
Cancel at any time from App → Billing → Manage billing. Your paid plan remains active through the end of the billing period — there are no prorated refunds for early cancellation.
Your monitor configuration and data remain accessible until the end of the paid billing period. After that, the account reverts to the Free plan — monitors over the Free limit are paused, and log history is trimmed to the Free plan's 7-day window. If you archive the team at any point, all data is permanently and immediately deleted with no recovery window.
Enterprise & custom pricing
For teams needing custom limits, SLA guarantees, SSO, or data processing agreements, contact support@diffhook.com.