Contract Reference

Core contracts deployed on Monad.

Contract Overview

ContractDescription
PredictionMarket.solCore SKC logic — create markets, predict, resolve, claim
MarketFactory.solFactory for deploying isolated PredictionMarket instances
FixedPointMath.solLibrary for on-chain ln() and cross-entropy scoring

Market Parameters

ParameterDefaultDescription
Alpha (α)20%Stop probability per prediction
K2Last k predictors get flat reward
Flat Reward (R)0.01 ETHReward per last-k predictor
Bond0.1 ETHDeposit per prediction
Liquidity (b)1.0 ETHLMSR scaling parameter
Initial Price0.5Starting market price

Write Functions

createMarket

function createMarket(
    string calldata question,
    uint256 alpha,
    uint256 k,
    uint256 flatReward,
    uint256 bondAmount,
    uint256 liquidityParam,
    uint256 initialPrice
) external payable returns (uint256 marketId)

predict

function predict(uint256 marketId, uint256 probability) external payable

Submit a prediction with bond attached. One prediction per wallet per market.

claimPayout

function claimPayout(uint256 marketId) external

forceResolve

function forceResolve(uint256 marketId) external

Force-resolve a stale market. Owner can call anytime, anyone can call after 2 days of inactivity.

Read Functions

FunctionReturnsDescription
getMarketCount()uint256Total markets created
getMarketInfo(id)tupleCore market data (question, price, status)
getMarketParams(id)tupleMarket configuration (alpha, k, bond, etc.)
getPrediction(id, idx)tupleSpecific prediction details
getPayoutAmount(id, addr)uint256Net payout amount (post-fee)
isMarketActive(id)boolWhether market is accepting predictions
hasPredicted(id, addr)boolWhether address has already predicted

Events

event MarketCreated(uint256 indexed marketId, string question, ...)
event PredictionMade(uint256 indexed marketId, address indexed predictor, ...)
event MarketResolved(uint256 indexed marketId, uint256 finalPrice, ...)
event PayoutClaimed(uint256 indexed marketId, address indexed predictor, ...)

Alpha Tuning Guide

AlphaAvg PredictionsBest For
10%~10Deep analysis, many participants
20%~5Balanced (default)
33%~3Quick resolution
50%~2Very fast, binary questions