DEIMOS AI LLC · PUBLIC RECORD DEIMOS (JPL 402) RA 08ʰ56ᵐ38ˢ DEC +18°40′03″ Δ 1.537 AU AS OF 18 OCT 18:00 UTC REV 2026.10.18
Ratchet mission patch
Ratchet · OnceDivision I · Control

Your agent retried. Do you know what it already did?

Ratchet is the effect gate for AI agents. A retried charge, deploy or email is started at most once. When nobody can know whether it happened, Ratchet says indeterminate instead of guessing.

LIVE Free · 1,000 effects / month1 Licence · Apache-2.02 OpenSSF · Silver · 144403 Speaks · HTTPS · MCP
  1. 1Source · ratchetgate.com pricing · as of
  2. 2Source · GitHub repository · as of
  3. 3Source · bestpractices.dev · as of
§01 / The Pawl

A hundred attempts. A wheel that only turns forward.

A published run against the live service: a loop bug fires a hundred charges at once against a budget.

Attempt 100 / 100Executed 20Denied 80

One cell per attempt, in order.
1 Click pawl. The wheel can’t turn back. 2 Budget pawl. At the budget it drops, and the wheel can’t go further.
  1. Attempts 1–20 · Executed

    Inside the budget, each one acts.

    Every attempt asks the gate first. Each is started at most once, and the wheel turns one tooth.

  2. Attempt 20 · The budget pawl drops

    The budget is spent.

    The gate refuses the step that would cross it. The agent can’t raise the limit.

  3. Attempts 21–100 · Denied

    Eighty more, answered at the gate.

    None of them reaches the vendor. The wheel doesn’t move.

100 attempts · 20 executed · 80 denied · 341 ms

Source · ratchetgate.com worked scenarios · as of

§02 / The retry storm

Your agent is about to charge a card.

Beat 1 · One call, before acting

It asks first.

Ratchet takes a durable record and hands back a lease. That’s the only call that costs anything.

Beat 2 · Your code, your vendor

Now it acts.

Ratchet never touches the vendor. No credentials, no outbound access, no proxy. Your code does the work and reports what happened.

Beat 3 · Where the retries go

Then the retries arrive.

A supervisor re-runs the task. Two workers race. The agent wakes from a crash. Every one of them gets the recorded answer: duplicate, replay the result, do not act.

Beat 4 · The honest unknown

And when it crashes mid-charge?

Ratchet doesn’t guess. The effect becomes indeterminate, a known unknown, and your policy decides what happens next. Never a silent retry.

§03 / What’s in the gate

Ask. Act. Report. Everything else follows.

01 · At most once

A retry gets the same answer.

A restart, a re-run and two workers racing all get the recorded result. The same real-world action is started at most once.

02 · Honest unknowns

When nobody can know, it says so.

If the agent dies before reporting, the effect is marked indeterminate instead of guessed. You choose: block, retry, or check first.

03 · Budgets

A spend limit the agent can’t raise.

Give a task a budget and the gate refuses the step that would cross it. Rate caps and a breaker for runaway surges come with it.

04 · Memory

It remembers for you.

An agent that lost its context asks what it already did. One call, not a re-derivation.

05 · Reversible groups

Step five fails? Here’s the undo plan.

Declare the steps as one unit and how to undo each. Ratchet hands back the rollback in reverse order, and each undo is gated too, so no double refunds.

06 · Reconcile

Catch what skipped the gate.

Compare the vendor’s own records with what Ratchet approved, and find any action that went around it.

§04 / The Line

What it does. What it never claims.

What it does

  • Starts a retried charge, deploy or email at most once.
  • Marks an effect indeterminate when nobody can know whether it happened.
  • Refuses the step that would cross a budget.
  • Hands back the undo plan for a reversible group, and gates each undo.
  • Reconciles the vendor’s records against what it approved.

What it never claims

  • It never guesses whether an effect happened.
  • It never touches your vendor: no credentials, no outbound access, no proxy.
  • It does not stop an action that goes around the gate. Reconcile finds it afterwards.
  • It does not undo anything by itself. Your code runs the undo plan, through the gate.
§05 / Evidence

Don’t trust us. Check us.

VERIFIED
20 / 100

Executed out of 100 simultaneous charges against a budget; 80 denied, all settled in 341 ms.

Source · ratchetgate.com worked scenarios · as of
VERIFIED
Silver

OpenSSF Best Practices badge, project 14440.

Source · bestpractices.dev · as of
VERIFIED
1,000

Gated effects a month on the free plan. No card.

Source · ratchetgate.com pricing · as of
VERIFIED
2

HTTP calls to gate an action: one before, one after.

Source · ratchetgate.com · as of
VERIFIED
Apache-2.0

Open source on GitHub. The MCP server is on npm as ratchet-mcp.

Source · GitHub repository · as of Package · npmjs.com/package/ratchet-mcp
Briefing / Q&A

Briefing: common questions

What is an effect gate?

An effect gate sits in front of an action that can’t be taken back. Before acting, the agent asks Ratchet; Ratchet takes a durable record and hands back a lease. The agent’s own code does the work and reports what happened. Ratchet never touches the vendor: no credentials, no outbound access, no proxy.

How do I stop an AI agent from charging a card twice?

Gate the charge. One call before acting, one after. A retry, a supervisor re-run, a restart after a crash or two workers racing all get the recorded answer: duplicate, replay the result, do not act. The same real-world action is started at most once.

How does idempotency work for AI agents?

Ratchet keys every effect on an idempotency key. The first ask about a key is the only thing that is metered; duplicate suppression, in-flight checks, retries, reports and reads are free. Unlike a bare idempotency key, Ratchet also covers the case where the agent dies before reporting.

What happens if the agent crashes mid-action?

Ratchet doesn’t guess. The lease expires with nothing reported and the effect becomes indeterminate: a known unknown. Your policy for that effect type decides what happens next: block, retry, or check first. Never a silent retry.

Can I cap what an AI agent spends?

Yes. Give a task a budget and the gate refuses the step that would cross it; rate caps and a breaker for runaway surges come with it. In a published run against the live service, 100 simultaneous charges hit a budget: 20 executed, 80 denied, all settled in 341 ms.

Does Ratchet work with MCP?

Yes. Ratchet speaks plain HTTPS, or MCP over stdio and streamable HTTP, with no SDK required. The MCP server is on npm as ratchet-mcp.

Is Ratchet open source?

Yes. The source is on GitHub under Apache-2.0, and the project holds the OpenSSF Best Practices Silver badge (project 14440).

How do I start with Ratchet?

Create a free workspace at ratchetgate.com: 1,000 gated effects a month, no card, an email is all it takes. Or let your agent call the gate first, and a real workspace comes back with the decision.

Next instrument · Division I · ACCOUNTABLECrimp