Define rate limit rules per API key, IP, or user. Apply them in front of any HTTP service. Your own API gateway rate limiting without the $200/mo Apigee plan.
Every rule your team creates contains context that matters — name, path, limit, window seconds, enabled. When that data lives in a third-party service, you are one acquisition or policy change away from losing access. Cutoff keeps it local.
On first launch, Cutoff initializes a WAL-mode SQLite database and starts an HTTP server. The web dashboard and API share the same port. Creating a rule is a POST with JSON — the only required field is name. The response includes the generated ID and timestamp. Listing supports search, filtering, and returns items in reverse chronological order.
Download the binary and run it. Cutoff starts serving immediately with a dashboard at localhost and a REST API for automation. No cloud account, no API keys to provision, no monthly invoice. Your data lives in a SQLite file you can back up, move, or query directly.
GET /api/rules — List all rules. Supports ?q=keyword for search and ?status=value for filteringPOST /api/rules — Create a new rule. Send JSON with at least nameGET /api/rules/{id} — Fetch one rule by IDPUT /api/rules/{id} — Update fields on an existing ruleDELETE /api/rules/{id} — Remove a ruleGET /api/stats — Returns total count and breakdown by statusGET /api/health — Returns {"status":"ok"} for uptime monitoringSelf-hosted API rate limiter. Self-hosted on your infrastructure. Your data never leaves your server.
curl -fsSL https://stockyard.dev/install.sh | sh -s -- --tool cutoff
PORT=8810 ./cutoff
http://localhost:8810
Single binary. Embedded SQLite. No Docker. No database. No dependencies.
Your license key arrives by email within 5 minutes of checkout. Set it as an environment variable and restart the binary.
export CUTOFF_LICENSE_KEY=stockyard_xxxxxxxxxxxxxxxxxxxx ./cutoff
No cloud connectivity required. The binary validates the key offline with Ed25519 signatures.