Channels
Channels let you broadcast to an unlimited audience directly on the BitcoinZ blockchain -- with no server to shut down, no account to ban, and no company holding your subscriber list. One post is a single transaction, whether ten people follow you or ten thousand.
Available now
Channels shipped with Z-Text 3.0 and have grown a lot since: comments and threaded replies, on-chain moderation, reader-side content filters, and full restore from your recovery phrase. Like the rest of Z-Text, anything you publish -- a post, a comment, a reaction -- requires an active license. Reading a channel is always free.
What Are Channels
A channel is a public broadcast feed that lives entirely on-chain. The owner (and any moderators they appoint) post updates; subscribers read them. Because everything runs on the BitcoinZ blockchain, there is no Z-Text server in the middle -- nothing to seize, block, or take offline. A channel exists for as long as the network exists.
Z-Text also supports smaller group chats where every member can post. Channels are the broadcast case: a small number of publishers reaching an unlimited number of readers.
How Channels Work
Under the hood, a channel is a shared shielded mailbox. When a channel is created, it gets its own shielded address. Every subscriber imports the channel's viewing key, which lets their wallet read messages sent to that address -- but not spend from it. The owner keeps the spending key.
- The owner posts a message: their app writes one shielded transaction to the channel address.
- Every subscriber's app is already scanning that address with the shared viewing key, so they all see the post.
- Posts are encrypted for the channel and signed by the author, so subscribers can verify who wrote each message.
This is why the cost never grows with your audience: one post is one transaction, full stop. Reading is free -- subscribers only ever scan the chain. The only cost is the tiny on-chain fee the publisher pays to post.
Comments, reactions, and moderation actions ride the same rail. Each one is a small signed message written to the channel address, so every reader's app rebuilds the same thread, the same roster, and the same rules from the same on-chain inputs.
One transaction, unlimited reach
Sending the same message to a thousand people one-by-one would cost a thousand transactions. A channel collapses that to a single transaction that everyone reads -- the economics are identical for 10 subscribers or 10,000.
Creating a Channel
Open the Channels tab and tap New channel. Your wallet mints the channel address and keeps the spending key, making you the owner. Before you create, you set:
- Avatar (required) -- pick a style, roll variations until you like one, or type your own text or initials as a seed. The same text always produces the same avatar, so a favorite can be recreated. Avatars are drawn on your device; nothing is fetched from the internet.
- Name and description -- the description is optional, up to 200 characters, and shows in the invite preview before someone joins.
- Allow reactions -- whether watchers can react to your posts with emoji. On by default.
- Allow comments -- whether new posts open for comments. Off by default, and always overridable per post.
- Show watcher count -- when on, members announce themselves on join so everyone can see how many people are watching. When off, following is fully anonymous.
After creation you get a shareable invite: a QR code, a copyable invite code, and the channel's owner fingerprint. Back the channel up on-chain right away (one tap) so it can be recovered from your recovery phrase -- see Backup & Restore.
Joining a Channel
Paste the invite code or scan the QR, then tap Preview channel. The preview shows the avatar, name, description, whether the channel counts watchers, whether reactions are on -- and the owner fingerprint. Compare that fingerprint with the owner out-of-band to confirm you are joining the real channel and not a look-alike invite.
Joining sends a small on-chain transaction. That is what records the channel in your encrypted on-chain backup so it survives a wallet restore, and -- on channels that show a watcher count -- what announces you to the roster. It costs a dust amount plus the normal network fee.
You start reading from where the channel is now, so there is no waiting. If the channel existed before you joined, a banner offers to load earlier posts: that lowers the scan floor for this channel's key and re-syncs your wallet from the channel's start. It can take a few minutes and progress shows on the home screen. You can also trigger it any time from Channel info → Load full history.
Verify before you trust
Anyone can make a channel with any name and avatar. The owner fingerprint in the join preview is the part that can't be faked -- check it against a source you already trust.
Posting
Only the owner and moderators can post in a channel. Composing works like a normal chat, with a few publisher-specific tools:
- Post frames -- 30 styled frames (News, Announcement, Important, Offer, Event, Celebration, Quote, Code, Crypto, Music, Cosmic, Neon and more) in a scrollable picker, with a live preview of exactly what watchers will see. Frames can optionally animate.
- Per-post toggles -- allow or block reactions and comments on that individual post, independently of the channel default.
- 30-second undo -- every post stages locally for 30 seconds with a Discard button. Nothing is broadcast on-chain until the window elapses, so a mistyped post never leaves your device.
- Delete -- posts can be removed after the fact; the deletion is a signed on-chain directive every subscriber's app honors.
Channels are text-first by design -- the same deliberate focus as the rest of Z-Text.
Comments & Reactions
When comments are open on a post, any watcher can reply. Comments are signed with the author's per-channel key, so nobody can post under someone else's identity, and they are threaded: a comment can reply to another comment, and replies group under the comment they answer. You can sort a thread oldest-first (the default) or newest-first.
- Comments are short by design -- about 150 characters -- because each one has to fit in a single shielded memo.
- A comment carries a display name you choose, so threads read like a conversation instead of a list of keys.
- Comments get a 5-second undo window with a Discard button before they broadcast, and show sending / sent status ticks like a normal chat message.
- Authors can delete their own comments; admins can delete any.
- Reactions work on posts and on comments, and open threads refresh live as they arrive.
Posting, commenting, reacting, and reporting all require an active license -- they are on-chain writes. Reading posts, threads, and reactions never does.
Roles & Moderation
With no central server, moderation is handled by the network itself. Owners and moderators publish signed control messages, and every member's app replays them in blockchain order to arrive at exactly the same roster and rules. There is no moderation queue on a company server; the outcome is identical for everyone because the inputs are identical, signed, and permanently ordered on-chain.
- Owner -- creates the channel, appoints and removes admins, edits channel settings, and is the only one who can withdraw the channel treasury.
- Admins / moderators -- can post, and can use every moderation tool below.
- Members / watchers -- read the channel, comment and react when those are open, and can report comments to the admins.
The moderation tools available to owners and admins:
- Delete any post or comment. Deletions are permanent tombstones -- a copy that arrives later on someone's device is hidden too.
- Suspend a member for a set period, from one hour up to 60 days. Anything they wrote during a suspension window stays hidden. Suspensions can be lifted early.
- Promote / demote -- grant or remove admin rights.
- Pin a comment to the top of a post's thread.
- Comment locks -- per post, choose read-only (existing comments stay visible, no new ones) or hidden (the thread is hidden entirely).
- Reports -- watchers can flag a comment to the admins; flags land in a queue on the Moderation screen with a badge, and can be dismissed.
- Bulk cleanup -- select many comments and delete or suspend in batches, so cleaning up a spam wave costs a handful of transactions instead of one per comment.
- Audit log -- every moderation action is a signed on-chain record. The Moderation screen shows the full log: what happened, who did it, and when. Entries are never erased, only superseded.
Moderation you can audit
Because every directive is signed and ordered on-chain, moderation is verifiable rather than trusted. Nobody -- including us -- can quietly remove a post or ban a member without leaving a permanent, attributable record.
Your Own Filters
Moderation is what the channel's admins decide. On top of that you get filters that are entirely yours, under Settings → Messaging → Channel moderation. They change only what you see, never leave your device, and affect nobody else.
- Hide links until you tap to reveal them
- Hide bad language, hate speech and slurs, or sexual content
- Hide crypto scams -- airdrops, giveaways, "guaranteed profit" bait
- Flag likely spam (many links, shouting)
- Your own word list -- any message containing one of your words is hidden behind a tap
Managing Your Channel
From Channel info the owner can edit the avatar, description, and the reactions and comments defaults; re-share the invite QR or code; see the watcher count; and check the channel's backup status. Edits are broadcast so every subscriber's copy of the channel updates.
Watcher count. On channels created with tracking on, joins and departures are announced on-chain and the owner periodically broadcasts the authoritative tally, so the number readers see stays live and goes down when someone leaves. Channels created without tracking never announce anyone -- following is anonymous and there is no roster at all.
Channel treasury. The dust that joins and reactions send to the channel address accumulates there. Ordinary sends never touch those funds. The owner can sweep them to their own wallet with Withdraw treasury -- a deliberate, owner-only action. It can take a while, since each note needs its own zero-knowledge proof, and watchers simply see the treasury balance update.
In the channel list, each channel can be pinned, muted, marked as read, archived, or left. Leaving announces your departure on-chain so watcher counts stay accurate. On desktop, Channels use a two-pane layout: the list on the left, the open channel on the right.
Backup & Restore
A channel's keys are generated randomly rather than derived from your seed, so they are backed up explicitly. Z-Text keeps a rolling, encrypted on-chain backup of the channels you own and follow, sealed with a key derived from your recovery phrase and written as a memo to your own address. It refreshes whenever you create, join, leave, or edit a channel.
You can see exactly where that backup stands -- not backed up, sending, confirming, confirmed, or out of date -- and re-run it with one tap, both on the Channels screen and in Channel info. Nothing is ever silently lost.
Restoring from your 24-word recovery phrase brings back both the channels you own and the ones you subscribe to, with real progress shown during the restore. History is then fetched per channel, and each channel tracks its own state so none get stranded. If the restore's chain scan couldn't cover the whole window, you'll see a prompt to scan the blockchain for backed-up channels rather than a silent zero.
Losing your phone doesn't lose your audience or your feed: no platform can take your followers away, because no platform ever held them.
Back up a new channel right away
Creating or joining a channel mints keys that only exist on your device until the on-chain backup confirms. Take the one-tap backup when Z-Text prompts you -- a channel that was never backed up cannot be recovered from your recovery phrase.
Privacy
Channels inherit Z-Text's privacy model. Post content is end-to-end encrypted for the channel, and BitcoinZ's zk-SNARK shielded transactions hide the on-chain sender. There is no central database of your subscribers -- nothing to leak, sell, or hand over in response to a subpoena. Subscribing doesn't require an account, an email, or a phone number.
Comments and reactions are encrypted for the channel exactly like posts, and identities are per-channel signing keys -- not a global account -- so activity in one channel doesn't link you to another. Channel avatars render locally, so simply opening a channel list never calls out to anyone.
No subscriber list to seize
On a traditional platform, your followers are rows in the company's database. On Z-Text there is no such list -- membership lives in each subscriber's own wallet.
Channels vs. Centralized Platforms
Broadcasting on Twitter/X, Facebook, or Telegram means running on a company's servers. The platform can suspend or delete a channel, requires an account tied to a phone number or email, collects metadata, and holds your subscriber list. Z-Text channels remove each of those dependencies:
| Property | Z-Text | Twitter / Facebook / Telegram |
|---|---|---|
| Can the company delete your channel? | No -- no company in the loop | Yes |
| Account / phone number required? | No | Yes |
| Metadata shielded? | Yes (zk-SNARKs) | No |
| Ads or algorithmic feed? | No | Yes |
| Who holds the subscriber list? | No one -- it's in each wallet | The platform |
| Is moderation auditable? | Yes -- every action is signed and on-chain | No |
| Recover your audience from a seed phrase? | Yes | No |