Octra Network
Pipoke is an Octra application. Octra is a public blockchain whose programs are written in AppliedML, a smart-contract language with formal verification baked in. Octra has primitives Pipoke uses heavily: native Groth16 BN254 zero-knowledge proof verification, Poseidon hashes, half-second epoch finality, encrypted object storage via Octra Circles, and the OCS-01 token standard.
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.
#Programs, not contracts
Octra calls its on-chain executables programs. A program has an address, storage, and code. Programs are compiled AppliedML (file extension .aml), and the result is OCTB bytecode that runs in the Octra VM. Throughout these docs, "program" and "contract" mean the same thing.
Octra programs depart from EVM contracts in a couple of meaningful ways.
Formal verification is built in. The AppliedML compiler ships with a verifier (Coq-backed) that checks invariants against the program before it deploys. Pipoke's contracts carry verification badges where applicable.
Native ZK and ML primitives. Octra ships groth16_verify_bn254, digest_sha256, digest_keccak256, ed25519_ok, and a suite of FP64 deterministic ML kernels as built-in opcodes. Pipoke's anonymous-posting flow calls groth16_verify_bn254 directly inside a contract.
#Epochs and finality
An Octra epoch closes in roughly half a second. When you post, the post is included in the next epoch. By the time your screen has rendered the post, it has settled on-chain. There is no separate confirmation step.
Pipoke uses the epoch counter as its native time unit. A post stores epoch instead of a Unix timestamp. Premium expiry is an epoch number. The anon Merkle root is republished every few epochs. Session-key TTLs are expressed in epochs.
#OCT, the gas token
OCT is the native gas token of Octra. Every transaction pays a gas fee in raw OCT units (six decimals). On devnet, the OCTFaucet hands out test OCT for free.
#POKE, the Pipoke token
POKE is the Pipoke action-fee token, an OCS-01-standard fungible. It is separate from OCT. You pay gas in OCT, you pay Pipoke action fees in POKE. See the POKE token.
#OCS-01
OCS-01 is the standard fungible-token interface on Octra. Every OCS-01 token implements transfer, grant, pull, balance_of, allowance, get_name, get_symbol, get_total_supply. Pipoke's fee model leans on the standard grant + pull pattern: you grant PipokeFeeCollector an allowance once, and the contract pulls action fees from your balance as you act.
#Octra Circles
Circles are encrypted on-chain object storage. Each circle is owned by a wallet, sealed by an aes_kat-attested public key, and addressed by an oct://circleId/path URI. Pipoke uses Circles for everything bigger than a few kilobytes: voice notes, video clips, story media, follower-only attachments, drop VOD chunks, DM media. See Octra Circles.
#Groth16 BN254
Octra verifies Groth16 zk-SNARKs over the BN254 elliptic curve as a built-in opcode. Verification is read-only and cheap. Pipoke uses Groth16 BN254 for anonymous posts, anonymous voice rooms, and anonymous auction bidding. The circuit proves membership in a Merkle set of commitments without revealing which commitment is yours.
#Poseidon
Poseidon is the BN254-friendly hash function Octra uses for ZK-circuit-compatible hashing. Pipoke's anonymous identity commits are Poseidon hashes of a local secret. Nullifiers (which prevent double-acting per epoch) are Poseidon outputs too.
#Wallet integration
Pipoke connects through the 0xio Octra wallet, a browser extension. The wallet exposes the window.octra provider per RFC-O-1, which the Pipoke app talks to. The wallet handles signing. Pipoke never sees your seed.