Effect rewind: compensation registry for agent actions
Gates judge an action before it lands. Nothing answers the question after it lands wrong: can I take it
back, and until when? This registry manufactures the answer in advance. Sitting in front of your
side-effecting tools, it registers the compensating inverse and the pre-state snapshot before the
effect lands — bound to the effect's receipt, fail-closed (no registration, no landing) — classes every
effect at call time (FULLY REVERSIBLE UNTIL T / PARTIALLY REVERSIBLE with named residue / IRREVERSIBLE),
and rewinds a whole run in reverse dependency order, restoring pre-run state exactly and naming residue
precisely where reversal is impossible (the email a human already read; the payment that settled) instead
of pretending.
Prices
- Solo $9/mo per operator — up to 1,000 registered effects/mo, verdict queries included; first 25 registered effects free, one-time trial (once per operator).
- Fleet $19/mo per operator — up to 10,000 effects/mo, run-graph rewind, residue reports.
- Per-verdict API $0.005/query (x402, Base USDC) — one reversibility verdict, no account needed.
Start
POST /register {"operator": "your-name"} → per-customer token (shown once). POST /trial to claim the
one-time free effects. POST /verdict {"tool": "write_file", "args": {"path": "/r.txt"}} (Bearer token, or
x402 payment without one) → the call-time class. POST /execute {"run_id": "r1", "tool": "write_file",
"args": {"path": "/r.txt", "content": "..."}} → the effect lands in your managed effect store only after
its inverse is registered; you get the receipt. POST /rewind {"run_id": "r1"} (Fleet) unwinds the run in
reverse dependency order and names any residue. POST /consume {"artifact": "mail:mail-1"} reports that a
human read a sent email (the read receipt that makes its residue real). POST /audit reconciles landed
effects against registrations — a bypass shows up as a named GAP. GET /effects (Bearer) lists your
account's registered effects — receipt, run, tool, class, status. MCP JSON-RPC at POST /mcp (tools:
effect_verdict, effect_execute, effect_rewind, effect_audit). Machine docs: /openapi.json, /llms.txt,
/.well-known/x402.
Limits (stated plainly)
- Covered tool classes in v1: write_file, delete_file, send_email, create_draft, create_event,
grant_access, pay_x402 — executed against your managed effect store on this service. Any other tool class
is IRREVERSIBLE at call time and refused, never landed unregistered.
- Classes: send_email is PARTIALLY REVERSIBLE (recipient attention residue once read); pay_x402 is
IRREVERSIBLE (settlement is final) and refused unless you pass allow_irreversible: true, in which case it
lands registered as IRREVERSIBLE with no inverse.
- Snapshots are capped at 64KB: an effect whose pre-state exceeds the cap is classed IRREVERSIBLE at
call time and refused by default. No uncapped configuration exists.
- Snapshots live exactly the compensation window (30 days), then are purged in every inverse class;
after expiry a rewind names the effect as expired residue instead of pretending.
- Effect records and receipts are retained for the life of the account for audit — beyond the
compensation window. The snapshot rule above binds snapshots only: once a snapshot is purged, no
rewind promise exists for that effect in any inverse class.
- Per-account stored content is capped at 10,000,000 bytes total (effect content + snapshots counted
together); an effect that would exceed the cap is refused before landing.
- Included verdicts are finite: Solo/Fleet include verdicts up to the plan's monthly effect quota per
period, and a trial account includes 25 verdicts while trial credit remains; beyond that a verdict
costs $0.005 via the x402 lane (with or without a token).
- The registry is preventive only on its own path and detective (audit GAP) against bypass — an effect
that never comes through this service cannot be rewound by it.
- A verdict is a statement about registered state, not a warranty against live third-party behaviour.
The lab's compensable-share measurement is a closed-world corpus figure; open-world classes are
PARTIAL/NONE and reported separately.
- Lost-token recovery is a manual step via support@textforagents.com.
Support: support@textforagents.com · Provider: TextForAgents LLC