Round numbers. No surprises.
Every paid plan includes a 14-day free trial. Annual is exactly two months off. No fractional weirdness, no overage charges.
Solo dev, side project, or small SaaS. No surprise bills.
Start free trialReal product team, modest-to-busy traffic. Optional pay-as-you-go for spikes.
Start free trialHigher volume, SAML SSO, contracted SLA. Annual commits use a yearly event pool.
Start at $199/moOr talk to sales for custom volume / SLA terms.
The only thing we meter is events.
Every paid plan ships with unlimited team members, projects, environments, channels, and 365-day retention. Pricing scales with how much data you ingest. Not how big your team is or how many things you instrument.
Pay-as-you-go is opt-in on Team and Enterprise. By default your bill is fixed each month and ingest pauses if you exceed your quota. Turn pay-as-you-go on and overage is billed in 1,000-event blocks. Set a spend ceiling and your bill is capped wherever you say.
Full feature breakdown
| Feature | Solo | Team | Enterprise |
|---|---|---|---|
| Events & capacity | |||
| Events per month | 5k | 100k | 500k (or 6M / yr on annual) |
| Pay-as-you-go overage | - | $0.50 / 1k block | $0.30 / 1k block |
| Customer-set spend ceiling | - | ✓ | ✓ |
| Team members | Unlimited | Unlimited | Unlimited |
| Projects | Unlimited | Unlimited | Unlimited |
| Environments per project | Unlimited | Unlimited | Unlimited |
| Detection & retention | |||
| Event retention | 365 days | 365 days | 365 days (longer on contract) |
| Anomaly detection | ✓ | ✓ | ✓ |
| Per-customer health views | ✓ | ✓ | ✓ |
| Exportable audit log | ✓ | ✓ | ✓ |
| Alerts | |||
| ✓ | ✓ | ✓ | |
| Slack webhook | ✓ | ✓ | ✓ |
| PagerDuty | ✓ | ✓ | ✓ |
| Microsoft Teams | ✓ | ✓ | ✓ |
| Custom webhook | ✓ | ✓ | ✓ |
| Platform | |||
| Dashboard + Wall + command palette | ✓ | ✓ | ✓ |
| @upkeel/sdk (MIT) | ✓ | ✓ | ✓ |
| Security & compliance | |||
| TLS in transit · encryption at rest | ✓ | ✓ | ✓ |
| SAML SSO | - | - | ✓ |
| SOC 2 artifacts | - | - | ✓ |
| BAA (HIPAA) | - | - | On request |
| Support | |||
| Email support | ✓ | ✓ | ✓ |
| Priority support | - | ✓ | ✓ |
| Uptime SLA | - | - | ✓ |
Pricing questions
keel.fulfill(), keel.event(), keel.cancel(), or the flow primitives. Registering an expectation with keel.expect() doesn't count toward your cap, and neither do server-side detection checks.Ready to start?
Pick Solo or Team and your card isn't charged for 14 days. Cancel any time before from the in-app billing portal.