Overview
xtruth runs an optimistic oracle plus a dispute voting layer — the same battle-tested architecture behind the largest prediction-market protocols, packaged as something you can plug into in an afternoon.
Network
Currently live on X Layer Testnet (chainId 1952). Mainnet deployment is in progress.
Two environments: production at
app.xtruth.xyzand a sandbox atapp-dev.xtruth.xyz. Use the sandbox while you're integrating — see Environments.
How a request flows
- Assert — a contract or EOA calls
OptimisticOracleV3.assertTruth(claim, ...)with a token bond. The claim and bond live on chain. - Liveness — for the configured window (default 2 hours, but you set it), anyone can dispute.
- Resolve:
- If no dispute, the claim resolves true automatically. The asserter gets their bond back; downstream contracts are notified via callback.
- If disputed, the question escalates to the dispute voting module. Staked voters commit and reveal an answer over a 24-hour round. The loser's bond pays the winner; wrong voters get slashed.
- Settle — anyone can call
settleAssertion()to finalize and trigger the result callback to the integrating contract.
What you get
- A working OOv3 at the address listed in Contracts.
- Five subgraphs for OOv1/v2/v3, SkinnyOO, and VotingV2 — see Subgraph API.
- A CORS-enabled JSON-RPC at
https://app.xtruth.xyz/api/rpcso browser dapps don't fight RPC providers — see RPC. - A web console at app.xtruth.xyz for manually browsing assertions, posting new ones, disputing, and managing voter stakes.
Where to go next
- New here? Read Quickstart.
- Building a dapp? Jump to Integrate.
- Need contract ABIs or addresses? See Contracts.
- Curious about the dispute / voting side? See Dispute & escalation and Voting & staking.