https://api.signalium.site · local: http://localhost:3001
All responses are JSON. CORS is permissive (*) so the deployed web app can hit the same origin you’re testing against.
Interactive API reference
Try every endpoint live with request/response examples, schemas, and a
copy-paste curl builder. Powered by Scalar over the
OpenAPI 3.1 spec the API
serves at
/openapi.json.Endpoint groups
| Group | Purpose |
|---|---|
/markets | List, paginate, fetch detail, holders, trades |
/posts | Evaluate an X URL — runs gatekeeper + writer in 0G Compute TEE |
/users | A wallet’s positions and trade history |
/price | Cached 0G/USD price + the live Gimo APY derived from a rolling rate sample window |
/health | Liveness + subgraph indexer lag |
Caching strategy
The API keeps a small SQLite (apps/api/data/signalium.db) for three hot paths:
- X post metadata — fetched once via RapidAPI’s
twitter241, then served from disk. - AI proposals — written when
/posts/evaluatereturns an eligible draft, keyed by thejudgeStorageRootmerkle root that ends up on-chain. - 0G/USD price — refreshed at most every 6 hours; serves stale on upstream failure.
/markets/:address return the rich description, resolutionCriteria, and proposalDetails block that the on-chain market doesn’t carry.
