Feb 21, 2026

NIP-C1: Collaborative Ownership on Nostr

A new protocol extension enabling multiple pubkeys to collaboratively maintain addressable events.

NIP-C1: Collaborative Ownership on Nostr

Building together just got easier. NIP-C1 introduces collaborative ownership for Nostr addressable events—allowing multiple users to co-maintain a single document with full attribution.

What It Enables

Shared authorship — Multiple pubkeys can publish updates to the same document, each signing with their own key • Clear attribution — Every edit shows who made it (no anonymous merging into a single account) • Dynamic membership — Add or remove collaborators by updating the pointer event • Simple resolution — Most recent update wins (highest created_at timestamp), regardless of which owner published it

How It Works

NIP-C1 introduces a new event kind: 39382 (Collaborative Pointer)

This pointer event contains:

  • p-tags listing all authorized owner pubkeys
  • k-tag specifying the target event kind (e.g., 30023 for articles)
  • d-tag matching the target document's identifier

When fetching a collaborative document, clients query all listed owners and return the event with the highest created_at. Simple, deterministic, and backwards-compatible with existing clients.

Use Cases

  • Co-authored blog posts and articles
  • Team documentation
  • Shared notes and wikis
  • Any content where multiple contributors need edit access while maintaining individual attribution

Backwards Compatibility

Clients that don't support NIP-C1 will simply see individual events from each author. No breaking changes—just new collaborative capabilities for clients that implement the spec.

NDK Support

NDK (Nostr Dev Kit) now includes the NDKCollaborativeEvent class, making it straightforward to build collaborative features:

// Create a collaborative document
const collab = new NDKCollaborativeEvent(ndk);
collab.authors.push(alice, bob);
collab.save(article);
await collab.publish();

// Subscribe to live updates
collab.start();
collab.onUpdate((event) => {
  console.log('Updated by:', event.pubkey);
});

The class handles author management, live subscriptions, and version tracking automatically.


NIP-C1 opens the door for richer collaborative applications on Nostr—wikis, team blogs, shared documents, and more. Try it out with NDK's new collaborative event support.