libp2p WebRTC over QR

Two browsers connect directly as libp2p peers — no relay, no signaling server. The WebRTC offer and answer travel out-of-band as signed QR codes: one device scans the code off the other screen.

1 Start browser peer

Creates a libp2p node with a fresh key pair. Its Peer ID signs every payload you show.

What this sends, and to whom

Your Peer ID not started

What your peer identity is, and where its key lives

2 Connect to someone

Invite someone, or scan the code they are showing you. Either one gets you to the same place.

Someone sent me a link and tapping it did not work

3 Talk and send files

Once the handshake completes, messages travel over a libp2p protocol stream on the WebRTC data channel. Files go through Helia: the sender adds the bytes and announces the CID, the receiver pulls them with bitswap over the same connection.

Not connected
Drop a file here or click to choose one — it is added to Helia and its CID is sent over the chat stream

Two browsers connect to each other directly. There is no server in the middle holding your messages, and nothing you send passes through us.

Show the code on this screen to the person next to you, or send them the link. They scan or tap it, show you a code back, and you are connected.

Whoever holds that code can connect to you until it expires, ten minutes later. Show it to the person you mean to.

Their phone camera opens the same link - or send it to them.