On Cardano · text-only · web of trust

A social protocol where every post is a token you own.

permachat has no servers, no algorithm, and no takedowns. Every social action — your profile, posts, follows, likes, even tips — is a real native token minted on-chain. The blockchain is the database. Your wallet is your account.

0 servers for writes 5 on-chain validators signed in your wallet feed = who you follow
What it is

Social actions, as tokens.

Instead of rows in a company's database, every action is a native asset the chain enforces the rules for. That single choice is where all the properties come from.

🪙

You own your graph

Your profile, posts, follows and likes are tokens held in your name. Not an account a company can suspend — assets on a public ledger.

🗄️

The chain is the database

Posts are stored inline on-chain (text-only, ≤280 chars). No servers to write to, nothing to pin, nothing to go down. Serverless for writes, literally.

🕸️

A web of trust, not an algorithm

Your feed is exactly the people you follow — walked from your follow graph. There is no global feed, so spam can be posted but cannot reach you.

🔒

Soulbound & tamper-proof

A token is minted into its own validator's custody and can only return there or be burned. That inductive invariant gives real soulbound follows and unforgeable authorship.

💰

Tips are a public jar

Tipping a post locks ADA in a public jar only the author can claim. Unclaimed tips sit on-chain as a verifiable flex — bragging rights you can prove.

🧩

Composable moderation

Moderators publish labels; your client decides what to do with them. You subscribe to the labelers you trust — moderation is a choice, not a gatekeeper.

How it works

No backend. Your browser talks to the chain.

The app builds a transaction in your browser, your wallet signs it, and it goes straight to Cardano. Reads come back through a public read endpoint. Nothing in the middle holds your keys or your data.

Writes: serverless

The exact same transaction builders that the tests and the deploy use run in your browser (Lucid Evolution + WASM). Going from testnet to mainnet is a provider swap, not a rewrite.

Reads: bring any endpoint

Reading the chain needs a CORS-capable endpoint — a preprod Blockfrost id, or a free Koios relay Worker anyone can deploy. A deployment can bake a default so users configure nothing.

The custody invariant

Mint → custody → burn.

Every token follows the same lifecycle. It's minted straight into its validator's own script address, can only sit there (soulbound) or be burned by its owner, and burning refunds the small min-ADA deposit. That's what makes authorship unforgeable and follows non-transferable.

Verify it yourself

The five system tokens.

permachat is live on the Cardano preprod testnet. Each entity type is one minting policy — a real, deployed Plutus V3 validator. Click through to Cardanoscan and see the tokens and their custody addresses on-chain. Nothing here is a mock.

TokenWhat it isPolicy IDVerify
PROFILE Your identity (one per wallet, soulbound) e900574ad045f5462755e2b09e60655557981d6f6f4a8ce862667a1a policy ↗ · custody ↗
POST A post (≤280 chars, stored inline on-chain) 1b1219e85c18a7ef6564de92444be59bab884c5f1e5252a07376529b policy ↗ · custody ↗
FOLLOW A follow edge (soulbound; unfollow = burn) e57719ae84044fb34e118bef8ff3b4c58394d1dd7f299b5c0fd689e9 policy ↗ · custody ↗
LIKE A like (post must exist; no self-likes) 285e7de3eb4aaf7a7ff92731be0d580ad07f27b925c8bccd1fa71089 policy ↗ · custody ↗
TIP A public tip jar (author-claimable; no self-tips) 0cf4b50fe15e725b969571ba1d2bdc4e32b43aef1b9e2814b6b6030c policy ↗ · custody ↗

These are preprod (testnet) policy IDs. The validators are compiled from source in CI and the committed blueprint is byte-for-byte reproducible — and every token above can be inspected directly on Cardanoscan.

Get started

Post to the chain in three steps.

You need one thing users don't usually have: a Cardano wallet on the preprod testnet. It's free and takes a couple of minutes. No permachat account, no signup — your wallet is your account.

Install a Cardano wallet

Install Lace or Eternl (a browser extension that supports CIP-30). Create a new wallet and write down your seed phrase — it's the only way to recover it.

Switch the wallet's network to Preprod (in Lace: Settings → Network → Preprod). permachat is on the testnet, so mainnet ADA won't appear here.

Get free test ADA

Copy your wallet's receive address and paste it into the Cardano preprod faucet. It sends test ADA in a few seconds. You need a little to cover the ~1.5 ₳ deposit each action locks (refunded when you delete/unfollow) plus tiny network fees.

Open the app and post

Go to app.permachat.org, switch the source toggle to Wallet, and connect. Create your profile (mints a PROFILE token), then post. Your wallet pops up to sign; the post appears once a block confirms (~30s).

Want to explore first, with no wallet? The app ships with a full Simulator — the whole protocol running in your browser. Just open it and start clicking.

Launch the app → Verify it on-chain

Own your corner of the network.

Serverless, verifiable, and yours. Open source, running live on Cardano preprod.