Session Signer
The Session Signer is a server-side Ed25519 keypair that signs every inference receipt, providing cryptographic proof that the response was generated through Lucid’s infrastructure.How It Works
- When an inference completes, Lucid generates a receipt containing hashes of the input and output
- The session signer creates an Ed25519 signature over:
receipt_id || input_hash || output_hash || timestamp - The signature is stored alongside the receipt
- Anyone can verify the signature using the signer’s public key
Get the Public Key
The signer’s public key is always available via the API:Verify a Signature
TypeScript
Python
Security Model
| Property | Description |
|---|---|
| Algorithm | Ed25519 (EdDSA over Curve25519) |
| Key storage | Server-side only, never exposed to clients |
| Key rotation | Supported — old signatures remain valid with the old key |
| Public key access | Always available via /v1/signer/pubkey |
| Signature scope | Covers receipt ID, input hash, output hash, and timestamp |
Why Ed25519?
- Fast verification (important for batch receipt checking)
- Small signatures (64 bytes)
- Deterministic — same input always produces the same signature
- Widely supported across languages and blockchains (including Solana)
.png?fit=max&auto=format&n=VsjUqn6fLqEhBiuI&q=85&s=8b4c7e6431e9a6af1ef23b77bb4ff5fd)
.png?fit=max&auto=format&n=VsjUqn6fLqEhBiuI&q=85&s=d5651a45e4bfbabc33f74e146af3f94a)