Skip to content

Receipts and verification ​

Every entropy response includes a signed receipt. It binds the request to its policy, sources, quality checks, extractor, output size, and timestamp.

Important fields ​

  • Identity: request_id, application_id, audit_event_id.
  • Routing: policy, pool_id, contributing_sources.
  • Quality: quality_score, rct_pass, apt_pass.
  • Processing: extractor_alg, drbg_alg, input_min_entropy_bits.
  • Output: output_bytes, timestamp_unix_ns.
  • Signature: signature_alg, signature.
  • Retention: raw_entropy_stored is always false.

Verify with Python ​

python
from lightrider import EntropyClient, Policy

with EntropyClient("https://ems.lightriderinc.com", api_key="lr_...") as client:
    client.fetch_verifier()
    response = client.get_bytes(32, policy=Policy.HIGHEST_QUALITY)

print(response.receipt.signature_alg)

After fetch_verifier(), the SDK raises SdkError instead of returning bytes when verification fails.

For stronger trust, provision the expected production public key out of band instead of trusting the first key fetched from /v1/pubkey.

Audit a receipt ​

Retrieve a stored receipt with:

text
GET https://ems.lightriderinc.com/v1/receipts/:request_id

You can also inspect receipts from the EMS receipts page.