Skip to main content
The Agent Chat Server provides wallet-authenticated endpoints for minting X/Twitter posts as pods (NFTs) on Base and managing the REPPO emissions those pods earn. All endpoints below use the Chat Server base URL (https://api.reppo.xyz). Minting and emissions endpoints require the wallet session token from the auth flow; the health endpoint is public.
Pod minting runs an AI slop-detection step before minting. Posts flagged as low-quality content will be rejected with a 400 error. Use skipSlopCheck: true to bypass this check, but expect that pods minted without the check may not earn emissions if flagged later.

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

string
Always "ok" when the server is healthy.
string
Service name identifier (e.g., "chat-server").
string
ISO 8601 datetime when the server process started.
number
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

string
required
Full X/Twitter post URL to mint as a pod (e.g., https://x.com/user/status/1234567890).
string
Datanet name or ID to mint the pod into. If omitted, the server selects the best-matching datanet automatically.
string
Custom pod title. Maximum 80 characters. Auto-generated from tweet content if omitted.
boolean
default:"false"
Skip the AI content quality check. Defaults to false. See the warning above before setting this to true.

Response

boolean
true when the pod was minted and submitted successfully.
string
On-chain mint transaction hash on Base.
string
On-chain token ID. May be null if the transaction is still being confirmed.
string
The title assigned to the pod (your custom value or the auto-generated one).
string
AI-generated description of the pod content.
string
Basescan URL for the mint transaction.

Errors

Example

List your pods

GET https://api.reppo.xyz/pods Returns all pods owned by the authenticated wallet.

Response

array
List of pods owned by the authenticated wallet.
integer
Total number of pods returned.

Errors

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

integer
required
On-chain token ID of the pod. This is the integer podId returned when you minted the pod.

Response

integer
The pod’s on-chain token ID.
integer
The current epoch number on the network.
string
Total REPPO available to claim across all scanned epochs, as a decimal string (e.g., "12.5").
array
Per-epoch breakdown of emissions.
boolean
true if there are additional epochs beyond the 50 scanned. Call the endpoint again to scan further epochs.

Errors

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

integer
required
On-chain token ID of the pod to claim emissions for.

Response

integer
The pod’s on-chain token ID.
boolean
true if at least one epoch was claimed successfully.
string
Total REPPO claimed in this request, as a decimal string.
array
List of on-chain transaction hashes, one per claimed epoch.
boolean
true if more unclaimed epochs remain. Call this endpoint again to claim them.

Errors

Example