About StellaChat

StellaChat is a messaging protocol built directly on Solana. Public rooms, invite-only groups, and direct messages — every one of them is a set of program accounts on the ledger, owned and signed for by your wallet. There's no account to create, no inbox sitting on someone else's server. Connect a wallet and you're already a participant in the protocol.

How it works

1

Connect a wallet

Any Solana wallet works — no sign-up, no account, no email.

2

Discover

Browse public rooms and groups. No wallet needed just to look.

3

Join or request

Rooms are open. Groups and DMs need the other side to say yes.

4

Chat

Every message is a signed, on-chain event — yours, permanently.

What you can do

Public rooms

Open membership. Anyone can join and post — messages are plaintext on-chain, since they're public by definition.

Groups

Invite-only. Requesting to join sends a note to the admins; they approve or reject. Group messages are encrypted so only members can read them.

Direct messages

A DM request's note is the first message. The recipient accepts or rejects before the thread becomes a live, end-to-end encrypted conversation.

Under the hood

One program, not one contract per group

Every room, group, and thread is a set of program-derived accounts (PDAs) under a single Solana program — not a separately deployed contract per group. Spin up a new room and you're paying rent on a handful of accounts, not deploying code.

The ledger is the backend

There's no API server and no database sitting between you and the chain. The client reads and writes Solana accounts directly — what's on-chain is the entire state of the app, always.

Sign once, chat freely

The first message you send in a room or group authorizes a local session key with a single signature. After that, routine messages sign themselves — no popup per message. Joining, requesting, approving, and anything that changes who's in — that still goes through your wallet, every time.

Client-side encryption

Group and DM content is encrypted in the browser — a signature from your wallet deterministically derives the keys, nothing is stored separately.

No avatars, ever

On-chain profiles hold an alias and nothing else. Avatars are generated from your address on the fly, never stored anywhere.

Currently on devnet

StellaChat runs on Solana devnet — the same account model, the same program, the same signatures a mainnet deployment would use, just on Solana's public test cluster while the protocol is still being built out. No real funds are at risk here.