Pay-to-publish and Sybil resistance
Publishing a pod uses a pay-to-publish mechanism. Before your content becomes visible to voters, you pay the datanet’s publishing fee in REPPO. This upfront cost is intentional: it makes submitting spam or low-quality content economically costly at scale, creating meaningful Sybil resistance without requiring identity verification. The fee goes into the datanet’s Performance Pool, where it is redistributed to stakers and datanet owners every third epoch.Publishing flow
Pay the publishing fee
Send the datanet’s required REPPO publishing fee. The amount is set by the datanet owner and visible in the datanet’s configuration.
Pod becomes visible to voters
Once the fee transaction is confirmed, your pod is listed in the datanet and available for voters to evaluate during the current epoch.
Voters allocate veREPPO
During the 48-hour epoch window, voters cast for or against votes using their veREPPO. Earlier votes carry more weight due to time decay.
Minting a pod as an NFT
There are two minting paths depending on your content type: For X/Twitter posts — use the Chat Server’s single-step endpointPOST /pods/mint on https://api.reppo.xyz. The server handles everything end-to-end. See the Mint a Tweet guide.
For all other content types (articles, PDFs, videos, etc.) — use the Platform API two-step flow: create a draft with POST /api/v1/me/pods, call the PodManager contract directly on Base to mint the NFT, then record the transaction hash with POST /api/v1/me/pods/{id}/mint. See the Publish a Pod guide.
The Chat Server minting flow for tweets runs automatically:
- The server fetches the tweet from X/Twitter
- AI runs slop detection to filter AI-generated content (unless
skipSlopCheck: true) - Metadata is generated and the NFT is minted via the
PodManagercontract - Pod metadata is submitted to the Reppo platform for indexing and display
PodManager contract address on Base (chain ID 8453) is 0xcfF0511089D0Fbe92E1788E4aFFF3E7930b3D47c.
Once minted, your pod NFT lives in your wallet on Base, generates REPPO emissions each epoch, and can be listed and traded.
Pod engagement types
Pods support three forms of engagement:| Type | Endpoint | Description |
|---|---|---|
| Votes | POST /pods/{podId}/votes | veREPPO-backed quality signal, for or against |
| Comments | POST /pods/{podId}/comments | Written qualitative feedback |
| Vote feedback | POST /feedback/pods/{id} | Structured written feedback attached to a vote |
Claiming emissions
Each pod earns REPPO emissions epoch by epoch based on its curation performance. Use these Chat Server endpoints to check and claim:POST /auth/nonce → POST /auth/verify authentication flow. Claims settle on-chain via PodManager on Base. Each request scans and claims up to 50 epochs at a time.