verification primitive

Prove what happened.

Every operation transforms state. pruv captures the before, the after, and creates cryptographic proof that the transformation happened.

$ pip install pruv

X → Y → XY

Hash the state before. Hash the state after. Chain them together. Each entry's X must equal the previous entry's Y. Break one entry, the chain breaks. Verification detects exactly where.

This is the entire product. Everything else is built on this rule.

A chain, running in your browser.

Click any entry to inspect the state diff. Tamper with one to see verification break. Restore to see it heal.

Two lines. Full proof.

Wrap any agent, any function, any workflow. Every action is captured with cryptographic proof. No configuration. No setup. Two lines.

from pruv import xy_wrap wrapped = xy_wrap(my_agent) result = await wrapped.run("Fix the login bug") print(result.receipt.hash) # xy_a7f3c28e91b4d… print(result.verified) # True — every action independently confirmed
pruv receipt
taskFix the login bug
actions23
verified23/23 ✓
duration3m 42s
X8f3a1c2e
Yd4e6f71a
chain47 entries · intact
✓ verified by pruv

Not logging. Proof.

Logs
“Here’s what happened, trust us”
Traces
“Here’s the flow, trust our database”
pruv
“Here’s cryptographic proof — verify yourself”

Receipts are independently verifiable. No pruv account needed. The math works with SHA-256 and Ed25519 — open standards. Anyone can verify a pruv receipt with their own code.

Any system that transforms state.

AI Agents
X: codebase before agent ran
Y: codebase after, every change proven
Infrastructure
X: system state before deploy
Y: deployed, verified, hash-proven
Financial
X: account balance before
Y: transaction settled, proof on chain
Compliance
X: audit requirements
Y: controls verified, evidence hashed
Healthcare
X: patient record state
Y: treatment administered, chain of custody
Supply Chain
X: shipment at origin
Y: delivered, provenance proven
Legal
X: document version
Y: signed revision, edit chain intact
Government
X: public record filed
Y: immutable, verifiable by anyone
# primitive only — zero dependencies $ pip install xycore # full SDK — scanner, wrapper, checkpoints, cloud $ pip install pruv

xycore is zero dependencies. Standard library only. Works offline. Works without an account. Works without the cloud. The primitive needs nothing.