Pipoke
Concepts

Octra Circles

A Circle is an encrypted object store that lives on Octra. Each circle is owned by a wallet, sealed by a public key the wallet registered, and addressed by an oct://circleId/path URI. Pipoke uses Circles for every payload too big to fit comfortably in a transaction: voice notes, video clips, story media, follower-only attachments, coin images, drop VOD chunks, and DM media.

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 in a Circle

Pipoke use What lives in the Circle
Voice notes The audio bytes, encrypted with a per-message symmetric key.
Voice-note replies and comments Same as voice notes, on the reply's tx.
Video posts Encrypted MP4 manifest plus chunked encrypted payload.
Image posts and GIFs Encrypted blob, plus a thumbnail.
Stories Encrypted manifest, chunked encrypted media.
Follower-only attachments The plaintext attachment, encrypted with a symmetric key, with a sealed wrap per follower.
Coin images The launched-coin image.
Drop VOD chunks Live audio/video segments dropped in as they record; assembled into the final VOD when the drop ends.
DM media Photos, audio, files attached to a DM. Encrypted to the recipient's box pubkey.

The chain holds the oct:// URI on the post or message receipt. The chain does not hold the plaintext bytes.

#How the URI works

An oct:// URI looks like:

oct://<circleId>/<path>

circleId identifies the circle (and therefore the owning wallet and the sealed key). path is a key inside that circle. The Pipoke app and a thin gateway service translate oct:// into HTTPS for browser rendering. The gateway never sees the plaintext: it serves the encrypted blob, and the audience with the unwrap key decrypts in the browser.

#Encryption

Pipoke encrypts every Circle payload with XSalsa20-Poly1305 (NaCl's secretbox). For a public post with an image, the symmetric key is published alongside the URI so anyone can decrypt. For a follower-only post, the symmetric key is sealed per follower with NaCl's box and the wrap is stored next to the URI. For a DM, the symmetric key is sealed to the recipient's X25519 box pubkey.

#Per-attachment cap

A single attachment payload caps at about 4 MB before the app refuses to upload. The cap is an app convention; the Circle accepts larger blobs. Bigger files (drop VODs especially) are chunked and uploaded as a manifest plus N chunks.

#Why Circles, not IPFS

The chain enforces the link. A post's oct:// URI is on the chain. If the Circle blob is missing, the chain still says the post exists. No silent rot.

No third-party CDN bill. Pipoke does not pay a hosting bill for your voice notes. Octra hosts them. If Pipoke disappears tomorrow, your bytes are still in your circle.

#See also