Skip to main content


Content Topic: /toy-chat/2/huilong/proto.

This specification explains a toy chat example using Waku v2. This protocol is mainly used to:

  1. Dogfood Waku v2,
  2. Show an example of how to use Waku v2.

Currently, all main Waku v2 implementations support the toy chat protocol: nim-waku, js-waku (NodeJS and web) and go-waku.

Note that this is completely separate from the protocol the Status app is using for its chat functionality.


The chat protocol enables sending and receiving messages in a chat room. There is currently only one chat room, which is tied to the content topic. The messages SHOULD NOT be encrypted.

The contentTopic MUST be set to /toy-chat/2/huilong/proto.


syntax = "proto3";

message Chat2Message {
uint64 timestamp = 1;
string nick = 2;
bytes payload = 3;
  • timestamp: The time at which the message was sent, in Unix Epoch seconds,
  • nick: The nickname of the user sending the message,
  • payload: The text of the messages, UTF-8 encoded.


Copyright and related rights waived via CC0.