Verdict is a GenLayer prediction-market court for claims that need evidence, criteria, review, challenge, appeal, and final settlement. Users open markets, stake on YES or NO, attach resolution sources, and let an intelligent contract reason over the public record before funds are paid.
The repo is designed as a public proof package: frontend, contract source, deployment metadata, finalized smoke transactions, and test coverage are all included. Local wallet secrets are not.
Most prediction demos stop at "create market, stake, resolve." Verdict extends that into a court-like lifecycle:
- A market is created with a question, source URL, and scoring criteria.
- Participants stake on YES or NO.
- Evidence and obligations are attached to the case.
- GenLayer reviews the claim against public sources.
- A challenge window can be opened.
- Challenges and appeals can be adjudicated with GenLayer reasoning.
- Resolution, claim payout, and reputation recalculation are written on-chain.
The result is a prediction market that keeps the dispute record readable instead of hiding the important reasoning off-chain.
| Area | Detail |
|---|---|
| Contract | contracts/verdict_v2.py |
| Size | 49,450 bytes |
| Network | GenLayer Studionet, chain id 61999 |
| Write methods | 30 |
| Read methods | 24 |
| GenLayer features | gl.nondet.web.render, gl.nondet.exec_prompt, gl.eq_principle.prompt_comparative |
| Storage model | markets, claims, evidence, obligations, reviews, challenges, appeals, stakes, reputation, audit events |
| Legacy UI support | create_market, stake, resolve, claim, get_market, get_stake |
Core lifecycle:
set_claim_standard
-> create_market
-> add_obligation
-> add_evidence
-> stake YES / NO
-> open_review
-> review_claim_with_genlayer
-> open_challenge_window
-> submit_challenge
-> resolve_challenge_with_genlayer
-> submit_appeal
-> resolve_appeal_with_genlayer
-> resolve
-> claim
-> recalculate_reputation
Useful reads:
get_market_count
get_market
get_claim_count
get_claim
get_item_count
get_item
get_stake_count
get_stake
The deployed contract was smoke-tested with 17 finalized writes, including three GenLayer reasoning calls and legacy frontend compatibility.
Test result:
Schema valid
17 smoke writes finalized
23/23 read assertions passed
Static frontend repointed and Vercel-deployed
Verdict ships as a static market desk:
- newspaper/exchange-inspired market interface
- wallet connection through the bundled browser client
- GenLayer read calls through
genlayer-js - write actions routed through the connected EVM wallet
- standalone Vercel bundle with local
shared/client files - deployed contract address pinned in
app.jsanddeployment.json
From this repository folder:
python -m http.server 8080Open:
http://localhost:8080/
npx --yes vercel@latest --prod --yesThis public repository intentionally excludes local secrets:
- no private keys
- no vault files
- no
.envfiles - no
.vercelproject state - no local dashboard data
Public files include only frontend code, contract source, deployment metadata, tests, and non-sensitive proof links.