Send your first notification

Prerequisites: a registered account, a device paired with api.prelay.sh, and a Cloud token. The zero-knowledge part is the point: the notification contents leave your machine sealed, and the hosted relay routes ciphertext only.

The prelay CLI

From your terminalbinaries ship on the same Codeberg release as the app (linux + macos); send (both modes), manage devices and tokens, keygen.

1. Point the CLI at Cloud

prelay config set server=https://api.prelay.sh token=prelay_1_...
chmod 600 ~/.config/prelay/config

prelay config set writes ~/.config/prelay/config with restrictive permissions itself; the chmod is only there if you built the file by hand.

2. Send

prelay send --encrypted --device <device-id> \
  --title "Hello Prelay Cloud" \
  --message "Encrypted before leaving this machine"

--encrypted is the Mode B send: the CLI fetches the device's public key (read-only endpoint), encrypts with X25519 + ChaCha20-Poly1305, and posts the sealed envelope. The relay never sees the plaintext — this tiny Hello is worth checking against the modes page once to see why.

The notification lands on your phone; open it like any other.

Mode B is not optional on Cloud

Without --encrypted the request posts plaintext, and api.prelay.sh rejects it with 403 zero_knowledge_required. There is no "plain mode" on the hosted relay, by design.

On this page