Elydora Docs

Elydora Epoch Root (EER)

The EER is a periodic Merkle root that anchors all operations within a time window into a single verifiable hash, signed by Elydora.

Structure

FieldTypeRequiredDescription
epoch_idstringYesUnique identifier for this epoch.
org_idstringYesOrganization identifier.
start_timenumberYesUnix millisecond start of the epoch window.
end_timenumberYesUnix millisecond end of the epoch window.
leaf_countnumberYesNumber of operations included in this epoch.
root_hashstringYesSHA-256 Merkle root of all operation hashes in the epoch.
hash_algstringYesHash algorithm. Currently "sha256".
signature_by_elydorastringYesEd25519 signature by Elydora over the epoch root.

Example EER

json
{
  "epoch_id": "0195f2c8-4d6e-7f8a-9b0c-1d2e3f4a5b6c",
  "org_id": "org_acme",
  "start_time": 1772287200000,
  "end_time": 1772287500000,
  "leaf_count": 1247,
  "root_hash": "<base64url Merkle root>",
  "hash_alg": "sha256",
  "signature_by_elydora": "<base64url Ed25519 signature>"
}

Merkle Tree Construction

The Merkle tree is built from the chain hashes of all operations received during the epoch window:

Verification

To verify that an operation is included in an epoch:

The signed EER stays in Elydora storage. The API returns the epoch record without signature_by_elydora.

Epoch Timing

Epochs close every 5 minutes. The epoch boundary uses the server receive time, not the client issued_at.