A runtime that lets agents act, not just answer.
Every request runs through identity, the brake, a single write and a read-back, in your API and with your user's permissions. The agent on top can change; the guarantees don't.
One turn, from the inside
Every request is a turn whose steps are saved before they run. If something fails halfway, you know where it stopped.
Understands the request
From what the person wrote and what they have open in your product.Reads what it needs
With your API's read tools, under that person's permissions.The brake decides
What has no damage, it does. What has some comes up as a card the person confirms.Writes exactly once
With the person's identity and a key that keeps it from happening twice.Reads back and compares
It reads your API again and compares against what was asked. If it doesn't match, it says so.Records it in the log
What it did, on whose behalf and how the read-back went. Nobody edits it.
Channel
Chat inside Acme BillingIdentity
Session signed by Acme Billing · MaríaModel
Move invoice F-2291's due date to the 30thDamage policy
A date change can be undone: goes straight throughExecutor
PATCH /v1/invoices/F-2291Read-back
due = 2026-11-30 · verifiedReply
“Done: F-2291 is now due November 30”
Acme Billing is a made-up product we use to show the runtime.
The brake, set by the damage
Your team tags each tool with the damage it can do. The brake doesn't depend on what the model says: the code decides it from those tags.
Moves money
Charges, prices, comps, refundsTouches many at once
Changes or notices on many records at onceReaches third parties
Emails, WhatsApp, notices to customersCan't be undone
Delete, cancel, send
Email, phone, credentials and role
Changing how someone signs in is always confirmed, whatever the tool says.
Goes straight through
Moving a due date is undone by moving it back.
Asks for confirmation
Because it moves money and touches many at once.
Doesn't try
That person isn't allowed to charge in your product.
It reads back what it writes
A 200 response doesn't prove the change held. The agent reads your API again and compares against what was asked.
- verifiedverified
Read back, and the change is there as approved.
- not therenot there
Read back, and the change isn't there. It isn't retried blindly.
- couldn't readcouldn't read
Can't tell if it held. It isn't retried: it offers a person instead.
If it can't tell whether the change held, it doesn't retry blindly: it says so, marks it as uncertain and offers to hand off to a person.
What your team sees
A panel with what the agent did, what it cost and what's waiting for a decision. Every action in the panel asks for the passkey of whoever takes it.
Tasks this month
412 of up to 600
Spending cap
18 of 50 USD
At the cap, the agent hands every case to a person.
When it can't, it says so
If a permission is missing, the API fails or the request isn't among its tools, it doesn't make things up: it offers to pass the case to someone on your team.
Would you rather a person looked at it?
I'll pass the case to Acme Billing support with everything we discussed.
See it on a sample product.
Thirty minutes: what it does on its own, what it confirms and how it reads back.