Verify a receipt
Paste a signed report or live prune_metadata (must include receipt_signature). Dashboard request logs are unsigned and will fail.
Check it offline
You never have to take this page's word for it. Fetch the published Ed25519 public key and check the signature yourself:
pip install "prune-sdk>=0.3.3"
python -c "
from prune.verify import verify_receipt
import json
verify_receipt(json.load(open('receipt.json')))
print('valid')
"
# Or raw cryptography against the allowlist (see /docs/receipts):
# SIGNED_FIELDS + DEFAULTS match prune-backend receipt_signing_service.pyThe signature covers a fixed allowlist (cache hit/type, tokens, dollar fields, request hash, models) as canonical JSON. receipt_signed_at is included; only the signature and key id are excluded. Use prune-sdk>=0.3.3 or /docs/receipts. GET /v1/public-key · POST /v1/receipts/verify