Pipoke
Concepts

The On-Chain Thesis

Pipoke is built around one rule. Every action a user takes is a signed transaction on Octra, settled in about half a second, and visible to anyone who reads the chain. There is no "real" state hiding behind an API. The chain is the state.

Pipoke runs on Octra Devnet today. Any fee, price, or limit referred to here is a contract setting chosen for testing. Every one is owner-settable, and mainnet values will be different. These docs describe how the mechanics work, not what the numbers are.

#What goes on chain

Surface What is on chain
Posts, replies, reposts Author, text, attachment URI, parent ID, kind, epoch.
Likes, reactions, bookmarks, pins A signed tx per action, counted on-chain, replayable.
Pokes (tips) A direct POKE transfer attached to a post reference.
Follows, blocks, mutes An on-chain edge between two wallets.
Profile fields Handle, display name, bio, avatar URI. Each change is a tx.
Premium Tier and expiry epoch as on-chain state on PipokeCore.
Coins A deployed BondingCurveToken per coin. Buys, sells, swaps.
Communities Membership, proposals, votes, treasury balance, mod actions, appeals.
Auctions Commit, reveal, settle, claim, refund.
Rooms Open, close, paid entry, recorded VOD URI.
Games Sealed cards, commit-reveal seeds, settlement.
DMs and group messages Ciphertext blobs and sealed keys.
Engagement rewards Period Merkle roots, claim receipts.

#What does not go on chain

A few things stay off the chain by design.

The plaintext of your encrypted media. Voice notes, story video, follower-only attachments, coin images, drop VOD chunks, and DM media all live in your Octra Circle as encrypted blobs. The chain holds the oct:// URI, not the plaintext. See Octra Circles.

Your seed phrase. Pipoke never sees the seed. Signing happens inside the 0xio wallet.

Render-only state. Cached avatars, view counts, search rankings, suggested follows, and live indexer aggregates. The indexer rebuilds them from chain data; if the indexer dies, the underlying truth is still on the chain.

#Why bother

No platform custody. If Pipoke goes away tomorrow, your handle, your followers, your posts, your coins, your community memberships, your DMs, and your wallet are still on the chain. Anyone can build a new client over the same contracts.

No silent rewrites. Likes are not pulled from a server-side count that can be tuned. Reposts are not surfaced based on a recommendation engine you never see. The engagement rewards split is enforced in PipokeFeeCollector, not in a backend.

An open data model. Anyone can write an alternate Pipoke client. The contracts are the API. The indexer is open-source. The feed is a SELECT over public records.

Real-time, with finality. Octra closes in about half a second per epoch. By the time your post has rendered in your own feed, the chain has settled it.

#When the chain is too small

Anything that needs more than a few kilobytes of bytes (audio, video, image) cannot fit cleanly into a transaction. For those, Pipoke uses Octra Circles, the encrypted on-chain object store that ships with Octra. A Circle holds the bytes, the chain holds the URI. See Octra Circles and all actions on chain.

#See also