Elydora Acknowledgement Receipt (EAR)
The EAR is Elydora's server-side attestation that an operation was received, validated, sequenced, and permanently recorded. It is signed by Elydora's own Ed25519 key.
Structure
| Field | Type | Required | Description |
|---|---|---|---|
| receipt_version | string | Yes | Receipt format version. Currently "1.0". |
| receipt_id | string | Yes | Unique identifier for this receipt. |
| operation_id | string | Yes | The operation ID this receipt acknowledges. |
| org_id | string | Yes | Organization identifier. |
| agent_id | string | Yes | Agent that submitted the operation. |
| server_received_at | number | Yes | Unix millisecond timestamp of server receipt. |
| seq_no | number | Yes | Global sequence number within the organization. |
| chain_hash | string | Yes | The computed chain hash after this operation. |
| queue_message_id | string | Yes | Internal message queue ID for traceability. |
| receipt_hash | string | Yes | SHA-256 hash of the canonical receipt (excluding Elydora signature). |
| elydora_kid | string | Yes | Key ID of Elydora's signing key used for this receipt. |
| elydora_signature | string | Yes | Ed25519 signature by Elydora over the receipt_hash. |
Example EAR
json
{
"receipt_version": "1.0",
"receipt_id": "0195f2c6-9a2b-7c4d-8e1f-3a5b7c9d1e2f",
"operation_id": "0195f2c6-8f4e-7a1b-9c3d-2e4f6a8b0c1d",
"org_id": "org_acme",
"agent_id": "agent_underwriter",
"server_received_at": 1772287201000,
"seq_no": 42,
"chain_hash": "<base64url chain hash>",
"queue_message_id": "<queue message id>",
"receipt_hash": "<base64url receipt hash>",
"elydora_kid": "<Elydora signing key id>",
"elydora_signature": "<base64url Ed25519 signature>"
}Independent Verification
The EAR can be verified independently using Elydora's public keys from the JWKS endpoint:
- Fetch the JWKS from /.well-known/elydora/jwks.json
- Find the key matching elydora_kid
- Recompute receipt_hash from the receipt fields
- Verify the Ed25519 signature over the receipt_hash
Properties
- Server attestation — Proves Elydora received and processed the operation.
- Sequence ordering — The seq_no provides a total ordering of operations within an organization.
- Non-repudiation — Elydora cannot deny issuing the receipt, as it is signed with their key.
- Offline verification — Anyone with the JWKS can verify the receipt without contacting the API.