Signed receipts
Every response carries an Ed25519-signed receipt. Verify offline with malibu-verify.Every Malibu response carries an
X-Malibu-Receipt header signed with the provider’s Ed25519 receipt key. The receipt binds the canonical prompt hash, output hash, model hash, provider public key, and timestamp. You can verify it offline — no gateway trust required.
What the receipt contains
The v0.3 receipt is a nine-field tuple:
Signed with the provider’s Ed25519 key. Streaming responses emit a settlement-capable receipt too. Back-compat with v0.1/v0.2 receipts is preserved.
Capturing the receipt
Verifying offline
Installmalibu-verify from CLI Reference → malibu-verify. Then:
When to verify
Most buyers verify post-hoc for audit trails rather than on every request — per-request verification adds a round-trip. Batch a day’s receipts, runmalibu-verify in a nightly job, keep the verified receipts for dispute resolution.
Trust boundary
Avalid result proves:
- A holder of the provider signing key signed the canonical tuple.
- The verifier resolved that key through the configured trust source.
model_hash matching the catalog), timestamp honesty, response uniqueness, privacy, replay resistance, or absolute trust in the coordinator. See Network overview → Security & trust model.
Why it matters
- Audit trail. A buyer can prove an inference happened, on which model, at which provider — without trusting the gateway to be honest after the fact.
- Provider accountability. Disputes over output quality or downtime become resolvable from receipts rather than from memory.
- New compositions. Receipts can be replayed into systems that don’t trust the issuer but trust the signature (escrow, reputation, on-chain settlement).
- Settlement. Coordinator receipt verdicts drive gateway buyer debit/refund on the money path. See Verified model settlement.