Start free with a single tag. Upgrade to Pro for unlimited tags, custom reflex rules, and 2-second pulse intervals.
Add the SDK, send pulses, and start gating your API in minutes. 50K gate calls/mo with a 30-second pulse interval.
Get started2-second pulse intervals, unlimited tags, custom reflex rules, and 500K gate calls with $0.05/1K overage. Set a hard cap in your dashboard — no surprise bills.
Start ProSub-second pulse intervals, unlimited everything, and dedicated support with SLA.
Contact salesEverything at a glance. See exactly what each tier includes.
| Feature | Hobby | Pro | Enterprise |
|---|---|---|---|
| Price | $0 | $49/mo | $499+/mo |
| Pulse interval | 30 seconds | 2 seconds | <1 second |
| Gate calls/mo | 50,000 | 500,000 | Unlimited / custom |
| Overage rate | – | $0.05/1K | Custom |
| Tags | 1 | Unlimited | Unlimited |
| Sites | 1 | 10 | Unlimited |
| Custom reflex rules | – | ✓ | ✓ |
| Custom metrics | – | 5 per tag | Unlimited |
| Lease duration | 5 minutes | 2 minutes | 1 minute |
| Telemetry retention | 24 hours | 30 days | 90 days |
| Weight-based gating | – | ✓ | ✓ |
| In-app SDK | ✓ | ✓ | ✓ |
| Support | Docs | Dedicated + SLA |
The jump from Hobby to Pro isn't more of the same. It's a different level of visibility into your fleet.
The difference between a 30-second and a 2-second pulse interval is the difference between a smoke detector and a professional fire suppression system.
Catches sustained spikes. Great for background services and low-priority APIs.
Sees degradation early. When your AI router hits its limit, the reflex engine reacts within seconds, shedding low-weight traffic before your database locks up.
With Pro, you define exactly how the reflex engine responds to each metric. Tag-scoped rules with metric/operator/threshold/action.
Block free-tier traffic when latency exceeds 500ms. Throttle pro-tier to 50% when errors spike above 50. Enterprise traffic flows uninterrupted.
Hobby users can call gate() today. The SDK works with a single tag and default rules. Upgrading to Pro unlocks unlimited tags and custom reflex rules with zero code changes.
Common questions about how WaitState works and what to expect.
How often the SDK sends telemetry and receives updated policies. Hobby: 30s. Pro: 2s. Enterprise: sub-second. Faster pulses mean faster reflex reactions to backend health changes.
The SDK uses its cached policy and gate decisions continue normally. If the outage exceeds the lease duration, the SDK enters safe mode and throttles to your configured rate. When the control plane is back, normal gating resumes immediately.
No. The SDK never throws. gate() returns a result object: { allowed: false, reason: "over_weight" }. Clean control flow, no try/catch.
Every gate() invocation counts as one gate call, regardless of tag weight. Weights affect shedding priority, not billing. Set a hard cap in your dashboard to prevent surprise bills.
Tags categorize traffic with numeric weights. When a reflex rule fires, low-weight traffic is shed first. This gives you automatic tier-based shedding without complex condition expressions.
Yes. gate() reads from an in-memory policy cache. It never makes a network call. Pulse sending and policy fetching happen on background timers. Sub-millisecond overhead on your request path.
How long the SDK caches its policy before it must check in again. If it can't reach the control plane before the lease expires, it enters safe mode and throttles to your configured rate. Shorter leases mean faster recovery.
No. The SDK works with a single tag and default rules on Hobby. Upgrading to Pro unlocks unlimited tags and custom reflex rules with zero code changes. Just flip the plan.
On Hobby, gating pauses until the next billing cycle. On Pro, overages are billed at $0.05/1K so you're never cut off mid-spike. Enterprise plans have custom volume pricing.
Free tier. No credit card. Add the SDK in under 5 minutes.