Pipoke
Concepts

Identity and Handles

Your Pipoke identity is your Octra wallet address with a handle attached. The handle is yours forever once you register it. Everything else (display name, bio, avatar, premium tier) is mutable state on PipokeCore.

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 four parts

Part Mutable Where it lives
Wallet address No Your 0xio wallet seed.
Handle No, once minted PipokeCore registration map.
Display name, bio, avatar Yes PipokeCore profile map.
Premium tier and expiry Yes PipokeCore premium map.

The wallet address is the canonical ID. The handle is the human-readable alias. The display name is whatever you want shown above your handle. The avatar is a URI.

#Handle permanence

Once you register a handle through register, that handle is bound to your wallet forever. Even if your Premium+ expires, you do not lose the handle. Pipoke never reassigns a registered handle.

#Display name, bio, avatar

These three are profile fields you can edit any time:

  • set_display_name(name)
  • set_bio(bio)
  • set_avatar(uri)

Each is one transaction. Each charges a small POKE fee. The bio character cap depends on your tier. The avatar field accepts either a standard HTTPS URL or an oct:// URI pointing at a Circle-hosted blob; the Pipoke app renders both.

#Premium glow

A Premium profile shows a POKE-orange glow next to the handle in the feed. A Premium+ profile shows a gold glow. The glow is rendered client-side from the on-chain tier value; you cannot fake it.

When a premium tier expires, the glow disappears and the bio caps and post caps fall back to the free tier. Posts you wrote at the longer caps stay as they were, you just cannot publish a new 150,000-character post until you renew.

See premium for the SKU table.

#Follows, mutuals, close friends

The relations between wallets:

Relation Method Effect
Follow follow(target) Adds an on-chain edge. The follower sees the followee's public posts in their feed.
Mutual Both follow each other Two-way edge. Eligible for mutuals-only posts.
Close friend set_close_friend(target, on) A curated subset of your followers. Eligible for close-friends-only stories.

All three are public reads. Anyone can see who you follow. Blocks (see edit-delete and moderation) are an explicit relation too, but they hide the blocker from the blocked party's feed.

#Wallet-derived encryption keys

Pipoke derives two encryption keypairs from your wallet signature:

  • An X25519 box keypair for direct messages and follower-only post unwraps.
  • A NaCl signing keypair for group chat membership proofs.

Both are derived deterministically the first time you open the app. You never store them as separate secrets. If you move to a new device with the same seed phrase, both regenerate.

#See also