MapRacesOracleDocsACUSPortfolio
Docs

How it works.

Everything the contracts enforce, in plain words. If the site and this page ever disagree with the contract, the contract wins.

Pools, not order books

Every race is one pari-mutuel pool with two sides: 0 for the Democratic candidate or party, 1 for the Republican. You stake USDG on a side. Stakes accumulate until the race locks. When the race is final, the whole pool minus the fee is split among the winning side in proportion to each stake.

The math

Say the Democratic side holds 2,000 USDG and the Republican side 3,000. The Democrat wins. The fee is 3 % of the losing side: 90 USDG. The remaining 4,910 USDG is shared by the Democratic stakers. A 1,000 USDG stake on D receives 1,000 × 4,910 / 2,000 = 2,455 USDG.

  • The quote on the race page assumes you are the last stake; others can still move the pool before lock.
  • If nobody staked on the winning side, every stake is refunded in full and no fee is taken.
  • Stakes cannot be withdrawn or sold before the race resolves. There is no token price.
  • Maximum per stake call: 5,000 USDG. You can stake several times.

Lock

Every pool locks at 4 Nov 2026 00:00 UTC, when the first polls close on Election Day. No stake is accepted at or after that timestamp, enforced on-chain. A special election on another date carries its own lock, visible on its race page. The owner can move a lock only while a race is still open and only to a time in the future.

Resolution

Settlement is a separate step from the odds oracle and follows one rule written here and nowhere else:

  1. The call. The resolver posts the winning side once the race has been called by the Associated Press, or once the matching Kalshi market has settled, whichever comes first. Side 0 means the Democratic candidate or party, side 1 the Republican. For chamber control the rule is the party with the majority when the 120th Congress is seated.
  2. The dispute window. A posted result waits 24 hours. During that window the owner can overturn an obviously wrong call; doing so restarts the window. Nothing else can be changed.
  3. Final. After the window anyone can call finalize. The fee leaves the losing pool, and winners claim from the race page or the portfolio.
  4. Void. If a race is cancelled or the outcome cannot be determined (an independent wins, a seat stays vacant, a court voids the election), the owner voids it and every stake becomes claimable in full.
  5. Safety valve. If a race is still not final 60 days after its lock, anyone can void it. No stake can stay locked forever, and no key can move it anywhere but back to its owner.

Recounts and slow counts simply delay the call. A race that is called and later reversed by certification stays settled on the call, which is why the window exists.

Fees

One fee: 3 % of the losing side, taken at finalize. Nothing is taken from the winning side, nothing is taken on refunds, nothing is taken while the race is open. The contract caps the fee at 5 % and a change only applies to races finalized after it. Fees go to the treasury, which buys and burns ACUS (see the token).

Reference odds and the oracle

The map, the race pages and the tickers show Kalshi's public prices for the same races, read from its keyless API every 90 seconds. Our keeper also signs snapshots and posts them to an on-chain oracle: for each race, the probability of side 0 in basis points and the snapshot time. Anyone can relay a signed batch; the contract keeps only newer values and rejects anything the keeper did not sign.

Reference odds are information. They do not price the pool, they do not settle it, and they are not advice. The pool's own odds are simply the split of USDG between the two sides.

Contracts

Two contracts on Robinhood Chain (chain id 4663), written in Solidity 0.8.26, built and tested with Foundry, source verified on Blockscout.

RaceMarkets0x0a7Cffd0afC5A0A49F145e6A897d41aE9Ecb5b72
OddsOracle0x8626D9828bd8664CC0E2b4625197D96e24C41d90
USDG0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168
NetworkRobinhood Chain · RPC https://rpc.mainnet.chain.robinhood.com

What you can call

  • stake(id, side, amount) before lock, after a USDG approval.
  • claim(id) once a race is Final or Void; pays winnings or refunds exactly once.
  • finalize(id) and forceVoid(id) are open to anyone when their conditions are met.
  • payout(id, you), quote(id, side, amount), getRace(id) are free reads.

What the owner can do

  • Create races and set their lock while they are open; set the resolver and treasury; change the fee (cap 5 %), the dispute window (minimum 1 hour), the refund delay and the per-stake maximum.
  • Post a result as resolver, overturn one inside the dispute window, void a race.
  • The owner cannot withdraw stakes, cannot change a result after finalize, cannot stop claims or refunds.

Race ids are keccak256 of the race code: TX-23, WY-AL, SEN-TX, GOV-TX, CTRL-H, CTRL-S.

ACUS

ACUS is the protocol coin, launched on Pons on Robinhood Chain. It carries no revenue share and no claim on the pools. Protocol fees reach the treasury, which buys ACUS on the open market and burns it; every buyback is a public transaction. Details and the contract address live on the token page.

Risks

  • Contract risk. The contracts are small and tested, not audited. Do not stake what you cannot lose.
  • Resolver trust. Results are posted by a key we control, bounded by the dispute window, the void path and the 60-day safety valve. A wrong call corrected inside the window is the designed behaviour; a wrong call that stands is the risk you take.
  • Thin pools. Early stakes move the pool odds a lot. The quote you see can change until lock.
  • USDG. Stakes are held in Global Dollar, an issuer-backed stablecoin with its own terms.
  • Regulatory. Election markets are restricted or prohibited in many places. See below.

Who can use it

The map, the odds and the documentation are public information. Staking is not available to persons located in, or residents of, the United States, France, the Netherlands, Belgium, Italy, Spain, Poland, Switzerland, the United Kingdom, Singapore or any sanctioned territory, nor anywhere this activity is unlawful. By connecting a wallet you confirm you are not such a person. Acus is independent of Robinhood Markets, Robinhood Derivatives, Kalshi and every election authority. Read the terms.