Skip to main content
The native library evb_e2ee_ffi (built from bindings/dart/rust of everabyte/crypto-sdk) exposes the whole protocol through a C ABI. The canonical header is include/evb_e2ee.h in the repository — copy it and include it from your FFI declaration of choice.

Conventions

  • Return: 0 = OK; negative = error (-1 bad argument, -2 crypto failure, -3 malformed payload, -4 buffer too small, -5 JSON failure, -6 invalid UTF-8, -7 internal lock).
  • Buffers: caller-allocated; string outputs are NUL-terminated; byte outputs write the length to out_len.
  • Errors: a short, secret-free message via evb_last_error(buf, cap) — call with cap = 0 first to get the required capacity. evb_clear_last_error() resets the slot.
  • UMK material crosses the boundary as 96 bytes: X25519 secret (32) ‖ ML-KEM-768 seed (64).

Functions

Randomness

Account key (UMK)

File key (DEK) envelopes

File content (EVB1)

File names

Primitives & diagnostics

Buffer sizing cheat-sheet

Status codes