Skip to main content
OMA events are the atomic units of information exchange in the network. Each event follows the NIP-01 format, with OMA models embedded in the content field.
{
  "id": "<32-bytes lowercase hex-encoded sha256 of the serialized event data>",
  "pubkey": "<32-bytes lowercase hex-encoded public key of the event creator>",
  "created_at": <unix timestamp in seconds>,
  "kind": <integer between 0 and 65535>,
  "tags": [
    ["<arbitrary string>", "..."]
    // ...
  ],
  "content": "<embedded model>",
  "sig": "<64-bytes lowercase hex of the signature of the sha256 hash of the serialized event data, which is the same as the \"id\" field>"
}

Fields

  • id — A deterministic hash of the event’s content. If any field changes, the ID changes. Used to reference events uniquely across the network.
  • pubkey — The public key of the event author. This is the identity of the company or user that published the event.
  • kind — An integer that identifies the event type. OMA defines its own kind numbers (e.g., 31001 for listings, 2014 for quotes). Nodes and clients use this to filter and route events correctly.
  • tags — Key-value pairs used for filtering and linking events. See Tags for the full reference.
  • content — The embedded OMA model as a JSON string. For listings, this is plaintext. For quotes and responses, this is encrypted.
  • sig — A cryptographic signature over the event ID, produced by the author’s private key. This proves the event was created by the holder of the corresponding public key and has not been tampered with.