One check before every action. ProceedGate detects loops, enforces budgets, and returns a signed token as proof.
In action
Three scenarios, cycling automatically. Same agent, same URL — iteration count is the only thing that changes.
How it works
Every check is evaluated in under 50ms at the edge. Your agent gets a signed token or a hard block — decided before the API call is made.
Before every action — model call, HTTP request, tool use — send the action type and a hash of what the agent is about to do.
≤ 5 repeats → auto-allow.
6–10 repeats → AI decides (Llama 3.1 8B).
> 10 repeats → hard block, 429.
Allowed: a signed proceed_token (ES256, 45s TTL). Blocked: a loop_detected reason with retry-after and loop data.
The check endpoint
One POST. Works with any agent framework, language, or orchestrator. If the check passes, attach the token to your downstream call as proof of governance.
If the check fails with 429, the loop is stopped before it touches your API quota.
Features
No vaporware. Everything below is live in the free tier today.
SHA-256 hash of action + task_hash + step_hash, tracked in a 60s sliding window per workspace. Three zones: safe, gray (AI), storm. Zero config.
Every allowed action returns a JWT signed ES256 (P-256). 45s TTL. Verify downstream at /.well-known/jwks. Cryptographic proof the action was governed.
Credits-based hard cap per workspace. When credits hit zero, checks return 402 — the agent can't spend past the limit even if it ignores the response.
Each workspace accumulates a trust score 0–100. Trusted agents get looser thresholds. Untrusted agents face tighter gates. Updates automatically from behavior.
Machine Payments Protocol (Stripe + Tempo). Agents pay per-check via HTTP 402 with TIP-20 tokens. All payments recorded in a CostLedger Durable Object, queryable via GET /costs/:agentId.
POST to Slack or Discord when a loop is blocked or credits fall below threshold. Configure per workspace. No polling required to know when something went wrong.
Pricing
All plans include the full API. No feature gating on loop detection or proceed tokens.
Integration
The Node SDK wraps the check endpoint. Drop it into any framework — LangChain, CrewAI, Apify, or raw fetch.
// Option A — simple check (credits only, no proceed_token) curl -X POST https://governor.proceedgate.dev/v1/check/simple \ -H "Authorization: Bearer $PG_KEY" \ -H "Content-Type: application/json" \ -d '{"user_id": "my-agent"}' // Option B — full governance check (loop detection + proceed_token) curl -X POST https://governor.proceedgate.dev/v1/governor/check \ -H "Authorization: Bearer $PG_KEY" \ -H "Content-Type: application/json" \ -d '{ "policy_id": "retry_friction_v1", "action": "model_call", "actor": {"id": "my-agent", "project": "$WORKSPACE_ID"}, "context": {"attempt_in_window": 1, "task_hash": "sha256-of-prompt"} }'