Blind vault

Store an already-encrypted memory

Blind vault: the client encrypts the content and sends an opaque blob. The server charges the same fee, anchors the hash and stores bytes it cannot read. Unlike a plaintext memory, the event_hash comes from the client, so a sealed memory is citable as evidence immediately. Requires a custodial key able to sign the anchor. Optional embedding (since 2026-09-21): the memory's search vector, computed on the client. With it the memory appears in semantic search without the server reading it; the response says so in searchable. Without it the memory is stored anyway, but it can only be found by project or tag.

post/v1/memory/sealed

Request

  • Base URL: https://api.chainmemory.ai
  • URL: https://api.chainmemory.ai/v1/memory/sealed
  • Auth: API key in header x-api-key

Request body

blob_b64string required

Versioned envelope, base64: 0x02 || IV || ciphertext || tag

event_hashstring required

SHA-256 computed by the client, 32 bytes hex

plain_leninteger required

Plaintext length, for quota accounting

categorystring
importanceinteger
platformstring
projectstring
tagsstring[]
embeddingnumber[]

384 numbers, L2-normalized (norm 1, tolerance 0.001): the all-MiniLM-L6-v2 vector computed on the client, [CLS] + up to 254 tokens + [SEP], mean pooling

Response

Sealed memory stored

Changes

No recorded changes to this operation across all 1 revision of this API.