Flags, experiments, plans and permissions for AI agents.
One call. One answer.

Your users want control. They just don't want to be asked. Throtl decides what your agent may do for each user, and tells you which gate decided.

inbox-agent email.send → Sam's client
Ask

    In a conversation

    Sam says "send that automatically next time". What should your agent say back?

    The answer depends on Sam's plan, the rollout, your experiment and Sam's history. Change them and watch the reply change. Throtl returns the reason for you and a safe sentence for Sam.

    Plan
    Auto-send flag
    Experiment
    Sam's history
    SamSend that automatically next time
    Agent
    request_promotionPreview API

    Why one call

    Every tool controls one gate. Your agent's action passes through all of them.

    A user can grant your agent permission to act, while their plan doesn't include it and your experiment is holding it back. Decide those separately and you get three answers and a bug.

    Five tools and an if

    A flag tool, an experiment tool, Stripe, a needsApproval function and an approvals table. Nobody can say why it sent that.

    A classifier that doesn't know your user

    Global auto-approve judges the action, not the person. It can't know Sam is on Free, in a holdout, and has never paid this payee.

    Approval routers that never learn

    They get the question to a human, then ask again tomorrow. Users approve the same thing forever, until they stop reading.

    59%

    of people open to agents want to approve every purchase one makes.

    Global Payments, 2026
    93%

    of permission prompts get approved anyway, most without a second look.

    Anthropic, Claude Code

    Ask every time and people stop reading. Never ask and one bad send ends up in a screenshot. Agents should earn their way, inside the plan and the test each user is in.

    Run it, don't redeploy it

    Change the rules in Throtl, not in your code.

    Flags, ramps, experiments and plans live in Throtl as data. Ramp from 20% to 50%, end a test or change what Free can do, and your agent picks it up in seconds. No pull request, no deploy.

    auto-sendrollout
    50%was 20% · 2h ago
    send-autonomyarm A, held at Ask
    3,104of 5,000 needed
    send-autonomyarm B, earned
    3,071of 5,000 needed
    • 14:02Priya ramped auto-send 20% → 50%, "undo rate flat for 48h"
    • 09:40Tom set Free to always ask for payment.send
    • YesterdayHoldout q4-global started, 5% of users

    Every change is audited

    Who changed what, when and why, next to the decisions it affected. Roll back in one click.

    Watch each group fill

    See every rollout and experiment arm fill in real time, with exposures, sample size and how approval and undo rates are moving.

    Your users' answers are inputs too

    "Always ask me about payments." "Send these automatically." Every approval, edit and undo, per user and per action, shapes the next decision. Feature flags never see any of it.

    How it works

    One call before every action.

    1. Wrap the action. Works with Claude Agent SDK, OpenAI Agents SDK, Vercel AI SDK, LangGraph, Mastra and MCP.
    2. Throtl decides. Flag, experiment, plan and earned trust in a fixed order. The lowest wins, and it's named.
    3. Every answer teaches it. Approvals earn trust and undos cost it, inside the limits your plans and tests set.
    agent.tsPreview API
    // npm i @throtl/sdk
    import throttle from "@throtl/sdk";
    
    const d = await throttle.can({
      agent: "inbox", subject: "sam", action: "email.send",
    });
    
    d.decision  // "ask"
    d.binding   // "experiment:send-autonomy"
    d.message   // "Can I send this to Sam's client?"
    
    await throttle.record(d.id, "approved");

    An open standard

    Six levels of agent autonomy.

    Like the levels for self-driving cars, but earned per user and per action. Open for anyone to adopt, with Throtl as the reference implementation.

    A square robot pushes a throttle lever from Suggest to Autonomous L0L5
    L0 Suggest
    1. L0Suggest
    2. L1Ask
    3. L2Heads up
    4. L3Act and tell
    5. L4Act and summarise
    6. L5Autonomous

    Give your agent a throttle, not a leash.

    We're onboarding a small group of agent teams before launch. Built by people who've run experiments for 200M+ players and shipped an AI agent platform in a regulated money app.