How Lucyd markets settle: the Pyth price, on-chain

· Lucyd

In many prediction markets, the hardest question is not "who wins?" but "who decides who wins?". Votes, committees and disputes take hours or days and can be argued over. Bitcoin Up/Down markets on Lucyd don't need any of that: the answer is a number, and a smart contract reads it.

The source: Pyth BTC/USD

Pyth Network publishes the Bitcoin price several times a second, aggregated from exchanges and trading firms, with a signed timestamp and a confidence interval. Each Lucyd market uses the same Pyth BTC/USD feed twice:

  1. At the open — the price becomes the market's strike. We only accept a fresh price (no older than 10 seconds) with a tight confidence interval.
  2. At the end — the contract takes the first Pyth price published at or after the end time, within a 10-second window.

The rule

The contract compares the two numbers:

  • end price above the strike → Up wins;
  • end price at or below the strike → Down wins.

There is no manual step. Anyone can submit the signed Pyth update to the resolver contract; the contract verifies the signature and the timestamp itself, so nobody — including Lucyd — can pick a convenient price.

Payouts

After settlement, each winning token redeems for 1 USDC from the contract. Holders who approved automatic redemption get their USDC without doing anything.

When there is no price

If Pyth publishes no price inside the 10-second window, the market is voided: there is no fair result, so every token — Up or Down — redeems for 0.5 USDC. If no update can be obtained at all, the market can be voided 24 hours after the end.

Check it yourself

Every market page links to its contract. The strike, the settlement price and every redemption are on-chain and can be checked on a block explorer. The contracts are open source on GitHub.

Read the guide for the full picture, or trade a live market on the Sepolia testnet.