Skip to content
CCPEDIAby Unity Nodes
Discussions/App Development/How do you prove your app didn't do something?Forum ↗

How do you prove your app didn't do something?

App Development1 posts15 viewsLast activity 2d ago
OR
orumedominicOP
2d ago

I’ve been building a spend-limited agent wallet on Canton, and the part that
turned out to matter isn’t the spending — it’s the refusals.

Every attempt the agent makes, allowed or refused, becomes one hash-chained
receipt: what was tried, what the ledger decided, and which rule decided it.
The limits are assertMsg fences in the Daml, not checks in application code
— so a refusal is the ledger’s, not my app’s claim about itself.

The useful part is what you can hand someone afterwards. Drop the chain on a
page and it verifies with nothing installed, no account, no node. Edit one
receipt and every seal after it breaks.

Three independent implementations (Python, JS, Go) agree byte-for-byte on the
canonicalisation, and two of the vectors exist because I asked which wrong
implementations still passed — two did.

Genuinely want to know: is “prove the agent didn’t do X” something others
need, or is it just my problem?

← Back to Discussions