Your Web3 Communications Stack.
We're building an open source stack for sufficiently decentralized real-time communications between people and entities autheniticated through Web3 wallets.
Public Good
The protocol plans to operate as a non-profit foundation and explore web3 incentives.
Performant and Secure
Low-latency P2P chat, screenshare, and voice in your browser with end-to-end encryption via WebRTC and decentralized identity powered by Ethereum and ENS.
For Perfectionists with deadlines
Add p2p communications into your existing app or build a new experience altogether, save time & focus on your customer experience instead of boilerplate.
Getting Started
Source will be published soon. In the interim, here's an example. In these 11 lines of code, the example app:
- Connects a user's web3 wallet (e.g., Metamask), authenticates via Sign-in with Eth (EIP-4361), and creates a session
- Connects to peers in the given channel (& awaits incoming connection requests from new peers)
- Sends a message to all connected peers (& displays messages from connected peers)
import { GMClient } from 'gmclient';
const serverUri = 'https://your-gmserver-uri' // or 'https://gms.gmprotocol.org:----';
const client = new GMClient(serverUri);
client.connect();
client.on('message', (message, peer) => {
console.log(`received from ${peer.name}: ${message}`);
});
client.join('my-channel');
client.sendPeers('my-channel', 'message', 'GM, world!', (message) => {
console.log(`sent: ${message}`);
});