Don't call the winner. Call the market.
Two baskets of Robinhood Chain stock tokens race into the US midterms on Tuesday 3 November 2026. You don't pick a party. You pick which basket beats the other over a round, and by how much.
How it works
- Pick a side. RED (Onshore) or BLUE (Open trade). Each basket holds six stock tokens with equal weight.
- Call the spread. How far RED's return lands above BLUE's (positive) or below it (negative), in basis points. 100 bp = 1 %. The side you pick must agree with the sign of your spread; 0 is allowed for either side.
- Sign. Your wallet signs an EIP-712 message. It is free: no gas, no transaction, no money. You can sign again to replace your pick until picks close.
- Recorded. Your call is recorded on Robinhood Chain in the RaceBook contract before the lock. After the lock nothing can be added to the round or changed.
- Scored. After the score time anyone can call
settle: the contract reads the Chainlink prices on Robinhood Chain and stores each basket's return. Your score follows from that result.
Rounds
Daily round · D-YYYY-MM-DD
Every US trading day from Tuesday 20 October. The race runs from the market open to the market close of that session.
- Picks open when the previous daily round settles.
- Picks close 2 minutes before the lock.
- Lock = market open, score = market close.
- Market hours: 13:30–20:00 UTC until Friday 30 October, 14:30–21:00 UTC from Monday 2 November (US clocks change on 1 November).
- One slot per wallet.
Election Night · ELECTION-2026
The main round. It locks at the close on Election Day, before polls close, and is scored twice.
- Picks close Tue 3 Nov · 20:58 UTC.
- Lock Tue 3 Nov · 21:00 UTC.
- Day one: scored at Wed 4 Nov · 21:00 UTC. The board uses Day one.
- Aftershock: scored at Fri 6 Nov · 21:00 UTC, shown beside it.
Scoring
A basket's return is the equal-weight mean of each feed's change, in basis points, rounded toward zero:
feed bp = (end − start) / start × 10,000
basket bp = mean(feed bp of its 6 feeds), rounded toward zero
actual = RED bp − BLUE bp
start is each feed's latest Chainlink round with updatedAt ≤ lock; end is the latest with updatedAt ≤ score time. Your pick scores:
score = 100 if your side matches the sign of actual (actual = 0 → nobody gets these 100)
+ max(0, 100 − |your spread − actual| / 5)
max 200 · ties: the earlier signature wins · your best slot counts on the board
Worked example
At the lock, the six RED feeds and six BLUE feeds start at their latest Chainlink rounds. At the close, RED is up +1.12 % (112 bp) and BLUE is up +0.41 % (41 bp). SPY, the reference line, is up 0.30 %. So actual = 112 − 41 = +71 bp: RED won the race by 71 bp.
| Pick | Side | Spread | Side points | Distance | Closeness points | Score |
|---|---|---|---|---|---|---|
| A | RED | +80 bp | 100 | |80 − 71| = 9 | 100 − 9/5 = 98.2 | 198.2 |
| B | RED | +200 bp | 100 | |200 − 71| = 129 | 100 − 129/5 = 74.2 | 174.2 |
| C | BLUE | −50 bp | 0 | |−50 − 71| = 121 | 100 − 121/5 = 75.8 | 75.8 |
| D | BLUE | −600 bp | 0 | |−600 − 71| = 671 | max(0, 100 − 134.2) = 0 | 0 |
A ranks first, then B, C, D. If two picks score the same, the one signed earlier ranks higher. Spreads range from −2000 to +2000 bp (±20 %).
The baskets
The split is an editorial reading of market commentary about the midterms, not a political statement and not a claim about who should win. RED gathers companies whose story is domestic production, government contracts and lighter regulation; BLUE gathers companies whose story is open global supply chains and trade. Both are fixed in the contract and cannot change.
RED · Onshore
- TSLA
- Tesla. US-built cars and batteries; the stock retail traders most often tie to the election.
- SPCX
- SpaceX. Launch and satellite work tied to federal space and defence budgets.
- COIN
- Coinbase. The clearest market read on crypto rules from Washington.
- PLTR
- Palantir. Software for government and defence agencies.
- USO
- United States Oil Fund. Domestic oil and drilling policy.
- USAR
- USA Rare Earth. Onshore critical-minerals supply chains.
BLUE · Open trade
- TSM
- TSMC. The Asian chip supply chain, most exposed to tariffs and export rules.
- ASML
- ASML. The European chip-tool maker caught in export-control policy.
- AAPL
- Apple. Assembled abroad, sold worldwide; tariff headlines move it.
- AMZN
- Amazon. Imported goods and global logistics.
- BABA
- Alibaba. A direct read on US–China trade relations.
- EWY
- iShares MSCI South Korea. An export economy exposed to US trade terms.
SPY (SPDR S&P 500) is the reference line: shown beside the race, never part of a score. Feed addresses are under On chain.
Data sources
- Prices: only Chainlink Data Feeds on Robinhood Chain mainnet (chain id 4663), 8 decimals, 24 h heartbeat and 0.5 % deviation trigger. The contract checks each round id with
getRoundData: the named round hasupdatedAt ≤ T, the next round (if any) hasupdatedAt > T, and the price is no older than 4 days. - Live numbers on the scoreboard and ticker tape are read from the same feeds every minute and are marked live, unofficial. The official result is the one stored by
settle. - Reference odds on the map: the Kalshi public API (Senate and governor races per state, control of the House and Senate), polled every 90 seconds by the server. Each state shows its Senate race, or the governor race where there is no Senate race; grey means neither. A race resolved by its market shows a solid cap and CALLED. Reference odds never enter a score.
- Picks: EIP-712 signatures, domain
{name: "TAPEWARD", version: "1", chainId: 4663}, typePick(bytes32 round, uint8 side, int32 spreadBp, uint8 slot, uint64 signedAt), side 0 = RED, 1 = BLUE.
Holders and slots
Before launch every wallet has 1 slot per round. Once the token contract is live, a wallet holding at least the holder minimum at the lock gets 3 slots in Election Night and a named desk on the board; the holding is read from chain. Daily rounds stay at 1 slot for everyone, and your best slot counts on the board. Contract address: posted here at launch. Holder minimum: tokens.
The house desk ("TAPEWARD desk") makes one public pick per round, RED or BLUE by the last five sessions of momentum. Its full record, misses included, is on the board.
On chain
Rounds, picks and results live in one contract on Robinhood Chain (chain id 4663). It holds no funds and has no withdraw or upgrade path; its owner can only change the poster wallet.
Loading…
Loading…
Rounds
| Round | Opened | Picks recorded | Latest record | Settle |
|---|---|---|---|---|
| Loading… | ||||
Feeds
Fixed in the contract at deploy. RED and BLUE are equal-weight; SPY is the reference line.
| Basket | Symbol | Name | Chainlink feed |
|---|
API
JSON, CORS open, no key. Agents welcome.
| Endpoint | What |
|---|---|
| GET /api/state | Market hours, open rounds, live race, reference odds, house desk, counts |
| GET /api/stream | Server-sent events with the same state |
| GET /api/round/<id> | Round times, on-chain records and settle results with tx links |
| GET /api/round/<id>/picks | Every pick recorded for a round |
| GET /api/board?round=<id> | Ranks for a round |
| GET /api/wallet/<address> | A wallet's picks, slots and on-chain status |
| POST /api/pick | {address, signature, pick} with the signed Pick fields |
| GET /api/proof | Contract, poster and every on-chain transaction |
FAQ
Does a pick cost anything?
No. A pick is a signature, not a transaction: no gas, no deposit, nothing paid out. Scores are points.
Do I need to be on Robinhood Chain?
No funds on any chain are needed. Before signing, the page asks your wallet to switch to Robinhood Chain (4663) and to add it if it is missing, because many wallets only sign typed data for the active network. No transaction is sent.
Can I change my pick?
Yes, until picks close. A new signature for the same round and slot replaces the old one. What is recorded on Robinhood Chain at the lock is final.
How does my pick get on chain?
The server collects the signed picks of a round and writes them to the RaceBook contract as one on-chain record for the round, updated until the lock.
Are RED and BLUE the parties?
No. They are two stock baskets. The colours follow election-night graphics; the baskets are an editorial reading of market commentary, and you can pick either side whatever you think about the election.
Why are the map colours from Kalshi?
They show what public prediction markets think about each race, as context for the race between the baskets. They are information only and never enter a score.
What if a feed doesn't update before the close?
Chainlink feeds update on a 0.5 % move or every 24 hours. The score uses each feed's latest round at or before the score time, exactly as on chain; a round older than 4 days is refused by the contract.
Can the operator change a result?
No. The feeds are fixed in the contract, anyone can call settle, and the contract reads the Chainlink prices itself. Nothing can be added to a round after its lock.
What does holding the token change?
After launch, a wallet holding at least the holder minimum at the lock gets 3 slots in Election Night and a named desk on the board. Nothing else.
Disclaimer
server/verify.mjs in the public repository (source) recomputes the board from Robinhood Chain and the recorded picks.