The short version
- 01
Pick UP or DOWN
Will the Stock Token's price be higher or lower at the closing bell than at the opening bell? Bet 1 to 25 USDG with one signature. No ETH needed.
- 02
The earlier you bet, the more of the other side's money is yours
Every bet against you that lands after yours adds to what you are paid if you are right. What you have earned only goes up.
- 03
The bell settles it
Chainlink decides: its price in effect at the opening bell against its price in effect at the closing bell. Payouts arrive in your wallet automatically.
Bet late and you get your stake back plus whatever the other side adds after you. Bet early and you collect more.
What happens to your bet
There is no bookmaker. Everyone’s stake goes into one pool, and bettors pay each other. What makes this pool different is when money changes hands.
The moment your bet lands, it is paid to the people already standing on the other side, in proportion to their stakes. It is accepted only up to what they can cover; anything beyond that comes straight back to you. Then, from that moment on, every bet against you that arrives is paid, in part, to you.
If your side wins, you are paid your stake plus every opposing dollar that arrived after you. So:
- The earlier you call it, the more you earn. More of the other side’s money arrives after an early bet than after a late one.
- Your win payout can only go up after you bet. Nobody arriving later can dilute you; what you have earned is yours.
- A last-second bet gets its stake back and nothing more (1.00×). Sniping pays nothing, so the market can stay open until the bell instead of locking early.
- Big late bets can be partly filled. The part the other side cannot cover comes straight back to you.
- Every dollar in is paid out. Payouts add up to the pool, minus a 2% fee on winners’ gains.
- Hunch’s opening seed cannot lose. Hunch puts a small stake on both sides of every market when it lists it; the two halves pay each other first, so the seed comes back whichever side wins. That is why Hunch can open every ticker every day.
A week, worked through
One weekly market, five made-up bettors, and the exact arithmetic the contract runs. Hunch opens it with 10 USDG on each side. NVDA closes up, so UP wins. The fee is left out here to keep the numbers clean.
Illustration
“Will NVDA finish the week UP?” The bets
| When (ET) | Who | Side | Stake (USDG) |
|---|---|---|---|
| At listing | Hunch seed | UP and DOWN | 10.00 + 10.00 |
| Tue 9:35 am | Mei | UP | 20.00 |
| Tue 12:00 pm | Dan | DOWN | 30.00 |
| Thu 11:00 am | Kim | DOWN | 40.00 |
| Fri 3:55 pm | Ben | UP | 50.00 |
| Fri 3:58 pm | Lee | DOWN | 10.00 |
NVDA closes up. What each winner is paid
The pool is 170.00 USDG. In an ordinary pool every winner would be paid the same multiple: the pool over the 80.00 USDG staked on UP.
| Position | Stake | Hunch pays | Multiple | Ordinary pool |
|---|---|---|---|---|
| Mei (Tuesday) | 20.00 | 69.16 | 3.45× | 42.50 |
| Ben (Friday, 5 min before the bell) | 50.00 | 56.25 | 1.12× | 106.25 |
| Hunch seed, UP side | 10.00 | 44.58 | 4.45× | 21.25 |
| Total paid to UP | 169.99 | 170.00 |
Mei called it on Tuesday and carried the risk through two days of people betting against her: she is paid 69.16. Ben bet the obvious side five minutes before the bell: he gets his stake back plus a share of the one bet against him that came after. In an ordinary pool Ben would have taken 106.25 of the pool and Mei 42.50.
Payouts are shown to the cent and never rounded up: the contract pays Mei 69.166666 USDG, shown as 69.16. With the venue’s fee of 2% of the gain, Mei’s 49.16 gain would carry a fee of 0.98, and nothing is taken from her stake.
Will NVDA finish the week UP? NVDA closes UP
Bets in order: Mei bet UP 20.00 USDG at Tue 9:35 am ET; Dan bet DOWN 30.00 USDG at Tue 12:00 pm ET; Kim bet DOWN 40.00 USDG at Thu 11:00 am ET; Ben bet UP 50.00 USDG at Fri 3:55 pm ET; Lee bet DOWN 10.00 USDG at Fri 3:58 pm ET.
Mei UP 20.00 USDG
Tue 9:35 am ET
Called it Tuesday morning and held through two days of bets against her.
- Hunch pays
- 69.16 3.45×
- Ordinary pool
- 42.50 2.12×
Ben UP 50.00 USDG
Fri 3:55 pm ET
Bet the obvious side five minutes before the bell.
- Hunch pays
- 56.25 1.12×
- Ordinary pool
- 106.25 2.12×
If UP wins, what Mei and Ben are paid, after each bet
IllustrationHow the bell settles it
Each market is decided by two Chainlink prices on Robinhood Chain: the price in effect at the opening bell (9:30 am ET) and the price in effect at the closing bell (4:00 pm ET, or 1:00 pm on an early-close day). “In effect” means the last Chainlink update at or before that moment. Chainlink updates these stock prices whenever the price moves 0.5% or once a day, so there is almost never an update exactly at the bell.
- UP wins if the closing price is higher, DOWN if it is lower.
- Same price at both bells: every bet is refunded in full, no fee.
- A price more than 26 hours old at its bell (the feed missed its daily update): refunded in full.
- Robinhood pauses the token’s price for a corporate action for more than a day: refunded in full.
- Nobody settles it within 72 hours of the bell: anyone can refund it.
The settlement names the two Chainlink updates by their round ids, and the contract checks on-chain that each was really the last update before its bell. Anyone can submit it; the result is the same whoever does. Nobody at Hunch can type in or change a price. After settlement, payouts are pushed to every winner automatically.
Every market page carries its own version of this box, with its ticker and dates filled in:
The rules box, as a weekly NVDA market shows it
How this market settles. The opening price is Chainlink’s NVDA Stock Token price in effect at 9:30 am ET on the market's first trading day; the closing price is Chainlink’s price in effect at 4:00 pm ET on its last trading day. Chainlink updates this price whenever it moves 0.5% (or once a day), so either number can differ from the exchange’s official print by up to about 0.5%. UP wins if the closing price is higher, DOWN if it is lower. If they are the same, or if either price is more than 26 hours old at that moment, or if Robinhood pauses the token’s price for a corporate action for more than a day, every bet is refunded in full. Bets are accepted until 4:00 pm ET. The earlier you bet, the more of the other side’s later money is yours; a bet placed at the last moment gets its stake back plus whatever the other side adds after it. Hunch keeps 2% of winnings. Nobody at Hunch can set or change a price. If Chainlink moves this feed to a new aggregator around a bell, the price is read from the newest aggregator that had reported by then.
What it does not do
- It pays for taking risk early, not for being right as such. Knowing something pays only if you bet on it early.
- The pool split is not a probability. Late in a market, the ratio of UP money to DOWN money is not the odds of UP, so this site never shows it as odds. It shows what you would be paid if the market settled now, which is exact.
- A late bettor who is right earns about 1×. That is the design, and the bet screen says so before you bet.
- Hedging near the close is unattractive. A late bet on the other side earns little even if it wins.
- No order book, no cash-out before the bell, no leverage. A position can be transferred on-chain; a buy-back desk is on the roadmap.
Why Robinhood Chain
Stated as dependencies, not praise: what this venue needs and where each piece comes from. Take one away and the product does not work.
01
Robinhood Stock Tokens
The ticker universe and the audience: NVDA, TSLA, AAPL and COIN as tokens on the chain.
02
Chainlink stock prices on the chain
A price that no operator types in. It is the settlement's only input.
03
USDG
The chain's native dollar: one asset for every stake and every payout.
04
Robinhood Wallet
Supports the chain natively. Connecting it to this site is being verified before launch.
05
Signed USDG transfers
USDG accepts a signed transfer (EIP-3009), so a bet is one signature and you need no ETH.
06
Cheap gas
A bet costs well under a cent in gas, so Hunch can pay it for every bettor.
For the curious
The design is the Vested Parimutuel. Its vocabulary, one term at a time, in the order the ideas build on each other:
- Parimutuel
- A pool bet: everyone stakes into one pot and the winners share it. There is no bookmaker taking the other side. An ordinary parimutuel splits the pot at the end in proportion to stake, so it pays a last-second dollar the same as a first-minute one.
- Vested
- Paid over, irrevocably. When a bet lands, its stake vests in the people already on the other side: it is theirs if they turn out right, and nothing that happens later can take it back. The design is called the Vested Parimutuel.
- κ (kappa)
- The capacity multiple: one side can take in at most κ times its own stake from the other side. It is why a huge late bet can be partly refused. This venue runs κ = 30, so the limit rarely binds at beta sizes.
- Vintage
- All the bets that land in the same block. They are matched together, against the state before any of them, and never pay each other, so the order of transactions inside a block buys nothing. On Robinhood Chain a vintage is about 12 seconds of bets.
- Accumulator
- A running total, per side, of how much opposing money has arrived per dollar standing on that side. A bet records the total at the moment it lands; its winnings are its stake times how much the total grew after that. It lets the contract settle any number of bets with constant work.
- Seed
- The opening stake Hunch places on both sides when it lists a market (10 USDG each). The two sides pay each other first, so the seed gets back at least what it put in whichever side wins.
- Strike and final
- The two Chainlink prices that decide a market: the strike is the price in effect at the opening bell, the final is the price in effect at the closing bell. UP wins if final is higher, DOWN if lower, and everyone is refunded if they are equal.
- Accrued
- What a bet would be paid if its side won right now: its stake plus the opposing money that has arrived since. It never goes down while the market is open.
- Accepted and refused
- The part of a bet the other side can cover is accepted; the rest is refused and returned. Only the accepted part is at risk or earns anything.
- Price in effect at a time
- The answer of the last Chainlink update at or before that time. Chainlink's stock prices update on 0.5% moves or once a day, so there is almost never an update exactly at the bell.
- Round
- One Chainlink price update, with an id, an answer and a timestamp. A settlement cites two round ids, and the contract checks each was the last update before its bell.
- Refund (void)
- A market that cannot be settled fairly refunds every bet in full with no fee: when the price did not move, when a price was too old, when the token was paused for a corporate action, or when nobody settled it within 72 hours.
The two rules, precisely
Rule 1, flow vesting. When a stake lands on one outcome, it is paid, immediately and irrevocably, to the positions already standing on the other outcome, pro rata to their accepted principal.
Rule 2, capacity matching. A stake is accepted only up to the room the opposing book has to cover it: a book may absorb at most κ times its accepted principal in total. Anything beyond that is refused and returned.
Bets in the same block form one vintage: they are rationed together against the room as of the vintage start, and never pay each other, so transaction ordering inside a block buys nothing. On Robinhood Chain a vintage is every bet within one Ethereum block estimate, about 12 seconds.
Settlement uses a per-side accumulator A: a winning position with accepted principal s is paid s · (1 + A(T) − A(entry)), where A(entry) is its side’s accumulator when it landed and A(T) the value at the bell. Losing positions get 0; on a refund every position gets its accepted principal back. The worked example’s accumulators, in the contract’s 18-decimal arithmetic, truncated to four places:
| When | Who | Stake | A_UP after | A_DOWN after | Entry accumulator |
|---|---|---|---|---|---|
| open | seed | 10 / 10 | 1.0 | 1.0 | 0 (both legs) |
| Tue 9:35 am | Mei UP | 20 | 1.0 | 3.0 | A_UP = 1.0 |
| Tue 12:00 pm | Dan DOWN | 30 | 2.0 | 3.0 | A_DOWN = 3.0 |
| Thu 11:00 am | Kim DOWN | 40 | 3.3333 | 3.0 | A_DOWN = 3.0 |
| Fri 3:55 pm | Ben UP | 50 | 3.3333 | 3.625 | A_UP = 3.3333 |
| Fri 3:58 pm | Lee DOWN | 10 | 3.4583 | 3.625 | A_DOWN = 3.625 |
The venue’s parameters
| Parameter | Value | Why |
|---|---|---|
| Outcomes | UP and DOWN | Binary only in this version. |
| Late-entry weight | 1 | A bet at the buzzer is paid exactly its stake back. |
| κ (capacity) | 30 | On real, bursty flow, 30 refused almost nothing; 9 refused about half. |
| Opening seed | 1 USDG per side | Small enough that bettors, not the seed, earn most of the early money. |
| Bet size | 1 to 25 USDG | Beta limits, fixed per market when it is listed. |
| Fee | 2% of a winner's gain | Nothing on stakes, refunds or losing bets. |
| Refund timeout | 72 hours after the bell | After this anyone can refund an unsettled market. |
The paper and what came before
The rule is specified in The Vested Parimutuel: Settling prediction markets by time priority of capital at risk (Karia, Hunch Research, 2nd edition, September 2026), with a conformance suite of 118 test vectors. If this page and the paper disagree, the paper wins.
Measured on Hunch’s four-week paper-money tournament, where most traders were agents deployed by the participants (779,549 trades across 5,291 resolved markets): under the ordinary pool rule, winners who arrived in the last 10% of a market’s life took a median 70.1% of the losing pool, and the last winning-side trade in the final 5% earned a median 1.487×. Source: the paper, §13.4.
Ready? Get set up in 2 minutes.