How CHONCE works

One ticket. One chonce. Here are the rules, the odds and the limits, stated plainly.

The rounds

There are four pool templates. Every round has exactly 1,000 tickets and three prizes:

TicketTarget pool1st (60%)2nd (25%)3rd (15%)
$0.50$500$300$125$75
$1$1,000$600$250$150
$2$2,000$1,200$500$300
$5$5,000$3,000$1,250$750

On this devnet demo, prices are paid in a test token with no monetary value, and amounts are shown in that token. The pool is a target until all 1,000 tickets sell; each round page shows how much has actually been collected.

  • Each wallet can hold at most 100 tickets per round in total, across repeat purchases.
  • Every ticket costs the same. There are no bulk discounts and no special tickets.
  • Tickets are numbered #1–#1000 in the order they're bought.
  • Zero platform fee in this version: 100% of ticket payments go to prizes, or back to players as refunds.

Timing

  • Each round has a sales deadline set before it opens (6 hours for new devnet rounds; earlier rounds keep the deadline they opened with).
  • Sells out before the deadline: entries close immediately. CHONCE's automatic crank requests the randomness within moments, so nobody needs to keep a page open, and anyone can still start the draw by hand if it hasn't happened. Then comes CHONCE Time: a short reveal of the real onchain result, third prize first. You can skip it, and claiming never depends on watching it.
  • Deadline arrives first: entries close, there is no draw, and every ticket payment is refundable in full. Prizes are never reduced, the deadline is never extended, and funds never roll over into another round.
  • The exact boundary: a purchase succeeds only if the Solana block that processes it has a timestamp before the deadline. A purchase processed at or after the deadline fails and no payment is taken, even if you sent it earlier. If the final ticket and the deadline race, whichever transaction the network processes first decides the outcome.

Your odds

In a sold-out round, three different tickets are drawn from 1,000 without replacement. If you hold k tickets, your chance of winning at least one prize is:

1 − C(1000 − k, 3) / C(1000, 3)

Tickets held15102550100
Chance of at least one prize when sold out0.30%1.49%2.97%7.32%14.3%27.1%

Even the maximum 100 tickets gives roughly a 27% chance of any prize. Most players win nothing. Buying tickets is not an investment and does not promise any return.

A wallet can hold more than one winning ticket and then receives each of those prizes. The three winners are always three different ticket numbers, but they are not guaranteed to be three different wallets or people.

Escrow and claims

  • Each round has its own escrow account controlled by the CHONCE program. Nobody holds a key to it.
  • There is no admin withdrawal. Funds leave escrow only as prizes to winning-ticket holders or as refunds to the wallets that paid.
  • Winners claim from the round page. Each prize can be claimed once, and refunds can be claimed once per wallet.
  • A round either pays prizes or pays refunds, never both.

Fairness and randomness

Winners are chosen with ORAO VRF, a verifiable randomness service on Solana. It is not chosen by a server, a timestamp, or a blockhash.

  • Randomness can only be requested after entries close, so nobody can buy tickets knowing the outcome.
  • The program makes exactly one request per round, using a fresh seed it derives itself. It refuses a request whose randomness someone could have looked up in advance, and there is no re-roll.
  • Once the randomness arrives, anyone can settle the draw. The program computes the winners from it with a fixed, published algorithm, and the results page re-checks the calculation in your browser.
  • The draw, closing an expired round and the recovery step can all be triggered by anyone. Automation may send these transactions, but it cannot choose outcomes.

If randomness never arrives

If a sold-out round has no randomness request within 24 hours of selling out, or the requested randomness is not delivered within 24 hours, anyone can cancel the round, and every ticket payment becomes refundable. This cannot be used to throw away an unfavourable result: once randomness has been delivered, the program refuses to cancel and the round can only be settled with that randomness. This differs from an undersold round only in the reason for the refund.

What you are trusting

  • ORAO's oracle operators: a quorum of them produces the randomness. If they colluded with someone, they could in principle compute outcomes in advance, or withhold delivery. Withholding leads to refunds, not a re-roll.
  • The ORAO program and the CHONCE program, which are both upgradeable by their respective authorities. Reading the program's upgrade authority…
  • The CHONCE program has not had an independent security audit.

Wallet limits are not person limits

The 100-ticket cap is enforced onchain per wallet, including when purchases happen at the same moment. One person can still create several wallets. CHONCE does not claim to be Sybil-proof and does not cancel valid purchases.

Fees

  • No platform fee in this version.
  • Solana network fees are paid by whoever sends a transaction, and are not refunded. Your first purchase in a round also pays about 0.0043 SOL of account rent for your ticket record. You can reclaim it after the round.
  • Starting the draw costs the sender ORAO's small request fee. On this devnet demo the automatic crank pays it from its own test wallet.

Status of this site

This is a devnet demonstration. It uses test tokens that are clearly labelled and have no value. It is not a live game and does not accept real money. Running prize draws for money requires legal review for each jurisdiction and player eligibility; putting it onchain doesn't change that.

See the rounds