https://api.reppo.xyz). Minting and emissions endpoints require the wallet session token from the auth flow; the health endpoint is public.
Health check
GET https://api.reppo.xyz/health
Returns the server status and uptime. Use this to verify that the Chat Server is available before initiating minting operations. No authentication required.
Response
Always
"ok" when the server is healthy.Service name identifier (e.g.,
"chat-server").ISO 8601 datetime when the server process started.
Seconds the server has been running since
started.Example
Mint a pod
POST https://api.reppo.xyz/pods/mint
Fetches the tweet at the provided URL, runs AI slop detection, generates metadata via AI, mints the pod on-chain on Base, and submits the metadata to the Reppo platform. Returns the transaction hash and Basescan link on success.
Request body
Full X/Twitter post URL to mint as a pod (e.g.,
https://x.com/user/status/1234567890).Subnet name or ID to mint the pod into. If omitted, the server selects the best-matching subnet automatically.
Custom pod title. Maximum 80 characters. Auto-generated from tweet content if omitted.
Skip the AI content quality check. Defaults to
false. See the warning above before setting this to true.Response
true when the pod was minted and submitted successfully.On-chain mint transaction hash on Base.
On-chain token ID. May be
null if the transaction is still being confirmed.The title assigned to the pod (your custom value or the auto-generated one).
AI-generated description of the pod content.
Basescan URL for the mint transaction.
Errors
| Status | Meaning |
|---|---|
400 | Invalid tweetUrl, tweet failed slop check, or other validation error |
401 | Missing or expired session token |
Example
List your pods
GET https://api.reppo.xyz/pods
Returns all pods owned by the authenticated wallet.
Response
List of pods owned by the authenticated wallet.
Total number of pods returned.
Errors
| Status | Meaning |
|---|---|
401 | Missing or expired session token |
Example
Check pod emissions
GET https://api.reppo.xyz/pods/{podId}/emissions
Returns per-epoch emission details and total claimable REPPO for the specified pod. Scans up to 50 epochs per request. If moreEpochsAvailable is true, additional epochs exist beyond the current scan window.
Path parameters
On-chain token ID of the pod. This is the integer
podId returned when you minted the pod.Response
The pod’s on-chain token ID.
The current epoch number on the network.
Total REPPO available to claim across all scanned epochs, as a decimal string (e.g.,
"12.5").Per-epoch breakdown of emissions.
true if there are additional epochs beyond the 50 scanned. Call the endpoint again to scan further epochs.Errors
| Status | Meaning |
|---|---|
400 | Invalid podId |
401 | Missing or expired session token |
404 | Pod not found — no pod with this token ID exists on-chain |
Example
Claim pod emissions
POST https://api.reppo.xyz/pods/{podId}/emissions/claim
Executes on-chain claim transactions for each unclaimed epoch. Claims up to 50 epochs per request. If moreEpochsAvailable is true in the response, call this endpoint again to claim remaining epochs.
Path parameters
On-chain token ID of the pod to claim emissions for.
Response
The pod’s on-chain token ID.
true if at least one epoch was claimed successfully.Total REPPO claimed in this request, as a decimal string.
List of on-chain transaction hashes, one per claimed epoch.
true if more unclaimed epochs remain. Call this endpoint again to claim them.Errors
| Status | Meaning |
|---|---|
400 | Invalid podId or no claimable epochs found |
401 | Missing or expired session token |
404 | Pod not found — no pod with this token ID exists on-chain |