Skip to content

Kind 0: User Metadata

Overview

Kind 0 events represent user metadata in the Nostr protocol. These events contain profile information for Nostr users, allowing them to share details about themselves with the network.

Specification

PropertyValue
Kind Number0
Event RangeReplaceable
Defined inNIP-01

Content Format

The content field must be a stringified JSON object containing user profile information.

Schema

json
{
  "name": "<nickname or full name>",
  "about": "<short bio>",
  "picture": "<URL of profile picture>",
  // Additional optional fields as defined in NIP-24
}

Tags

Kind 0 events typically do not require specific tags, though custom tags may be added.

Client Behavior

Clients should:

  • Parse the JSON content to display user profiles.
  • Store and cache user metadata for known users.
  • Update cached metadata when newer events are received.
  • Use fallback mechanisms when specific fields are missing.

Relay Behavior

Relays should:

  • Only store the latest kind 0 event for each pubkey.
  • Older versions of kind 0 events for the same pubkey may be discarded.
  • When answering requests for kind 0 events, return only the latest one even if multiple versions are stored.

Use Cases

  • Setting up a user profile.
  • Updating profile information.
  • Sharing contact details.
  • Building user directories.
  • Creating discoverable user information.

Example

json
{
  "id": "fa5ed84fc8eeb959fd39ad8e48388cfc33075991ef8e50064cfcecfd918bb91b",
  "pubkey": "79dff8f82963424e0bb02708a22e44b4980893e3a4be0fa3cb60a43b946764e3",
  "created_at": 1672068534,
  "kind": 0,
  "tags": [],
  "content": "{\"name\":\"Alex\",\"about\":\"Nostr enthusiast\",\"picture\":\"https://example.com/profile.jpg\"}",
  "sig": "55c7e9ab1f5c499b984ca78a53a63158771cf9dd516377c7a9726511afcb858144eac63394262d44c5135b9e3c19733835a5d397a725c6aedf73b3895423cda0"
}

References

  • Kind 3: Contacts List
  • Kind 10000+: Similar replaceable event kinds

Notes

While the basic fields (name, about, picture) are standard, applications may support additional fields from NIP-24 or custom fields for specialized use cases.