agents spendreal money.someone has to sign off.
Cap what every agent can spend, on top of any rail. Seal each decision into a tamper-evident register an auditor can verify. Not a bank. Not a rail.
Your agent has a credit card,
and no ledger holds your agent.
Every rail issues a credential. None owns the layer that decides whether a dollar may move, so the charge clears before anyone signs.
“Your agent moves money.
Prove every payment was authorized — and that the record hasn’t changed since.”
That is what an enterprise security review asks the day your AI touches a card. Most teams answer with a log. A log is the wrong artifact — watch.
A log you can edit
is not an audit trail.
| # | agent | vendor | amount | verdict | seal |
|---|
Every seal is computed from its record. Forge one, the chain fractures.
We don't move the money.
We decide if it moves.
// verified-by Stripe Issuing — the seal is rail-independent. same record, same proof, any rail.
Rails issue. Banks hold. Comptra seals.
The agents already spending
your company’s money.
// procurement · media · travel · ops · infrastructure — each one a credential with no ledger behind it. hover to hold the register still.
Don’t trust Comptra. Verify it.
The proof was never ours to forge. Every record is sealed with the same primitives that secure the open web — and your auditor checks them on their own machine, offline.
The export that unblocks the security review.
# every record's hash = sha256(prevHash | record) const ok = chain.every((r,i) => r.hash === sha256(chain[i-1].hash + '|' + canonical(r)))
Enter your name in the register.
Pre-product. We onboard teams whose agents already move money.
the ledger every agent answers to.