Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.signalium.site/llms.txt

Use this file to discover all available pages before exploring further.

POST /posts/evaluate

Pulls an X post via RapidAPI’s twitter241, scores it with the gatekeeper model, and (if eligible) runs the writer to draft a market proposal. Seals the judge prompt to 0G Storage and persists the proposal in SQLite, keyed by the resulting merkle root. Body:
{ "url": "https://x.com/Cointelegraph/status/2049122930903089617" }
Response (eligible):
{
  "eligible": true,
  "score": {
    "falsifiability": 0.9,
    "clarity": 0.85,
    "specificity": 0.8,
    "signal": 0.7,
    "novelty": 0.65,
    "composite": 0.78
  },
  "proposal": {
    "question": "Will State Street launch tokenized fund servicing from Luxembourg by 2026-12-31?",
    "description": "...",
    "resolutionCriteria": "...",
    "resolutionDate": "2026-12-31T23:59:59.000Z",
    "judgePrompt": "...",
    "aiProbability": 65,
    "sourcePostUrl": "https://x.com/Cointelegraph/status/2049122930903089617"
  },
  "judgeStorageRoot": "0xdd46c0bec323abf314e65f98d7fb986dfc8f2d4ad03b8e32a5a250ba41e1d30e",
  "postMetadata": { /* … same shape as Market.postMetadata … */ }
}
Response (rejected): { "eligible": false, "score": {...}, "reason": "..." }. The frontend takes the judgeStorageRoot and feeds it into MarketFactory.createMarket(...) so the on-chain market and the API’s cached proposal stay linked.