Skip to main content
A DDN envelope is the package a Talaria client sends through Relay and Cache nodes. Think of it as an addressed, sealed parcel:
  • The outer fields tell nodes where and how to handle it.
  • The encrypted header carries protected routing or application metadata.
  • The payload carries encrypted message data.
Nodes validate the outer shape but do not need to decrypt your message.

Smallest practical shape

Required fields

If using flat fields, supply encrypted_header, header_nonce, schema_version, and either header_key_id or header_key_epoch.

Common optional fields

Unknown outer fields are rejected. This protects interoperability by preventing different clients from silently inventing incompatible headers.

Chunked messages

For a large encrypted object, send independently deliverable chunks. Each chunk has its own message_id and shares a UUID message_group_id.
sequence_number begins at 0 and must be less than total_chunks. Relay and Cache nodes do not reassemble or decrypt the content.

Sender signatures

Sender identity is optional at the envelope-validation layer. If you provide either the sender DID or signature, provide both. Nodes that verify the sender resolve the DID and check the signature against its authorized public key.

Straight to the point

  • JSON object only
  • UUID message_id
  • Valid recipient DID
  • Timestamp plus encrypted payload
  • Flat encrypted header or context
  • No unknown top-level fields
  • Encrypt before sending