For the complete documentation index, see llms.txt. This page is also available as Markdown.

Prediction Markets

Overview

evently Markets is the platform's core product — a LMSR-based prediction market where anyone can create or trade on outcomes using USDm (the MegaETH stablecoin).

You don't bet. You trade your conviction. Information becomes a financial asset — priced by the market, settled on-chain, with instant finality on MegaETH's ~10ms blocks.

Markets cover Crypto, Politics, Fun, Technology, Business, Science, World, Entertainment, Pop Culture, and more. Many markets are sourced from Polymarket and display live Polymarket odds alongside evently's own prices for comparison.

Each outcome is represented as a tradable ERC-1155 share. One winning share redeems for exactly 1 USDm after market resolution — regardless of total volume or how many people traded the same way.


Access

Markets are structured around two independent whitelists:

  • Traders — during beta, access requires an invite code or waitlist approval. At public launch, trading is open to all.

  • Market creators — always require explicit creator whitelist approval. This applies even at public launch. Contact the evently team to apply.

To gain trader access during beta:

  • Invite code — redeem a code from an existing member

  • Waitlist — submit your wallet at evently.market/markets


Fee Structure

Fee
Recipient
Basis Points

Creator fee

Market creator

100 bps (1%)

Treasury fee

evently protocol treasury

100 bps (1%)

Resolver pool

Resolver / staking post-TGE

50 bps (0.5%)

Total

250 bps (2.5%) — fixed

Admin markets (created by evently team): creator cut goes to treasury instead.


Pricing Mechanism — LMSR

Prices are determined by the Logarithmic Market Scoring Rule (LMSR), the same mechanism used by Polymarket. The LMSR guarantees that:

  • Being correct always yields a profit (unlike parimutuel)

  • Prices always sum to exactly 100%

  • The market maker (AMM) is always solvent

Cost function: C(q) = b × ln( Σ exp(q[i] / b) )

Implied probability of option i: P(i) = exp(q[i]/b) / Σ exp(q[j]/b)

b = 200 USDm controls price sensitivity. At creation all options start at equal probability (e.g. 50/50 for binary markets).


Order Matching — CLOB + AMM

Trades are routed through two layers:

  1. CLOB (Central Limit Order Book): resting limit orders are matched first at price-time priority

  2. LMSR AMM: any remaining budget is priced by the AMM as market maker of last resort

Buying: CLOB ask orders at or below your price are filled first. Remainder goes to the AMM.

Selling: instant sell to the AMM via sellToAMM() with mandatory slippage protection (minUsdmOut), or post a limit ask via placeOrder(SELL, ...).

Each address can hold up to 10 active resting orders per market (across all options and sides). The overall book cap remains 200 orders per (market, option, side).


Market Categories

Category
Examples

Crypto

Price targets, DeFi TVL milestones, token launches

Politics

Elections, policy outcomes, geopolitical events

Fun

Memes, viral trends, community bets

Technology

Product launches, tech industry outcomes

Business

M&A, earnings, IPOs

Science

Research outcomes, discoveries

World

International events, macro

Entertainment

TV, film, music

Pop Culture

Awards, celebrity events, cultural moments


Market Lifecycle

1. Active

Shares can be bought and sold. Market is open until bettingDeadline.

2. BettingClosed

Deadline passed. No more trades. Waiting for resolution.

3. Resolved

Creator declares the winning option with a mandatory evidence hash (on-chain audit trail). A 24-hour dispute window opens.

4. Disputed

Any address that has traded on the market can dispute the resolution by posting 50 USDm collateral. The disputeResolver (a dedicated role, separate from admin) adjudicates with a mandatory evidence hash. The dispute window is 24 hours after resolution.

Admin disputes are free — admin can dispute any market without posting collateral (security function, not a profit mechanism). Imported Polymarket markets can be disputed under the same rules.

5. Finalized

No dispute raised (or dispute settled). Winners can redeem shares at 1 USDm each.

6. Cancelled

Markets with no trading activity can be cancelled by the creator, admin, or anyone after resolutionDeadline. Markets with any trading activity cannot be cancelled unless resolutionDeadline has passed — they must be resolved. On timeout cancellation, any accrued creator fees are confiscated to the treasury.

7. Slashed

Admin can slash a market in Active, BettingClosed, Resolved, or Disputed status. Cannot slash Finalized, Cancelled, or already-Slashed markets. Creator collateral goes to treasury; shareholders receive a pro-rata refund from the pool + subsidy.


Market Creation

Creator Whitelist

Market creation requires explicit approval on the creator whitelist — separate from the trader whitelist and always enforced. Apply via the evently team.

Community Markets (Creator-Whitelisted Users)

  • Requires 50 USDm collateral + LMSR subsidy (b × ln(n) USDm)

  • Collateral returned on honest resolution

  • Creator earns 1% of all volume, claimable after finalization

  • Must set clear resolutionCriteria

  • 2 to 4 options; question max 300 characters; options max 100 characters each

  • Betting window must be at least 1 hour (prevents flash markets)

Official Markets (Admin)

Created by the evently team — no collateral required. Displayed with an Official badge. Many are sourced from Polymarket with live odds via the CLOB API.

Imported Polymarket Markets

Any creator-whitelisted user can mirror a Polymarket market by paying a 10 USDm one-time import fee (to treasury). The Polymarket conditionId must be a valid 66-character lowercase hex string starting with 0x — duplicates are blocked on-chain.

Oracle Markets

Creator-whitelisted users can create binary price-feed markets that resolve automatically. Requires exactly 2 options and a valid Redstone price feed ID (ETH, BTC, SOL, MEGA). Collateral and fees are the same as standard markets. See the Oracle Markets section below.


Trading

  • side: BUY or SELL

  • pricePerShare: limit price in USDm (18 decimals), must be between 0 and 1

  • minFill: slippage guard — reverts if total shares filled < this value

  • BUY orders escrow USDm upfront; SELL orders escrow shares upfront

For instant AMM sells:

minUsdmOut is required and prevents sandwich attacks against the AMM.


Dispute Rewards — Monthly VRF Lottery

When a dispute is settled in the disputer's favour (creator was wrong):

  • Creator loses their 50 USDm collateral. 25 USDm goes to the disputer as a reward (regular disputer also receives back their own 50 USDm collateral, totalling 75 USDm). If admin disputed, the full 50 USDm goes to treasury.

  • All creator accrued fees are slashed to treasury.

  • 30% of the total net treasury gain (slashed collateral portion + slashed fees) is allocated to the current month's lottery pool.

At the end of each 30-day cycle, distributeMonthlyDisputeRewards() draws a single winner using Drand BLS12-381 VRF (MegaETH native precompile). The entire pool goes to that winner — winner-takes-all. The winner index is derived from keccak256(vrfProof) % count, verified on-chain.

This incentivises honest dispute participation without creating runaway dispute abuse, and adds provably fair randomness to the outcome.


Oracle Markets

Oracle markets are binary markets where the outcome is resolved automatically from a live price feed — no human resolver needed.

Instead of a creator calling resolveMarket(), a keeper reads the on-chain Redstone price and calls resolveMarketWithOracle(). The contract verifies the price signature on-chain (≥3 signers from redstone-primary-prod) and resolves instantly.

How it works

Field
What it means

Price feed

The asset being tracked (ETH, BTC, SOL, MEGA)

Strike price

The price threshold in USD (8 decimal places)

Above / Below

Whether option 0 wins if price is above or below the strike

Example: "Will ETH be above $3,000 at 31 May 00:00 UTC?"

  • Strike = 300000000000 (3000 × 10⁸)

  • Strike Above = true

  • If the Redstone ETH/USD price ≥ $3,000 → option 0 ("Yes") wins

  • If below → option 1 ("No") wins

Creating an oracle market

Oracle markets require exactly 2 options and a whitelisted creator, just like regular markets. The additional fields (price feed, strike, direction) are set at creation and cannot be changed. Collateral and fees work identically to standard markets.

Resolution

Any address can trigger resolution once the betting deadline has passed and before the resolution deadline expires. Resolution is permissionless — no keeper trust required, since the price data is cryptographically signed by Redstone validators on-chain.


Lucky Trader Weekly Raffle

Every week, evently picks one active trader at random to win a USDm bonus from the protocol treasury.

How to enter

Just trade. Any call to placeOrder or sellToAMM during the current week automatically enters your address into that week's raffle. You are entered at most once per week — submitting multiple trades doesn't give more entries.

The raffle tracks up to 500 unique addresses per week.

Winner selection

At the end of the week, the admin draws the winner using Drand BLS12-381 VRF (MegaETH's native randomness precompile). The winner address is derived from keccak256(vrfProof) % traderCount — fully verifiable on-chain. The result is final and cannot be replayed.

The winner receives the full bonus in USDm, paid directly from the treasury. The LuckyTraderWinner event is emitted and displayed live in the Lucky Trader Banner on the frontend.

Frontend banner

The LuckyTraderBanner component on the markets page shows:

  • The current week's eligible trader count

  • The latest winner (address + bonus amount), flashing green when a new winner is drawn


Redeeming Winnings

After finalization:

Each winning share redeems for exactly 1 USDm. Solvency is guaranteed by the LMSR invariant: poolBalance + subsidyDeposited >= total winning shares.


Polymarket Integration

Official markets import odds and volume data from Polymarket via the Gamma API and CLOB price history API. Polymarket odds are displayed for reference — evently prices are set independently by the LMSR AMM.


Constants

Constant
Value

Creator collateral

50 USDm

Import fee (Polymarket)

10 USDm

Dispute collateral

50 USDm (waived for admin)

Dispute window

24 hours

Finalization buffer

+1 hour

LMSR b parameter

200 USDm

Max options per market

4

Min options per market

2

Min betting window

1 hour

Min trade

0.001 shares (1e15)

Min order value

1 USDm

Max orders per book

200 per (market, option, side)

Max orders per user per market

10

Max pause duration

72 hours

Treasury withdrawal delay

24 hours

Dispute lottery share

30% of treasury gains

Dispute lottery cycle

30 days

Last updated

Was this helpful?