General Liquidity
Core

Records

Every decision is kept, including the refusals. The property that matters is that somebody who does not trust us can check it.

Reading it

HTTP
GET /audit?limit=50&cursor=…   # a page of the record
GET /audit/stream              # the same, live (resume with Last-Event-ID)
GET /intents/{id}              # one payment
GET /intents/{id}/events       # everything that happened to it
GET /usage?since=…&until=…     # what has been spent, over a period

Pages carry a cursor and limit is clamped between 1 and 100, defaulting to 20. Page envelopes are snake_case (next_cursor, has_more) while the rest of the API is camelCase.

Reading never decides and never moves anything. It uses the agent's token, so an agent can inspect its own history without being able to alter it.

The chain

The record is a signed chain rather than a log file, and verifying it is a separate concern from producing it. An exported chain can be checked independently, by code that has no connection to the system that wrote it. That separation is the whole point: a verifier that has to ask us whether the record is good proves nothing.

The enforcement record

Each decision produces a first-class enforcement record with a hash that is byte-identical between the side that emitted it and the side that checks it. That is what makes the claim falsifiable rather than decorative: if we said a limit was enforced and it was not, the hashes do not agree and anyone can see it.

Taking it with you

Portable proof
A record that survives on its own: verifiable with no call back to us, no account with us, and no assumption we still exist.
Transparency log
An append-only tree, so an entry cannot be quietly changed after the fact without the tree disagreeing.
Published record
The same record rendered into the standard format for auditable, published records, for the counterparties that already consume that.
Webhooks
Outbound and signed, derived from the same chain rather than emitted separately, so what you receive cannot drift from what was recorded.

What a third party can do

  • Recompute the result from the record and see whether it matches what we said.
  • Verify an exported chain offline, with no access to our systems.
  • Confirm the payment against the seller's own reference, which we do not control.

Refusals are in there too

A record of only the payments that succeeded says nothing about whether your limits work. The refusals, with their reasons and the checks that produced them, are the evidence that they do, and they are the first thing to read when an agent is behaving strangely.

What it does not prove