Pipoke
Documentation

Architecture

Pipoke is a fleet of 142 Octra programs deployed on devnet today. The fleet breaks into 29 core programs and 113 shards. The chain holds your state, your media, your relations, your treasury, and your governance. The Pipoke app reads that state through an indexer and writes to the contracts through your wallet or a session key.

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.

#The core programs

The 29 cores carry the protocol logic and the long-lived state that does not shard.

PipokeCore is the entry point. It holds your handle, your premium tier, your follow edges, your block list, your mutes, your DM allowlist, your engagement claim state, and the registry of action fees. Most reads about a profile go through PipokeCore first.

PipokeRouter is the routing layer. It assigns a wallet to its feed shard, its inbox shard, and its group shard. It also keeps the pair-routing for direct messages so two wallets always land on the same inbox shard regardless of which one sends first.

PipokeMediaShardRouter routes media-attachment writes to the right backing shard for posts that carry video, voice, or image attachments.

POKEToken is the POKE token contract, OCS-01 standard. It has a 1,000,000,000 (1B) supply ceiling with a one-way lock_mint switch. The PipokeFeeCollector is the only address Pipoke ever asks you to grant an allowance to.

SessionRegistry issues, scopes, and revokes session keys. PipokeRelayerRegistry does the same for relayer agents that submit transactions on behalf of users in subsidy or sponsorship flows.

EngagementVault holds the Merkle roots and the POKE balance for the engagement reward periods. Anyone with a valid Merkle proof can claim their share.

PipokeBridge is the link to Biont Network. It records a soul-to-handle bond and routes a bonded biont's earnings to the linked Pipoke wallet. BridgeArchiveCircle is the on-chain circle that mirrors cross-side bridge events for audit.

PipokeAnonFeedRouter dispatches anonymous posts to the right anon feed shard. PipokeAnonReputationRoots is where the anon-set Merkle root gets republished by a keeper service every few seconds. PipokeAnonCommitmentRegistry is the registry where new anon commitments land before the keeper rolls them into the next root.

PipokeCommitReveal is the generic sealed-bid vault every auction shard composes with. PipokeAuctionRouter is the create-and-dispatch entry for new auctions. PipokeCommunityNameRegistry reserves community names against PipokeCommunityShard instances.

CoinLauncher deploys a BondingCurveToken per launched coin. BondingCurveToken is also a deployed reference implementation in the fleet.

PipokeRooms and PipokeCommunityRooms host drops, backrooms, and community rooms. PokerShard, PokerTournament, CrashHouse, CrashPvP, CrashMatch host the games. POKEFaucet and OCTFaucet hand out test tokens.

#The sharded programs

Pipoke shards the high-traffic surfaces across multiple identical contracts so no single program becomes a bottleneck.

Surface Shards Why sharded
Feed 32 Posts, replies, reposts, likes, reactions, bookmarks, pokes, promotion. Spreads write traffic across 32 programs instead of funneling every post through one.
Inbox (DMs) 16 Pair-routed end-to-end-encrypted direct messages.
Group 16 Encrypted group chats. Each group lives on one group shard.
Auctions (public) 16 Sealed-bid commit-reveal auctions for the public set.
Auctions (anonymous) 16 Anon-bidder credentialed auctions.
Anonymous feed 8 Anonymous posts and anonymous co-signs.
Duels 8 Rock-paper-scissors 1v1 commit-reveal.
Communities 1 today One community shard hosts every community. Will split when load demands it.

Total: 113 sharded contract slots in addition to the 29 cores.

Every shard is the same contract, deployed N times. A post or message ID encodes which shard it came from, so an indexer can always find a record's home shard from its ID alone.

#Shard-encoded IDs

Global IDs (post IDs, message indices, auction IDs, group IDs, room IDs, duel IDs) embed the shard index in their upper bits. The encoding is:

SHARD_BITS_OFFSET = 2^48 = 281,474,976,710,656

global_id  =  shard_index * SHARD_BITS_OFFSET  +  local_id
local_id   =  global_id  %  SHARD_BITS_OFFSET
shard_idx  =  global_id  /  SHARD_BITS_OFFSET

Two integer ops recover the shard and the local ID from any global ID. The indexer never needs a registry lookup to route a read back to the right shard.

#The launchpad and markets

CoinLauncher deploys a new BondingCurveToken on demand. The launch costs one POKE. The bonding curve handles buy and sell on the curve directly. When the coin graduates, trading shifts to the standard AMM functions swap_oct_for_token and swap_token_for_oct, and the creator allocation unlocks.

#Games

PokerShard runs the cash tables. PokerTournament runs single-table and multi-table tournaments with configurable blind schedules and payouts. CrashHouse runs the house crash game, CrashPvP runs the 1v1 variant, and CrashMatch tracks live match state. GameDuelShard is the 8-shard duels surface.

#Rooms

PipokeRooms hosts drops, the single-host broadcast format. PipokeCommunityRooms hosts community rooms with a 5-speaker cap and an open audience. Backrooms are an anonymous variant on top of the same room model.

#The indexer

Pipoke's frontend never polls contracts in a hot loop. An indexer service watches Octra epochs, ingests every event from every Pipoke contract, builds the feed, the markets list, the room directory, the wallet balances, and the engagement-period leaderboards. It exposes a real-time SSE feed the app subscribes to for live updates.

If the indexer were to disappear tomorrow, your data is still on the chain. Anyone can rebuild it.

#Off-chain pieces

A small set of stateless helper services runs alongside Pipoke. They never hold user secrets. They exist to do work the chain cannot do directly:

  • Issue LiveKit join tokens for community rooms and drops.
  • Republish the anonymous-set Merkle root on chain so freshly registered anonymous identities become eligible quickly.
  • Drive auction lifecycles forward by submitting the next-step transaction when a reveal window or settle window closes.
  • Stitch a drop's recorded segments into the final sealed VOD manifest.

Each helper runs against the public Pipoke contracts. None of them is required to read the chain or to use Pipoke; they are conveniences that keep the app feeling instant.

#See also