Skip to content

NIP-AC: WebRTC signaling for p2p connections - #2461

Open
Named666 wants to merge 2 commits into
nostr-protocol:masterfrom
Named666:master
Open

NIP-AC: WebRTC signaling for p2p connections#2461
Named666 wants to merge 2 commits into
nostr-protocol:masterfrom
Named666:master

Conversation

@Named666

@Named666 Named666 commented Sep 4, 2026

Copy link
Copy Markdown

Draft NIP that uses existing Nostr relays as the bootstrap/signaling channel for direct WebRTC connections, plus addressable announcements so peers can discover who holds a given opaque identifier (content hash, topic, service name, or pubkey). No new transport or envelope. Signaling is ordinary signed events; session correlation is e tags; identity is the event pubkey.

WebRTC still needs a place to exchange SDP offer/answer and ICE candidates. Relays peers already use can do that job:

  • identity = keypair (signature is the proof)
  • messages are p-addressed ephemeral events
  • sessions thread like replies via e tags
  • discovery is a normal REQ over announcement events, not a custom RPC

Once the data channel / media path is up, relays drop out of the path.

Notes for reviewers

  • Kind numbers are provisional pending registry reservation.
  • This is generic P2P bootstrap + discovery, not a voice/video call state machine. It does not define hangup/reject/busy, gift-wrap metadata hiding, or mesh group calls
  • Optional: recommend NIP-59 gift wrap when metadata (who is connecting to whom) must stay off the relay.
  • NIP-44-encrypted content decrypts only for the intended recipient

NIP-AC: WebRTC signaling for p2p connections.
@vitorpamplona

Copy link
Copy Markdown
Collaborator

Is it similar to #2301?

@Named666

Named666 commented Sep 5, 2026

Copy link
Copy Markdown
Author

Is it similar to #2301?

There is certainly some overlap in that both involve WebRTC. However, that proposal appears to be focused specifically on calls, whereas this NIP is more general-purpose and not tied to any particular WebRTC use case. Its only concern is establishing a connection between peers.

In that sense, this is intended to be client- and use-case-agnostic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants