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.

Signalium turns any viral X (Twitter) post into a tradable YES/NO prediction market. Three AI roles run inside the 0G Compute TEE so the verdict can be trusted but cannot be tampered with:
  • Gatekeeper scores a tweet on falsifiability, clarity, specificity, signal, and novelty. Most tweets are rejected.
  • Writer drafts a clean question, description, resolution criteria, and a sealed judge prompt that lives on 0G Storage.
  • Judge runs the frozen prompt at resolution time, signs the outcome with the allowlisted TEE key, and submits it on-chain.
While the market is open, idle stakes don’t sit dormant. Each market spawns its own Treasury that routes funds into Gimo Finance liquid staking (st0G). At resolution 80% of the yield earned goes back to bettors pro-rata, 20% to the protocol.

Quick start

Clone the repo, run pnpm dev, browse live mainnet markets in 90 seconds.

Architecture

The full system diagram — web, API, judge worker, contracts, subgraph.

Yield economics

How the 80/20 split, reserve floor, and one-shot snapshot work.

Smart contracts

Mainnet addresses, ABI surface, role gates.

Try it now

PathWhat you’ll see
signalium.siteLive mainnet — browse markets, view source posts, watch live yield
signalium.site/m/0x1b89…0639A real market with bets placed and 0.025 0G earning in Gimo
api.signalium.site/healthAPI liveness probe
api.signalium.site/price/0gCached 0G/USD price (CoinGecko, refreshed every 6h)

How a market works

  1. User pastes an X post URL in /create.
  2. The API runs the gatekeeper. If the tweet is settle-able, the writer drafts a market and seals the judge prompt to 0G Storage.
  3. The user signs MarketFactory.createMarket(...) from their wallet. The factory deploys, in one transaction, a PredictionMarket clone, a per-market Treasury whose principal is that market, and a GimoAdapter wired to the Treasury.
  4. Anyone bets YES or NO with native 0G. Stakes flow into the Treasury; the operator (creator by default) calls deployIdle to push idle funds into Gimo’s stake().
  5. At resolutionDate, the judge worker calls the judge model in TEE on the frozen prompt, signs the outcome, and submits to AIResolver. The resolver verifies the signature on-chain and forwards resolve() to the market.
  6. Winners pull payouts with claim() — pro-rata of (notional pool + bettors’ 80% of yield).

Built on 0G

ComponentRole
0G Chain (chainId 16661)Markets, treasuries, adapters; sub-second finality, cheap gas
0G Compute (TEE)DeepSeek V3 inference for gatekeeper / writer / judge — drop-in OpenAI API
0G StorageSealed judge prompt (only its merkle root lives on-chain)
Gimo FinanceStaFi LSaaS — yield destination via GimoAdapter