How to actually use Pipoke.
Every shipped feature, step by step. Numbered markers point at the actual button in the actual UI. Start with sign-in, then set up your identity. The rest works in any order — use the rail on the left to jump.
Sign in and pick a handle.
Four-step onboarding wires your wallet, approves a one-time POKE allowance, and registers your handle. After this you land on the feed.
- 1Open
dev.pipoke.chat. One CTA — Connect 0xio Wallet. Click it; the 0xio extension pops to confirm. - 2You land on
/onboarding/connect(button reads Connected). Continue to/onboarding/grant— card titled Approve once, post forever. Click Approve POKE allowance and sign. - 3On
/onboarding/register, pick a handle (2–24 chars,a-z 0-9 _) and an optional bio. Click Register profile and confirm. - 4On
/onboarding/done: You are in. Click Skip to the feed (or Take the quick tour). - 5Important: before you do anything else, go to Settings and set up your session key + anon identity (next chapter).
Set up the session key and anon identity.
The single most important post-signin step. Session key skips popups; anon identity registers your Poseidon commitment so you become ELIGIBLE; anon bidder is a separate keypair for sealed auction bids. All in /settings.
- 1Go to
/settings. Find Session key (header SILENT POSTING). Click Enable silent posting and sign. The card shows session address, expires at epoch, protocol gas (OCT). - 2Top up gas: type an OCT amount or click a preset — 1 / 5 / 10 / 50 — then Top up. Footer: *One OCT covers ~12,500 silent posts at 0.000080 OCT each.* Buttons Extend expiry / Revoke.
- 3Scroll to Anon identity. Click Reveal under BACKUP and save the 44-char string — anyone holding it can post as your anon identity, treat it like a password.
- 4Watch Identity activation flip to ELIGIBLE (green). You see LATEST ROOT, YOUR LEAF, NEXT ROOT (rolling), QUEUE. Roots roll every ~30s.
- 5Set up Anon bidder identity (separate keypair for sealed auction bids). Use Back up to circle / Restore to sync across devices.
Claim free POKE and OCT.
New wallets need POKE for actions and OCT for session-key gas. The faucet drips both. Use it once a day per cooldown.
- 1Go to
/faucet. Two cards: POKE faucet and OCT faucet. - 2Click Claim POKE. The wallet pops; sign. The card shows the next claim window.
- 3Click Claim OCT. Sign. OCT goes to your wallet; you can route it to your session key from Settings → Session key → Top up.
- 4Cooldown shows live (next claim in
Xh Ym). Come back daily to top up. - 5Mainnet: faucets disappear; you get POKE from engagement / launches and OCT from the bridge.
Post to the feed.
Composer mounts inline at the top of the feed. Text by default; three pills below for Photo/Video, Voice and Video. Send button reads broadcast.
- 1On
/click + to open the composer (inline at top of feed). - 2Placeholder: What is happening on Octra?. Format with Cmd+B / Cmd+I; mention with
@handle. - 3Three pills: Photo/Video (green), Voice (yellow), Video (red — needs funded session key). Pick one to attach or record.
- 4Char counter bottom-right (500 regular / 1,000 Premium / higher Premium+). Toolbar above textarea: emoji, format, handle autocomplete.
- 5Hit broadcast. Button cycles broadcasting… → toast broadcasted. Post lands at top.
just deployed a new launch via the wizard. one signature, one minute, one POKE.
reminder that every poke, every like, every comment is a tx. read that again.
voice note posted from the train. circles holds the audio, the feed holds the URI.
React, repost, quote and bookmark.
On a post detail page you get 16-emoji reactions, repost (boost) vs quote (with comment), bookmark and pin-to-profile.
- 1Click any post to open
/p/[id](full detail). - 2Reactions row: tap the smiley, pick one of 16 emoji. Your reaction stamps with your handle.
- 3Repost icon = boost as-is. Long-press / open menu = Quote to attach your comment.
- 4Bookmark icon = save to your bookmarks tab on
/u/{me}(private to you). - 5Pin icon (own posts only) = pin to the top of your profile.
every poke, every like, every comment is a tx. read that again.
Post a story or video drop.
Stories are 24h ephemeral; video drops are short-form clips. Both live on the feed strip above the timeline.
- 1On
/look at the stories strip at the top. Your avatar shows + Story. - 2Click + Story → record or upload. Pick TTL (default 24h) and privacy (public / followers / mutuals).
- 3Hit post story — the strip refreshes with your avatar at the front.
- 4For a video drop: open the composer, hit the Video pill, record up to the clip-length limit. Hit broadcast.
- 5Viewers tap your avatar in the strip → StoryViewer opens with reactions + skip controls.
Send POKE as a tip.
Pokes are POKE tips you send to a post or a profile. Recipient gets a notification; the tip log lives on the profile patronage panel.
- 1On any post, tap the poke icon in the action row. PokeSheet slides in.
- 2Pick an amount (presets: 10 / 50 / 100 / 500 POKE) or type a custom number.
- 3Add an optional message. Click Poke.
- 4On a profile (
/u/{handle}), use the Tip button on the hero — same sheet. - 5Recipient sees the poke in
/notificationsand on the Patronage strip on their profile.
Edit, delete or promote a post.
On your own posts: tap the More menu for Edit, Delete or Promote. Promote pays a POKE fee to surface the post higher in feeds.
- 1On your own post, click the ⋯ (More) icon.
- 2Pick Edit post → EditPostModal opens; change text/media, click Save.
- 3Or pick Delete post → confirm. Post is removed (the chain receipt stays).
- 4Or pick Promote → PromoteSheet opens. Pick duration + POKE budget. Promoted posts get the orange stripe + boost.
- 5Use Schedule on the composer (clock icon) to queue a post for a future epoch instead of broadcasting now.
Discover trending, people, coins.
Explore surfaces what is hot — trending topics, promoted posts, top fee collectors, and a search for handles.
- 1Go to
/explore. Top: search input — type @handle or a topic. - 2Scroll: Trending (posts climbing), Promoted (paid surface), Top fee collectors (wallets routing the most POKE).
- 3Click any trending row to land on the post or community.
- 4Use the Markets strip at the bottom of explore to jump straight into freshly launched coins.
- 5Add to following directly from any profile card with the + Follow button.
Follow, unfollow, see mutuals.
Follows are on-chain. The Mutual followers strip surfaces overlap. Follower-only channels gate posts behind a follow.
- 1Open any profile at
/u/{handle}. Hit Follow on the hero. - 2The Mutuals strip shows mutual followers between you and them.
- 3On your own profile, Following tab lists everyone you follow; Followers tab the reverse.
- 4To unfollow: tap the Following button → it flips to Unfollow on hover.
- 5Posts marked followers-only are sealed; only your followers can decrypt them.
Read notifications.
Replies, reposts, reactions, pokes, follows, DMs, group invites. Polls every ~10s; unread badge sits on the nav item.
- 1Go to
/notifications. List is grouped: Today / Yesterday / Earlier. - 2Each row shows the actor avatar, what they did (reposted, poked, replied), and a preview.
- 3Click a row → land on the source post / profile / DM.
- 4Click Mark all read in the header to clear the badge.
- 5Filter chips at the top: All · Replies · Reposts · Pokes · Follows · DMs.
Send a sealed DM.
X25519 end-to-end. Each DM costs 0.1 POKE. Session key handles sends after a first encryption-seed signature; attachments need ≥ 1 OCT on the session key.
- 1Go to
/dm. Header has a New button (Plus icon) — opens NewChatModal (Find a wallet to message). - 2Type @handle or paste an
octaddress. Click a result to land on/dm/{wallet}. - 3Thread header shows the recipient + an end-to-end encrypted badge (animated lock).
- 4First send only: wallet popup signs the encryption seed (cached in memory). After that the session key sends silently.
- 5Composer placeholder: encrypted to wallet only…. Attach via paperclip (≥ 1 OCT session), record voice/video, click Send (0.1 POKE per message).
Create an encrypted group.
Multi-party encrypted chat. NaCl group key sealed once per member. Group admins can rekey, kick, add, change threshold.
- 1Go to
/groups. Click + Create group in the header. - 2Name the group, add members (handles or addresses), pick an icon. Click Create.
- 3In the thread: composer placeholder send to {N} members. Each send seals to every member.
- 4Open the members sheet (top-right icon) — admins see Rekey (rotate key after removing someone), Kick, Promote to admin, Change threshold.
- 5When a member is removed, the next message triggers an automatic rekey so the kicked address cannot read further plaintext.
Post anonymously.
Your anon identity is already registered (chapter 2). Now use it. Groth16 proof generates in your browser before submit.
- 1Go to
/anon. AnonComposer mounts with your AnonIdenticon. Status: ready (if almost ready, wait for the next root publish). - 2Type into the textarea. Placeholders rotate: tell on yourself., drop a take you wouldn't sign., say the part you keep quiet.
- 3Optional: attach a URI via attach a link · optional, or post to a community via the community chip (
c/{id}). - 4Click drop. Button cycles to sealing… while the Groth16 proof generates (preparing → proving → submitting).
- 5Toast: sealed · nobody knows you sent that. Post appears on the anon feed under your nullifier slice.
Lock posts to followers or mutuals.
Posts marked followers-only are sealed with a follower channel key. Only your followers (or mutuals) hold the key, so only they can decrypt.
- 1In Settings, open the Follower channels card. Click Generate channel key and sign.
- 2In the composer, click the Privacy chip below the textarea. Pick public / followers / mutuals.
- 3Type your post and broadcast as usual. The chain stores ciphertext + a key reference.
- 4Followers see the post normally — your client unseals it client-side using their stored key share.
- 5To rotate (after blocking someone): Settings → Follower channels → Rekey. New posts use the new key; old ones stay readable to whoever already saw them.
Launch your own coin.
LaunchCoinWizard runs three onchain steps — deploy → approve POKE → register. Launch fee 1,000 POKE.
- 1Go to
/markets. Click the Rocket button in the page header to open the wizard. - 2Step collect: ticker (2–16 chars A–Z 0–9), name (≤64 chars), upload an image. Click Launch.
- 3Wizard runs deploy contract → approve POKE → register coin, each with its own spinner row.
- 4Done card shows your coin. Click View coin → lands on
/markets/coin/[address]with chart + trade panel + per-coin channel. - 5Share it: paste the coin URL in a post to render a live coin embed in feed.
Trade. Manage holdings.
On a coin page you buy/sell against the bonding curve. Your holdings live in the Wallet tab; you can transfer them or sell back.
- 1Open any coin at
/markets/coin/[address]. Trade panel on the right. - 2Toggle Buy / Sell. Type an amount in POKE or token. Presets: 25% / 50% / MAX.
- 3Click Place trade. Session key signs silently. Quote shows price impact + min received.
- 4In
/wallet(Balance tab) the Holdings card lists every coin you own with live PnL. - 5Tap a row → Transfer (send to another wallet) or Sell (back to the curve). HoldingTransferModal handles the send.
Run your wallet dashboard.
Wallet at /wallet has four tabs: Balance, Earnings, Activity, Premium. Balance shows POKE/OCT + holdings; Earnings tracks fees in; Activity is your tx log.
- 1Go to
/wallet. Tabs: Balance · Earnings · Activity · Premium. - 2Balance: large POKE + OCT numbers, holdings list, yield drip, Send POKE card (paste address, amount, Send).
- 3Earnings: window selector — 24h / 7d / 30d / all. Bars show daily earnings split by source (engagement, launches, royalties).
- 4Activity: every tx — posts, trades, claims, votes — each linked to its onchain receipt.
- 5Premium: status card + Subscribe / Renew or upgrade (see next chapter).
Open an auction. Bid sealed.
CreateAuctionModal is a three-step wizard. Bid pages adapt — English shows Place bid; sealed-bid splits Commit bid → Reveal bid → Settle auction.
- 1Go to
/auctions. Click the Gavel button in the header to open CreateAuctionModal. - 21 / 3 · what — item type: digital (upload file), biont (pick a soul), token (paste collection + token id).
- 32 / 3 · terms — English or sealed-bid, min bid, duration (1h / 6h / 24h / 3d / 7d), reveal window (sealed only), bidder kind public / anon.
- 43 / 3 · review — confirm and click Create auction. Done card: View auction or Share in a post.
- 5On a live auction
/auctions/[id]: English shows Place bid. Sealed-bid shows Commit bid during commit, Reveal bid during reveal, then Settle auction.
Host or join a room.
Hub at /rooms. Filter chips: All · Drops · Communities · Backroom. Two entry buttons — go live (Drops) and open backroom — on the hero.
- 1Open
/rooms. Filter chips: All · Drops · Communities · Backroom. - 2Host a Drop: go live in the top-right. DropPreStream wizard: identify → categorize → capture → monetize. Click start stream.
- 3Join a Community Room: filter Communities, click any card →
/rooms/community/[id]. Listener by default; raise hand to speak. - 4Host a Backroom: open backroom top-right →
/rooms/backrooms/new. Anon identity + nullifier derive silently. - 5Join a Backroom: filter Backroom, click any live · anon card. Your identity stays masked behind a nullifier slice.
Play Crash (house + PvP).
Multiplier climbs; bust at random. Cash out before bust to lock in. House mode plays against the contract; PvP mode plays head-to-head.
- 1Go to
/games/crash. Stage shows the live multiplier and a phase pill Betting / Running / Crashed. - 2During Betting: enter a POKE amount in the bet input, optional auto cashout multiplier. Click Place bet.
- 3When Running: hit the big CASH OUT button (or press Space) to lock in.
- 4For PvP head-to-head: open the PvP tab in the lobby, accept an open match or Create match (set wager + room).
- 5After Crashed: round payout posts. Onchain seed is public; anyone can re-derive the round to verify.
Play Texas Hold'em.
Cash tables + multi-table tournaments. Sealed cards (commit-reveal). Lobby lists live tables and registering tournaments.
- 1Go to
/games/poker. Lobby shows Live tables and Tournaments. - 2Click a cash table row → seated at the table.
- 3Or click Register · {buy-in} POKE on a tournament card.
- 4Table UI: oval seat ring, your hole cards, action bar at bottom — Fold / Check / Call / Raise / All-in. Bet slider for raise.
- 5Turn timer 60s. After showdown the cards decrypt; the chain log proves the deal was honest.
Wager a Poke Duel.
Rock-paper-scissors duel over commit-reveal. Wager a POKE amount; winner takes the pot.
- 1Go to
/games/duel. Lobby lists Open challenges and My duels. - 2Accept an open challenge, or click + Challenge to set wager + opponent (handle or address).
- 3Pick your move: Rock / Paper / Scissors. The frontend commits a hash of your pick.
- 4After both commit, the reveal phase opens — your pick auto-reveals. Winner takes the pot.
- 5Duel history shows on your profile under the Plays strip.
Join a community.
Communities at /communities are the hub; each one has its own /c/[id] with 15 tabs. Some open join; some require approval.
- 1Go to
/communities. Tabs: Joined · Discover · My applications. - 2On Discover, browse cards by category. Each card shows member count, recent posts, join policy.
- 3Click Join for open communities, or Apply for gated ones (fills an application form).
- 4After joining, you land on
/c/[id]with 15 tabs: feed, pinned, members, about, rules, tournaments, crash, proposals, applications, modqueue, automod, appeals, modlog, bonds, settings. - 5Use the feed tab as your community-specific timeline; the composer auto-tags posts with the community.
Run a proposal. Vote. Execute.
Proposals tab carries 9 kinds. Admins propose; members veto. SPEND moves treasury POKE; ADMIN_* alters admins; CAP/THRESHOLD/UNPAUSE/UNBAN/MEMBER_REMOVE/CREATOR_XFER handle the rest. 48h timelock.
- 1On
/c/[id], open the proposals tab. Admin Treasury panel shows propose spend · admin. - 2Fill amount (POKE) + recipient. Click propose. ReasonComposer pops for an optional purpose; submit.
- 3Toast: spend proposal opened · awaiting N more admin confirmation(s) + 48h timelock.
- 4Pending cards show kind badge, status pill, proposal id, timelock countdown. Click into a card.
- 5On a proposal detail page: admins Confirm / Veto. Member-vote kinds show For / Against / Abstain. After timelock, anyone clicks Execute.
Moderate with bonds + appeals.
Mod actions (MUTE / SHADOW / BAN / LOCK_POST) require a POKE bond. Affected users can appeal; if upheld the bond returns, if overturned it slashes 25%.
- 1On
/c/[id]open modqueue. Each row shows a flagged post + action options. - 2Pick Mute · 24h / Shadow / Ban / Lock post. Confirm — POKE bond locks in the community contract.
- 3Affected user sees the action in their notifications + an Appeal button. Tapping it opens the appeal form (text + optional evidence).
- 4In appeals tab, members vote Uphold / Overturn. If overturned, 25% of the mod's bond slashes.
- 5The full action history lives in modlog (public, on-chain receipts). Use automod to set keyword + new-account rules.
Claim from the Engagement Vault.
A slice of every Pipoke action fee flows into the vault. Each period publishes a Merkle root; multi-period claim runs through ClaimWizard.
- 1Go to
/vault. Header Vault; section below: distribution periods. - 2Each row: period id, status (finalized / open / swept), total POKE, sweep countdown.
- 3Click a finalized row (or its Claim button) → ClaimWizard opens.
- 4Tick one or more periods. Click Claim engagement to submit one combined claim.
- 5After tx confirms you see your claimed amount + affected periods. Unclaimed periods auto-sweep at
sweep_after.
See who is winning.
Leaderboard ranks wallets by engagement metrics: POKE earned, pokes received, launches, reactions in. Filters by window.
- 1Go to
/leaderboard. Filter chips: 24h · 7d · 30d · all-time. - 2Columns: rank, handle, POKE earned, pokes received, posts, reactions in.
- 3Click any row to land on the profile.
- 4Your own row sits highlighted with your live rank.
- 5Switch the metric dropdown to rank by a different axis (e.g. most-poked posts).
Edit your profile + page theme.
Edit profile lives behind an Edit3 button on your hero. The Edit dialog has tabs for picture, handle, bio, page (markdown), gallery (12 pins), and theme.
- 1Open your profile at
/u/{your-wallet}. Hit Edit profile on the hero. - 2Dialog tabs: Profile picture (upload or pick bonded biont), Handle, Bio, Page (markdown), Gallery (12 image pins), Page theme (colour swatches).
- 3Each field shows its own POKE fee. Bottom: total cost sum.
- 4Click Save · {totalFee} POKE. Toast: Profile updated.
- 5The hero gradient re-paints from your avatar dominant color. Page theme applies to your markdown page tab.
Bond a biont.
Both-chain ritual at /bond. One blue Bond button runs both signatures in order — biont side first (set_bond), then Pipoke side (link). One biont per wallet.
- 1Go to
/bond. If you own no liberated bionts: No liberated bionts. Otherwise each renders as a card with archetype, reputation, tier and a state badge. - 2On an unbonded card click the blue Bond. Toast: Step 1/2 · biont side · Signing set_bond on the biont chain.
- 3After biont-side tx confirms: Step 2/2 · pipoke side · Linking your handle to the biont. Sign the second tx.
- 4Final toast: Bonded @{handle} ↔ {biont name}. State badge flips to bonded.
- 5Recovery: if half-bonded, click Complete link (or Complete unbond on the unbond path). To unbond later: Unbond runs the same two-step pattern.
Open Pipoke and try it.
Pipoke is live on Octra Devnet today. Pick any walkthrough above, follow the numbered steps, and you will have run it inside a minute.