Distributed rate limiting in one atomic call.
Detent is a rate limiter as a service. One HTTP request, one correct decision — no race conditions, no taking your app hostage. Hosted in the EU.
curl -X POST https://api.detent.fr/v1/limit \
-H "Authorization: Bearer dt_live_…" \
-d '{"namespace":"checkout","key":"user_42","algorithm":"sliding_window","limit":100,"window_ms":60000}'
{ "allowed": true, "remaining": 87, "reset_ms": 41230 }A correct distributed rate limiter is a minefield.
Two instances increment the same counter at the same instant, and your limit blows past. Most home-grown implementations over-admit under load — and the bug only shows up in production, at the worst possible time.
Detent runs every algorithm as a single atomic operation, against one authoritative clock. No race window, no over-admission.
Four algorithms, one guarantee: atomicity.
Sliding window
Precise rolling window, no bursts at the window edge.
Token bucket
Allows bursts up to a capacity, refills at a steady rate.
Fixed window
The simplest, cheapest counter, per fixed interval.
Concurrency (leases)
Limits in-flight requests: acquire a lease, release it when done.
Three ways to call Detent.
curl, TypeScript or Python — same verdict, same contract.
curl -X POST https://api.detent.fr/v1/limit \
-H "Authorization: Bearer dt_live_…" \
-d '{"namespace":"checkout","key":"user_42","algorithm":"sliding_window","limit":100,"window_ms":60000}'Built to never take your app down.
Fail-open
If our infrastructure is briefly unavailable, Detent allows and alerts you. Our outage never becomes yours.
The verdict is data
POST /v1/limit always returns 200 with allowed: true/false. Detent never emits 429 for you — you decide.
Stable error codes
Every error carries a stable machine code, for client-side handling and localization without parsing text.
Observable
Metrics exposed on /metrics: decisions, fail-open, quotas — compatible with your monitoring tools. Wire up your dashboards in minutes.
Flat price per tier. You know exactly what you pay.
Starter
For side projects and early-stage.
€29 / month
- →5M requests / month
- →3 namespaces
- →Sliding window + Fixed window
- →Basic dashboard
- →EU region (Paris)
- →Email support
Pro
For SaaS with a public API.
€89 / month
- →50M requests / month
- →Unlimited namespaces
- →All algorithms + concurrency
- →Webhook on-limit
- →30-day analytics
- →Priority support
- →<5ms p99 latency (roadmap)
Scale
For high-traffic APIs.
€249 / month
- →500M requests / month
- →All algorithms + concurrency
- →Dynamic rules via API
- →Real-time analytics
- →Dedicated onboarding
- →Multi-region (roadmap)
- →99.9% SLA (roadmap)
Up to 22× cheaper than per-request pricing like Upstash — and hosted in the EU.