Loading vLEI.wiki
Fetching knowledge base...
Fetching knowledge base...
This comprehensive explanation has been generated from 177 GitHub source documents. All source documents are searchable here.
Last updated: October 7, 2025
This content is meant to be consumed by AI agents via MCP. Click here to get the MCP configuration.
Note: In rare cases it may contain LLM hallucinations.
For authoritative documentation, please consult the official GLEIF vLEI trainings and the ToIP Glossary.
JSON (JavaScript Object Notation) is an open standard, language-independent data interchange format that uses human-readable text to represent structured data through attribute-value pairs and arrays, serving as the primary serialization format for KERI event messages, ACDC credentials, and configuration files.
JSON (JavaScript Object Notation) is an open standard file format and data interchange format that employs human-readable text to store and transmit structured data objects. In the KERI/ACDC ecosystem, JSON serves as the foundational serialization format for key event logs, authentic chained data containers, and protocol messages.
JSON represents data through two primary structural elements:
JSON files conventionally use the .json file extension and are encoded in UTF-8 text format.
JSON is the default and most widely used serialization format for KERI protocol messages and ACDC credentials. The KERI version string explicitly identifies JSON serialization (e.g., KERI10JSON000188_), and all reference implementations prioritize JSON support.
While KERI supports multiple serialization formats through CESR (Composable Event Streaming Representation), JSON occupies a special position:
All KERI/ACDC implementations MUST preserve insertion order when serializing JSON:
dict maintains insertion order by defaultIndexMap or LinkedHashMap instead of HashMapWhen computing SAIDs over JSON structures:
separators=(',', ':') in PythonACDC credentials must validate against JSON Schema 2020-12:
$id field for schema SAIDsoneOf composition for compact/expanded variantsadditionalProperties: false where specifiedCESR streams may contain JSON field maps interleaved with cryptographic primitives:
KERI and ACDC impose a critical constraint on JSON usage: insertion-ordered field maps. Unlike standard JSON (where object key order is undefined), KERI requires:
This ordering requirement ensures that computing a SAID (Self-Addressing Identifier) over a JSON structure produces consistent results regardless of implementation.
ACDC credentials are fundamentally JSON objects with specific top-level fields:
v (version string)d (SAID)i (issuer AID)s (schema)a (attributes)e (edges)r (rules)The JSON Schema specification (2020-12) defines the structure and validation rules for these credentials.
While JSON is primary, KERI also supports:
All formats must maintain the same logical structure and support round-trip conversion through CESR's composability property.