Overcall is a trustless platform for skill-based markets across crypto and stocks, where trading and prediction meet, priced by decentralized oracles and settled onchain. It runs on Robinhood Chain mainnet with real $OVER and $USDG: positions open in $OVER, or in $USDG with a stake of 100,000 $OVER or more. These docs cover how it works, end to end: the products, starting with Channels, the $OVER economy underneath them, and the engine everything runs on. Want to practice first? The testnet demo runs the same app with free test tokens.
Overcall is a platform for a genuinely new class of market: trustless, skill-based, and built to be played. You trade the path of a price, not just its direction, across crypto and tokenized stocks, priced by real-time decentralized oracles and settled onchain. One engine powers every product, so the platform grows by adding markets, not by rebuilding trust each time.
The read is the edge. A neutral vault in your position's currency is always your counterparty, your multiplier is the honest inverse of your win probability, and every price, position and payout is a public onchain event. Channels is the first product on the engine; the same core carries whatever we ship next.
What Overcall stands for
The principles the platform and the engine are built around. None of them are slogans, each is enforced by the code, not by us.
Crypto + stocks
Majors and tokenized equities on one venue, priced and settled on the same rails.
Pioneering mechanics
You trade the path, not the direction. A skill game where a sharp read beats a big bag.
Social by design
Every position becomes a shareable result card, and you can back the traders you rate or fade the ones you don't.
Built on scalable rails
One engine, one vault per currency, $OVER at the center. New products plug in, and liquidity pools once per currency, not market by market.
Real-time prices
Sub-second decentralized oracle prices, the same number everyone settles on.
No order book
A neutral vault in your position's currency is always your counterparty, so any market exists the moment you draw it.
No house edge
Your multiplier is the true inverse of your win probability. The only margin is a published fee.
No custody
Funds live in onchain contracts, never on our books. We cannot touch them.
Exit on your terms
Close any position early for a known amount, or hold it to the end. No opponent to wait for.
Fair by design
Prices, positions, payouts and rules are public code. You replay the chain instead of trusting us.
Highly entertaining
Fast, visual and genuinely fun to play. Reading a chart has never paid quite like this.
Built for humans and agents
Every action is a contract call plus a signed price report, and a $USDG position also takes an entry permit from the public API, so anything a wallet can do, a program can do.
Proven onchain
Every entry, settlement and payout is an onchain event, verifiable by anyone, forever.
One engine, every product
The hard parts, pricing, the vaults, settlement, identity, and the token, live in the rails. A new product is a new front end on a proven core: one vault per currency, $OVER at the center, many products. A competitor starting from an order book has to solve liquidity market by market. Overcall solves it once per currency, and every product pours volume into the vault of its currency. See Platform engine for how the rails fit together.
About Overcall
Roadmap
Where the platform is and where it is going. Everything already shipped is checked, work in progress is marked as such, and everything ahead is planned. Timeframes are directional, not commitments, and the plan evolves with the platform.
Pre-TGE
Shipped and proven on the testnet before the TGE: the full engine, the terminal, both products, the dashboard, accounts and content, and the public opening.
Engine (rails)
Full smart-contract stack: separate contracts for the game logic, value custody, asset and model configuration, roles and timelocked upgrades, so every rule of the game is enforced onchain, not by us
Full-reserve vault: a full-reserve vault per currency custodies every deposit, settlement payout, creator royalty and protocol fee in that currency, and reserves each payout up front, so the platform can always pay what it owes
Onchain model registry: the pricing model is published and pinned onchain, so anyone can recompute their multiplier
Oracle-anchored entries: entries bind to signed Chainlink Data Streams reports, so no party picks your entry price
Autonomous operator: quoting, binding, liquidations and settlement run unattended around the clock
Live data pipeline: the price engine and indexer keep every client on one live feed and continuously verify the offchain view against the chain
GraphQL API: public reads and live subscriptions for the app and anyone building on it
AWS infrastructure: production co-located with the oracle origin, deployed as code on every merge
Testnet faucet: free tOVER, the testnet twin of $OVER, so anyone can trade the full system end to end, and tUSDG, the testnet twin of $USDG, for wallets with 100,000 $OVER or more staked
Terminal
View modes: Focus auto-frames the action, Manual gives full navigation and drawing tools
Chart navigation: interval selector and zoom tools
Chart styles: line and candles
Positions panel: Channels and Prediction taxonomy with product filters
Asset selector: crypto and tokenized stocks, with filters
Watch: spectate any position live via shareable public /position and /prediction links
Themes: dark and light
Platform navigation: one-click dashboard access from anywhere in the app
Guided tour: interactive walkthrough of the whole interface
Wallet connect: injected wallet support
Products
Channels: draw your own channel on a live chart and back it to Survive or Breach; both sides priced from its survival probability
Channels Prediction: open a position on someone else's live channel, Survive or Breach, at the same probability-honest odds
Dashboard
Overview home: account and platform at a glance
Platform metrics: live platform stats, vault performance and the activity feed
User space: balances, open positions, history and activity
Leaderboard: skill ranking by realized P&L
Settings: identity and preferences
Accounts & social
X connectivity: link an X profile and appear by handle across the platform
Wallet profiles: a shareable public profile for every wallet, with profile share cards
Share on X: position and prediction result cards rendered from real position geometry
Creator royalties: a channel earns its creator royalties from predictions taken on it
Access system: invite-code gate for the private testnet
Brand & content
Landing page: the platform story at overcall.io
Documentation: full product documentation, from quick start to contracts
Milestone
Public testnet opening: the invite gate lifts and anyone can trade
TGE ↔ Mainnet
$OVER TGE: token generation event on Virtuals; $OVER is live on Robinhood Chain mainnet at 0x6245…3a4F
Airdrop campaign: launched together with the TGE; points closed Oct 19, 12:00 UTC (see Genesis airdrop)
Staking on mainnet: stake $OVER for the airdrop, and 100,000 $OVER or more to unlock $USDG positions
$USDG positions: positions in $USDG alongside $OVER, for wallets with 100,000 $OVER or more staked
Data Streams on mainnet: Chainlink Data Streams integration for Robinhood mainnet
Partnerships: first ecosystem partnerships and joint campaigns
Architecture iteration: continuous refinement from feedback and testing
Mainnet day
Mainnet open to everyone: any wallet trades at app.overcall.io in $OVER, and in $USDG with a stake of 100,000 $OVER or more
Crypto asset class live: six crypto markets live on mainnet: BTC, ETH, BNB, SOL, HYPE and VIRTUAL
Vault seeding: of the 150M $OVER Platform vault liquidity, 50M is in the $OVER vault and 100M in the $OVER reserve; the $USDG vault has its own capital
Full stack on mainnet: both products and the data pipelines live
Two environments: mainnet and the testnet run side by side, and the testnet becomes a free demo (see Testnet demo)
Post-mainnet (3-month horizon)
Airdrop distribution: final allocations published, claiming live with daily vesting over 15 days, until Nov 19In progress
Staking rewards transformation: staking earns a share of platform fees: 25% of the profit fees from $OVER positions go to stakersIn progress
Crypto expansion: the crypto class expands with more assets, starting with CASHCAT, now live on mainnetIn progress
New platform product: built on the same rails
Stock asset class: the tokenized stock class launches on mainnet
Multichain: platform and token expand to a second blockchain
Agent playbook: developer reference, API surface and quickstarts for AI agents
Agent integrations: first ecosystem agents trading on the platform
Community features: new features shipped on community demand
Longer durations: extended position duration bounds
$OVER perps: a new market and a hedge for the price risk of open $OVER positions
Post-mainnet (6-month horizon)
Asset expansion: 25+ crypto and stock assets in total
CEX listing: 1+ centralized exchange listing for $OVER
Fiat on-ramp: direct fiat funding integration
Next products: further platform products on the same engine
Post-mainnet (moving forward)
Community demand: further products and features as the platform grows
Products · Channels
Channels: your walls, your rules
The first product on Overcall, and the fastest way to see what the platform does. You draw a channel on a live price and take a side: Survive if it holds every wall to the end, or Breach if a wall breaks first. Priced by a decentralized oracle, settled onchain, paid from the vault of your position's currency.
In a nutshell
ETHLIVEDRAWING WALLS×1.00
Draw the walls, pick a side, and the price plays out against them. Switch sides to see each outcome.
You draw an angled band of two walls on the live price of any market, then take a side and open a position in $OVER, or in $USDG if you stake 100,000 $OVER or more. You shape the channel with three controls, the angle it leans, the width of the walls, and the duration it runs. Those set one number, the probability your channel survives, and each side's multiplier is the honest inverse of its own outcome, final the moment your entry is bound to a signed price report.
Then it ends one of three ways: the channel holds to the end, which pays the Survive side in full; a wall breaks, which pays the Breach side and liquidates Survive; or you close early for a known amount. Whatever you collect is paid in your position's currency, from that currency's vault, and every step is an onchain event anyone can verify. The only difference with Prediction is whose channel you back: your own here, someone else's live one there.
From a connected wallet to your first payout. Prefer watching first? The full walkthrough video is on The terminal.
Connect a wallet.
Overcall is open to everyone, with no account and no invite code. Open the app and connect a wallet: it asks your wallet to switch to Robinhood Chain mainnet (chain ID 4663) and to add the network if it is not there yet. Keep a little ETH on Robinhood Chain for gas, the small fee every transaction costs. See Wallet & network.
Get $OVER.
You take positions with the $OVER in your wallet. Buy it on Uniswap on Robinhood Chain, where you swap ETH for $OVER; the app's Buy $OVER link opens that swap in a new tab. If you stake 100,000 $OVER or more, you can also open positions in $USDG (see Staking). Want to practice first? The testnet demo gives you free test tokens.
Pick a market and draw.
Choose an open market, then drag on the chart to set your angle, width and duration. The ticket prices both sides of your channel before you commit. See The terminal.
Take a side, open.
Back your channel to Survive (it holds every wall to the end) or Breach (a wall breaks first). Click the unit next to the position size to pick $OVER or $USDG ($USDG needs a stake of 100,000 $OVER or more); your wallet may first ask you to approve that currency's vault. Your request goes onchain and your entry is bound to a signed price report, so nobody picks your entry price; your multiplier is final when it binds.
Close, get paid.
Survive collects the full multiplier if the channel holds to the end, and is liquidated at 0 if a wall is touched; that same touch pays Breach in full. Either side can close early for a known amount, and the vault pays you the instant it resolves, unless trading is paused for a review: then a win pays your stake at once and holds the rest for the review.
Nothing to sign up for. There is no account and no custody. You connect a wallet, and every position and payout is an onchain event under your address. Positions in $USDG also need 100,000 $OVER or more staked from the same wallet. Connecting X is optional: it only sets how you appear (see Profile & identity).
Three continuous knobs shape every position, the angle you lean, the width of your walls, and the duration you commit. Then you take a side, Survive or Breach, and its multiplier, the honest inverse of that outcome, is final the moment your entry is bound.
You enter at the bound mark: Survive wins if the price holds inside your walls to the end, Breach wins if a wall breaks first.
The channel you draw
A channel is a band on the live price with four parts: a center, a height (how far the walls sit from the center), a slope (the lean), and a start and end. The center either follows the line you draw, or is fixed by the entry price of the first position opened on it. The walls track the center as it leans:
Channel geometry
center(t) = center · (1 + slope · (t − start)) walls = center(t) ± center · height / 2
You shape all three from the ticket: the angle (slope), the width (height), and the duration.
Angle, width, duration
Three continuous knobs shape the channel. Angle tilts it up or down, your read on the trend. Width sets how far the walls sit from the center, measured in range, the asset's volatility unit. Duration is how long it runs. Together they set one number, the probability your channel survives to the end, and that number prices both sides: tighter, steeper and longer are harder to survive, so Survive pays more and Breach pays less.
Your multiplier: the honest inverse of your side
The operator reads the asset's live volatility and the exact shape you drew and computes P, the probability the channel survives to the end. It is the chance a random price path with drift never touches either wall, a standard double-barrier model averaged over the uncertainty in volatility. Each side's multiplier is the honest inverse of its own outcome, less a published spread:
Multiplier
Survive: M = (1 − δ) / P Breach: M = (1 − δ) / (1 − P)
δ = the published spread on each side's odds, the model's buffer · both capped by a ceiling, set per currency, that keeps each vault solvent. The platform's income is its published fees, never a hidden edge.
The spread δ sits next to the odds, never inside them (see Parameters & limits), and there is no hidden edge: anyone can recompute your multiplier from the signed inputs. The same P prices both sides of your channel, so you can take either. A channel exists as an NFT, and its creator earns a royalty whenever a prediction wins on it: 15% of that prediction's profit fee, in $OVER and $USDG. See Dashboard & metrics.
Your currency
You open a position in $OVER or, if you stake 100,000 $OVER or more, in $USDG. The currency belongs to the position, not to the channel: your deposit, the fees, the payout and the vault on the other side are all in that currency. The fee percentages, the royalty share and the minimum multiplier are the same in both; the position size, the fixed minimum of the open fee and the multiplier cap are set per currency (see Parameters & limits).
Your entry is bound, not chosen
Opening is a request, not an instant fill. Your deposit and signed quote go onchain, and the position becomes active only when it is bound to a signed price report that covers your timestamp. Nobody, neither you nor the operator, picks the entry price: it comes from the report. Your multiplier locks at that moment and nothing about the deal can change afterward. The open fee, the greater of 1% of the deposit and a fixed minimum (20 $OVER, or 0.05 USDG on a $USDG position), is carved out of the deposit at open, win or lose; the rest is your stake, the amount every payout formula multiplies. Then you decide how to leave: Closing a position.
Products · Channels
Closing a position
Your multiplier is final when your entry binds onchain. The side you took, and how and when you leave, decide how much of it you collect, and the vault settles you the instant it resolves, unless trading is paused for a review: then a win pays your stake at once and holds the rest for the review.
The ways out
Exit
You collect
When
Your side wins
stake × M
Survive: the channel holds to the end · Breach: a wall breaks first
Close early
stake × M × Pwin × (1 − penalty)
either side cashes out before it resolves, for a known amount
Your side loses
0
Survive: a wall is touched, the position is liquidated · Breach: the channel holds to the end
Win during a pause
your stake now, the rest after the review
trading was paused for a review when your side won: the app shows In review until the review pays the rest, or Rejected if it does not (see When trading pauses)
Payout waiting
your payout, held for you
the token refused the transfer to your address, so the vault keeps the amount for you to withdraw from the dashboard
Any payout above your stake carries the profit fee: 10% of the profit, published beside your odds, never inside them. When the winning position is someone else's, 15% of that fee goes to the channel's creator as a royalty, in your position's currency; the rest is revenue of the vault in that currency. See Parameters & limits.
ETHLIVEHELD TO END, SURVIVE WINS×2.40
The same channel, three endings: hold to the end and Survive wins, close early for a known amount, or break a wall and Breach wins.
Hold to the end
If the channel reaches its end without touching a wall, the Survive side collects the full payout, stake × M, and the Breach side settles to 0. If trading is paused for a review at that moment, Survive gets its stake at once and the rest is held for the review (see When trading pauses). An end-of-channel settlement needs no price report at all, so it can never be blocked by an oracle outage: no report means no breach can be proven, which favors Survive. This is the never-stuck escape (see Platform engine).
Close early, mark-to-market
Change your mind at any second and cash out for a known amount. An early close is valued at your position's current win probability, then reduced by a small early-close penalty (5%):
Early close
value = stake × M × Pwin(now) payout = value × (1 − penalty)
Pwin is priced at the request moment, using the volatility your position was opened with. The terms of the deal never change retroactively.
For a Survive position Pwin is high while the price sits centered, and falls as it drifts toward a wall; for a Breach position it is the mirror, rising as the price closes in on a wall. The request to close is irreversible, and it settles by the close price and probability at that moment. If the price is already outside the channel when you request, that is a breach, not a close. If trading is paused for a review, the close payout up to your stake is paid at once and any gain above it waits for the review (see When trading pauses).
Touch a wall, and refunds
A wall touch resolves the whole channel at that instant: the Breach side collects its full payout, stake × M, and the Survive side is liquidated (0). If trading is paused for a review at that moment, Breach gets its stake at once and the rest is held for the review (see When trading pauses). The breach is proven, not decided: the operator submits the signed price report that crossed the wall and the contract verifies its signature onchain, so no breach can be fabricated. One proof settles every position and prediction on the channel, whichever side each took. Cancellations and refunds (an entry bound after a breach, a rule cancellation, or a settlement window that lapsed) return your deposit minus the fixed portion of the open fee (20 $OVER, or 0.05 USDG on a $USDG position): that fixed portion covers the operator's gas; everything else comes back.
A wall is a real liquidation for Survive. One touch ends a Survive position at 0, like a futures liquidation, and pays the Breach side in full at the same moment. That is the tension: tighter walls pay Survive more but leave less room to be wrong, and that same touch is exactly what Breach is paid to call.
Products · Channels
Parameters & limits
Every knob and every limit in one place, plain meaning first, with the exact values set in the contracts and enforced by the chain.
Knob / limit
Range
What it means
Angle
−2.4 … +2.4
trend lean (the channel's slope); steeper drifts faster toward a wall
Width
±2.5× … ±38× range (±19× on VIRTUAL)
wall distance (the channel's height), in range; tighter is harder to survive
Duration
15m … 24h
position length in the app's ticket (the contract accepts from 2m); longer gives the price more time to reach a wall
Currency
$OVER or $USDG
the currency of the deposit, the fees and the payout; $USDG positions need a stake of 100,000 $OVER or more
Position size
per currency
the minimum and maximum deposit (see Terms per currency below)
Survival probability P
0 … 1
the model's chance the channel survives to the end; prices both sides
Spread δ
published
the platform's transparent margin, the same number for both sides (there is no hidden edge)
Ceiling
per currency
the maximum multiplier (25× for $OVER, 10× for $USDG), which keeps each vault solvent; a side priced higher is offered at the cap, and the ticket shows it
Minimum multiplier
1.01×
the floor on M; a side priced below it is cancelled, not offered
Open positions
unlimited
no cap on concurrent live positions per wallet; each one needs room in its currency's vault, which reserves its maximum payout up front
Exposure cap
per currency
full reserving: each currency's vault reserves every position's maximum payout from its own capital; a request it cannot cover is refused
Daily loss limit
per currency
a share of each vault's capital (5% for $OVER, 50% for $USDG) that refills over a day; a win larger than what is left pauses trading for a review (see When trading pauses)
Open fee
max(1%, fixed minimum)
the fixed minimum is 20 $OVER or 0.05 USDG; carved out of the deposit at open, win or lose; the payout multiplies the rest
Profit fee
10% of profit
charged on any payout above the stake, published beside the odds
Creator royalty
15% of the profit fee
paid to the channel's creator on every winning position others take on their channel, in that position's currency ($OVER or $USDG); $USDG royalty is swapped into $OVER when the creator claims it
Stakers' share
25% of $OVER profit fees
25% of the profit fees from $OVER positions go to $OVER stakers (see Staking)
Early-close penalty
5%
the discount on an early close's mark-to-market value
Terms per currency
A position opens in $OVER or $USDG, and a few terms are set per currency. The fee percentages, the royalty share, the early-close penalty and the minimum multiplier (1.01×) are the same in both. These are the mainnet values, set in the contracts on Robinhood Chain. The testnet demo runs the same terms, except a 50× cap on tOVER positions.
Term
$OVER
$USDG
Who can open
everyone
wallets with 100,000 $OVER or more staked (see Staking)
Position size
500 … 200,000 $OVER
0.50 … 50.00 USDG
Open fee
max(1%, 20 $OVER)
max(1%, 0.05 USDG)
Multiplier cap
25×
10×
Daily loss limit
5% of the vault's capital
50% of the vault's capital
$USDG positions need 100,000 $OVER or more staked on Robinhood Chain mainnet, from the same wallet. A new stake is recognized within about 5 minutes. If the stake falls below 100,000 $OVER, new $USDG positions stop within about 30 minutes, and positions already open run to the end.
Range: the volatility unit
Width and angle are measured in range, the typical size of a move for that asset, right now. It is what makes "±10× range wide" the same difficulty on BTC as on TSLA. The operator maintains range as a smoothed estimate that reacts to the current regime without jumping on a single spiky minute. Range only sizes your channel at open, and is frozen into your walls from there. It never decides who wins: the price against your walls does. It is the one bounded input the platform maintains, and it can only scale a channel, never move a wall after open.
Products · Channels
Markets
Crypto and tokenized stocks, all on the same rails and the same payout table. Because everything is measured in range, one channel is the same difficulty on BTC as on TSLA.
Crypto · 24/7
BTC · ETH · BNB · SOL HYPE · VIRTUAL · CASHCAT XRP · DOGE (soon)
BTC, ETH, BNB, SOL, HYPE, VIRTUAL and CASHCAT are open on mainnet, each taking $OVER and $USDG positions; XRP, DOGE and the tokenized stocks are coming soon. Crypto markets are open around the clock. Tokenized stocks follow their regular trading session; outside market hours a stock market pauses. Every market is priced by the same decentralized feed and settles under the same contract, so nothing about the rules changes when you switch assets, only the volatility unit (range) does. New markets can be added without new rules, because any market the oracle can price, the vault can take.
Products · Channels Prediction
Predict on any live channel
Every open channel is a two-sided market. Take a view on someone else's call: back it to Survive, or back a wall to Breach. Both sides are priced in the open from the channel's own survival probability. Take it in $OVER or, if you stake 100,000 $OVER or more, in $USDG: the currency belongs to your prediction, not to the channel.
Survive
Back the channel to hold
Survive pays if the channel keeps every wall to the very end. You are backing the caller's read.
Breach
Back a wall to break
Breach pays if a wall gets hit before the end. One channel, two sides, priced in the open.
BTCLIVESOMEONE ELSE’S CHANNELP 62%
ONE SURVIVAL PROBABILITY PRICES BOTH SIDES
SURVIVE×1.58
BREACH×2.58
The price drifts toward a wall and P falls, so Survive pays more and Breach pays less, live.
That is the whole idea. For the odds, see Odds; for how a prediction resolves and closes, see Settling. To find channels to back, see Watch & spectate.
Products · Channels Prediction
Prediction odds
Both sides of a live channel are priced from one number, so they can never drift apart or be arbitraged against each other.
One probability, both sides
A live channel already has a survival probability P, the same number that priced the position on it. Prediction turns that into a two-sided market, each side the honest inverse of its own outcome, less the published spread:
Prediction odds
Survive = (1 − δ) / P Breach = (1 − δ) / (1 − P)
δ = the published spread · both capped by a ceiling set per currency · a side priced below the minimum is not offered.
The odds move as it plays
Entry odds on a running channel price the time it has already survived and steepen with the distance to the nearest wall: a nearly-finished call pays the Survive side less, and a channel drifting toward a wall pays the Survive side more. Whatever you take is final when your entry binds onchain, and recomputable by anyone from the signed inputs (see Platform engine).
Products · Channels Prediction
Settling & closing
A prediction resolves with the channel it backs, and you can leave early for a known amount, just like a position.
Exit
You collect
When
Your side wins
stake × odds
Survive: every wall holds to the end · Breach: a wall breaks first
Close early
mark-to-market × (1 − penalty)
you cash out before it resolves, for a known amount
Your side loses
0
the channel resolves the other way
If trading is paused for a review when your side wins, you get your stake at once and the rest is held for the review (see When trading pauses).
How it settles
If the price touches a wall before the end, Breach wins and Survive is out, from the same signed proof that liquidates the channel. If it holds to the end, Survive wins. The channel's creator earns a royalty on every winning prediction inside it: 15% of the prediction's profit fee, in the prediction's currency, $OVER or $USDG. It is claimed from the dashboard, and $USDG royalty is swapped into $OVER when you claim it. Draw a channel others want to trade, and it pays you beyond your own ride.
Close early
You do not have to wait for the end. Close a prediction any time for a mark-to-market amount set by its current win probability, less the early-close penalty, the same way a position closes.
Watch, then predict. Any position has a public watch link that renders the live channel on the real chart, no wallet needed, and the prediction ticket sits right there. See Watch & spectate.
Using the app
The terminal
Where you draw and trade: a live price chart, the channel you shape on it, and a ticket that prices your position before you commit.
The terminal, end to end, recorded on an earlier testnet build (the fees and ticket shown have changed since): markets on the left, your channel on the chart, the ticket pricing it live.
The chart
Japanese candles by default, or a line. You draw your channel directly on it, dragging the tilt grip to set the angle, the wall grips to set the width, and the end grip to set the duration. The eye toggle hides or shows the drawn channel, and a position can never be opened while it is hidden.
Focus and Manual
Focus auto-frames and tracks your channel so the drawn shape always stays in view (the default on mobile). Manual hands you the wheel: free pan, zoom, scrollback and a price-axis drag (the default on desktop). Switch any time from the chart toolbar; a double-click or an interval change returns the same default frame in either mode.
Drawing tools
In Manual mode a full drawing toolkit is available: trendlines, rays, horizontal and vertical lines, rectangles, Fibonacci, a freehand brush, text and a measure tool, with magnet snap and a color picker. Your drawings save per market and sync to your wallet, so they follow you across devices.
Market rail
Every market runs down the left, grouped into crypto and tokenized stocks, each with a live price, 24h change and a sparkline. Search or sort them, spot a dot on any market where you hold a live position, a Soon tag on a market that is not open yet, and a CLOSED tag on a stock outside its session. See Markets.
The ticket
The ticket carries the three sliders (angle, width, duration), the side you take (Survive or Breach, each with its own live multiplier), your position size with quick presets, and a payout card that shows the estimated multiplier, the full payout and the fees before you open. Click the unit next to the position size to switch between $OVER and $USDG; every amount in the ticket follows the currency you pick. $USDG needs a stake of 100,000 $OVER or more: until then it shows in the list but cannot be picked, and its Stake $OVER link opens the staking page in a new tab. You trade with the $OVER and $USDG in your wallet on Robinhood Chain, and Buy $OVER opens a swap in a new tab (see Wallet & network). While trading is paused for a review, the ticket shows Trading paused and new positions wait. Once open, the position plays out on the chart, and you can review any past run in place.
Every position is watchable, live, by anyone, no wallet needed. Watch a channel play out on the real chart, then take a view on it.
The Predict tab lives in the right rail: pick a channel or an open position and it renders live on the chart.
Watch anything
Open the Predict tab of the ticket to browse the most popular and the newest live channels, or search a position by ID or a whole wallet by its address. Picking one renders that live channel on the real chart with its stats: side, entry, multiplier, the position and its full payout in the position's currency, and progress to the end.
Watch, then predict
From any watched channel you can open a prediction right there, backing it to Survive or Breach. Watching a player's wallet shows their live positions and their rank on the $OVER board, and links through to their full profile.
Links that unfurl
Every position has a public watch link (for example /channels/prediction/<id>) that renders the live channel with no wallet, and unfurls a branded card when shared on X, Telegram or Discord. Add ?embed=1 for a chrome-less version to embed anywhere. To share your own results, see Dashboard & metrics.
Everything about your account and the platform in one place. Open it from the grid button in the top bar.
The Overview: the products and the live platform stats, every number backed by an onchain event.
Money in USD
Every money figure on the dashboard reads in USD first, with the token amount beside or under it. What you hold now (balances, the vaults, open positions, unclaimed royalty) is valued at the current price. What already happened (payouts, P&L, top wins, the feed, your history) is valued at the price when it settled, and deposits and volume at the price when the position opened. $OVER is valued at its mainnet market price and $USDG at $1; on the testnet, tOVER and tUSDG take the same values. Counts, such as positions settled, add up both currencies. The loss limit always shows in each vault's own currency, never in USD. USD is only how the dashboard shows money: every position, payout, vault and reward still runs in its own currency.
Each section has its own currency filter. The vault section in Platform metrics and User space offer USD (the default), $OVER or $USDG, and the Leaderboard offers $OVER (the default) or $USDG. Each section remembers your pick, and a link with ?currency=usd, over or usdg opens it in that view. Where $USDG positions are not offered, the filters show USD and $OVER only.
Your account
The Overview shows your balance, one row per currency, your identity and quick actions. User space is your full profile: your account (spendable, in play and realized), your standing on the leaderboard with the players just above and below you, your active and past positions (each expandable to its onchain transaction trail and a mini price chart), a performance equity curve, your activity and your royalties. Any wallet is a public profile at /dashboard/user-space/<address>.
Royalties and waiting payouts
Your royalty is 15% of the profit fee of every winning prediction on your channels, in $OVER and $USDG: it accrues to the channel in each prediction's currency. It becomes claimable once the channel has ended, every position on it, in either currency, has settled, and every win on it held for review is decided. The Claimable royalty card in User space shows the total in $OVER with its USD value, what still accrues on running channels and your past conversions, and Claim all claims it in one go. Royalty from $OVER predictions is paid in $OVER. Royalty from $USDG predictions is swapped into $OVER when you claim it, so its part of the total is an estimate at the price now, and Claim all asks your wallet for two confirmations: the $OVER royalty first, then the $USDG royalty swapped into $OVER (if the swap fails, that part waits for a later try).
If the token refuses a transfer to your address, the vault keeps the amount for you as Payout waiting, and you withdraw it from the same place once your address can receive the token again.
Platform metrics
Platform metrics is the whole venue at a glance: KPIs with sparklines (players, positions, average multiplier, most-popular market), the vault section (balance, capital, free capital, the loss limit left, vault revenue, volume, open exposure, positions settled) with time-series charts, the biggest top wins, the top players, and a live feed. In USD, the default, the vault section values both vaults together, with each vault's own amount under every figure and the loss limit left per currency, side by side; $OVER or $USDG shows that vault alone, read from the chain. Top wins ranks the wins of both currencies by their USD value at settlement, top players shows each player's $OVER and $USDG P&L on separate lines, and every feed row reads in USD with its token amount.
Leaderboard and scoring
The Leaderboard ranks players on the $OVER board by default; where $USDG positions are offered, its currency filter picks a separate $USDG board, and the two are never added together. The $OVER board ranks players by $OVER P&L: your realized $OVER positions plus the royalty you claimed from $OVER predictions on your channels. Filter by period, asset and product, and watch any ranked player's live position. Staking & Airdrop has its own tab: stake $OVER there to earn a share of platform fees, and 100,000 $OVER or more to unlock $USDG positions (see Staking). Your Genesis airdrop allocation, its vesting and the Claim button live on the same tab (see Genesis airdrop).
Identity and settings
Connect X to set your handle and avatar across the leaderboard, feed and share cards, and choose in Settings how you appear (wallet or X handle), your default dashboard tab, the chart style, and whether to replay the guided tour. Connecting is optional and only affects how you appear, never your ability to play (see FAQ).
How you show up across Overcall. Connecting an identity is optional and only changes how you appear, never your ability to play.
Connect X
Link your X account to set your handle and avatar everywhere they appear: the leaderboard, the activity feed, watch views and your share cards. It is a read-only connection for display, and you can disconnect any time. Playing never requires it.
Preferred identity
In Settings you choose how you are shown: your wallet, your X name, or your X handle. The choice applies platform-wide from one place, and falls back to a short wallet address if you have not connected X.
Public profiles
Every wallet is a public profile at /dashboard/user-space/<address>: its standing and rank on the $OVER board, positions and history in USD with each token amount beside it, and a performance curve, every figure backed by an onchain event. Anyone can open yours, and you can open anyone's from the leaderboard or the feed. See Dashboard & metrics.
Every result and every profile is shareable, and the links carry your identity and bring people in.
Share cards
Any position becomes a branded result card that draws your real channel and its outcome (a win, an early close, or a loss, for whichever side you took, Survive or Breach), with its amounts in the position's currency, and your profile has its own profile card (rank and realized P&L on the $OVER board, top assets). Both unfurl automatically when the link is posted on X, Telegram or Discord, and from the app you can post, copy the image, or copy the link.
A real result card, rendered by the platform itself, exactly as it unfurls on X.
Watch links
Each shared position is a live watch link: it renders the real channel on the real chart with no wallet needed, and an ?embed=1 variant drops the chrome so it embeds anywhere.
Referrals
Your invite link carries a referral tag. When someone connects through it they are attributed to you, and your invite count shows in the dashboard.
Overcall runs on Robinhood Chain mainnet and is open to everyone: no account, no sign-up, no invite code. You need three things: a wallet, a little ETH for gas, and $OVER.
Connect a wallet
Open the app and connect a browser wallet; on a phone, open the app in your wallet's built-in browser. There is no gate and no allowlist. When you connect, the app asks your wallet to switch to Robinhood Chain, and to add the network first if your wallet does not know it yet. Your wallet stays yours: every position and payout is an onchain event under your address, and only the position you open is ever at stake.
Robinhood Chain mainnet
Robinhood Chain is an Arbitrum-based L2, a blockchain network built with Arbitrum technology. If your wallet does not add it for you, enter these details by hand:
Every transaction, from opening a position to staking or claiming, costs a small amount of ETH on Robinhood Chain, the network's gas. Keep a little ETH in the same wallet as your $OVER; the app tells you when it runs low.
Buy $OVER
$OVER trades on Uniswap on Robinhood Chain, you swap ETH for $OVER. The app's Buy $OVER link opens that swap in a new tab. Always check the token address before you swap: $OVER is 0x6245Db7f52379bD9757c9DdcE6519768FfaB3a4F.
$OVER positions are open to everyone. Positions in $USDG need a stake of at least 100,000 $OVER on Robinhood Chain mainnet, from the same wallet: stake in the Staking & Airdrop tab of the dashboard, and your stake is recognized within about 5 minutes. If it falls below 100,000 $OVER, for example after an unstake, new $USDG positions stop within about 30 minutes, and positions already open run to the end. See Staking.
$USDG is Global Dollar on Robinhood Chain, at 0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168. A look-alike token shares the start and the end of that address, so always check the whole address.
How to play, and the guided tour
A short How to play explainer opens on your first visit, and a guided tour walks the terminal step by step, from the chart and the knobs to a live demo position and a prediction. Replay either from Settings any time. To practice with free test tokens first, use the testnet demo.
Then go. With a wallet, a little ETH and some $OVER, open your first position. See the Quick start guide.
The testnet is Overcall's free demo: the same app, products and rules on Robinhood Chain's test network, played with test tokens that have no value. Use it to learn the terminal and practice your reads before you trade on mainnet.
What is the same
Everything you do on mainnet works on the testnet too: drawing channels, predictions, early closes, the dashboard, sharing and watch links. Prices come from the same kind of decentralized oracle reports, and every position settles onchain, on the test network.
What is different
Test tokens, no value. You play in tOVER, the testnet twin of $OVER, and tUSDG, the testnet twin of $USDG. They exist only on the testnet.
Free balance. Claim tOVER from the faucet in the Balance tab of the app, and top up when it refills. tUSDG comes from the same faucet for wallets with 100,000 $OVER or more staked on mainnet.
A higher cap. tOVER positions are capped at 50× instead of the 25× mainnet cap; every other term matches mainnet (see Parameters & limits).
Its own records. Testnet positions, channels and leaderboards are separate from mainnet.
Start the demo
Open the testnet app and connect a wallet: it asks your wallet to switch to Robinhood Chain Testnet, and to add it first if needed. Gas on the testnet is test ETH, free from the Robinhood Chain testnet faucet. Then claim tOVER in the Balance tab and draw your first channel.
$OVER is the core asset of the platform: you need it to take a position. Open positions in $OVER, or stake 100,000 $OVER or more to unlock $USDG positions. The platform and the token are not two things that share a name: they are one system, and they grow together by design.
That design is a loop. More $OVER volume deepens the $OVER vault, a deeper vault clears bigger payouts and more volume, and platform fees route back into liquidity, so real revenue becomes deeper payouts. In an $OVER position you play in $OVER and win $OVER, and the vault that settles those wins holds $OVER too. 25% of the profit fees from $OVER positions go to staking rewards, and 25% of the profit fees from $USDG positions go to $OVER buybacks.
The flywheel
Positions Every position players open is volume through the engine.
Fees A transparent fee on that volume, the platform's real revenue.
Vault Fees deepen the neutral counterparty that settles every win.
Liquidity Fees also feed $OVER trading liquidity, tightening the market.
Fees deepen the vault and trading liquidity; the token and the platform lift each other.
The loop
more volume → deeper vault → higher payout capacity → greater holder rewards → more volume
Aligned by the vault's transparent fee, which keeps it net positive over volume, so growth funds itself.
Sustainable, not a subsidy. Over volume the published fee keeps each vault net positive, so the loop funds itself, with no treasury drain and no inflationary emissions behind it. See Vault architecture for how the counterparty is built, and Utility for what the token does.
Launch
$OVER launched on the Virtuals launchpad: liquid and community-owned from the token generation event, and the core financial asset of the ecosystem from day one. Channels is the first product, not the last, and future products plug straight into the same rails: one settlement engine, one identity, an economy built around $OVER.
The full supply and allocation, with every cliff and vesting schedule, are published on the Tokenomics page.
Economy · The $OVER token
Tokenomics
$OVER is the central economic engine of the whole Overcall suite, not a standalone token. $OVER positions settle in it, staking it earns a share of platform fees and unlocks $USDG positions from 100,000 $OVER, and channel royalties are claimed in it, so as the platform scales, utility and value accrue straight back into the token. The design prioritizes sustained long-term utility over short-term speculation. The full breakdown is below.
Supply and allocation
A fixed total supply of 1,000,000,000 $OVER (1B). The full breakdown, with every amount, share and unlock term, is below and drawn over time in the unlock schedule.
Allocation
Amount
Share
Unlock
Automated Capital Formation Core protocol liquidity, formed via the Limit Order Program.
250M
25.00%
$2M → $160M FDV
Team Core team allocation. Nothing releases at launch.
250M
25.00%
12-month cliff, then 6 monthly tranches · 16 Sep 27 → 13 Feb 28
Platform vault liquidity Backs $OVER payouts: 50M in the onchain $OVER vault, the counterparty to every $OVER position, and 100M in the $OVER reserve.
150M
15.00%
1-month cliff · Unlocks 17 Oct 26
Liquidity Pool Floating market liquidity.
124.1M
12.41%
Fixed supply, liquid at launch
Sniper Tax Buyback for Team Sniper-tax revenue bought back for the team.
75.9M
7.59%
3-month cliff, then 9 monthly tranches · 18 Dec 26 → 15 Aug 27
Trading & MM liquidity Market-making liquidity for $OVER across venues.
47.5M
4.75%
20% after a 3-month cliff, then 80% over 760 days · Unlocks 17 Dec 26
Product & development Funds engineering, infrastructure, and new products.
32.5M
3.25%
1-month cliff, then 720-day vesting · Unlocks 17 Oct 26
20% after a 3-month cliff, then 80% over 760 days · Unlocks 17 Dec 26
Marketing & growth User acquisition, campaigns, and growth programs.
22.5M
2.25%
1-month cliff, then 720-day vesting · Unlocks 17 Oct 26
Partnerships & grants Ecosystem integrations and grants for teams building with Overcall.
12.5M
1.25%
20% after a 3-month cliff, then 80% over 760 days · Unlocks 17 Dec 26
Airdrop The Genesis airdrop for early testnet players and $OVER stakers. See Genesis airdrop.
10M
1.00%
1-month cliff · Unlocks 17 Oct 26
No day-one sell pressure, no emissions. No team tokens release at launch, held behind a strict 12-month cliff, and the pre-buy buckets begin unlocking no earlier than one month post-TGE. The loop is funded by a transparent, published fee, never inflationary emissions. See the flywheel.
Pre-buy allocation
To fund protocol security, expansion, and mainnet execution, 30% of supply was acquired via the bonding curve into strategic protocol buckets, keeping the platform self-sufficient and operational: Platform vault liquidity, Trading & MM liquidity, Product & development, Security & audits, Marketing & growth, Partnerships & grants, and the Airdrop. Each unlocks on its own schedule as listed above, the earliest no sooner than one month after the TGE.
Unlock schedule
The same cliffs and vesting, drawn over time: cumulative supply unlocked per allocation, from the TGE to the end of the longest vesting track.
The Platform vault liquidity, 15% of supply or 150M $OVER, unlocked about one month after the TGE, timed with the mainnet transition by design. It is not market float or team sell pressure: all of it is set aside to back $OVER payouts. 50M $OVER is in the $OVER vault, the counterparty to every $OVER position, and 100M $OVER is in the $OVER reserve, 0x437b…5065, kept apart for security and for expanding to other chains. The dashboard's Vault + reserve figure counts both. $USDG positions are backed by a separate $USDG vault with its own capital. See Vault architecture for how the counterparty is sized.
Staking and the airdrop
Staking went live at the TGE and powered the Genesis airdrop: 1% of supply in three pools, stakers 50%, testnet activity 25% and channel royalties 25%. Points closed on Oct 19, 12:00 UTC; allocations vest daily over 15 days, with 30 days to claim from the start of vesting (see Genesis airdrop). On mainnet, staking earns a share of real protocol revenue: 25% of the profit fees from $OVER positions go to stakers, and a stake of 100,000 $OVER or more also unlocks $USDG positions. Full detail is on Staking.
Economy · The $OVER token
Utility
What $OVER actually does: it is the key to every position, the collateral behind $OVER positions, and a stake that earns a share of platform fees and unlocks $USDG positions (from 100,000 $OVER). Three jobs, all reinforcing the same economy.
Play
The key to every position
$OVER positions open and pay out in $OVER, from the $OVER vault, and $USDG positions are unlocked by staking 100,000 $OVER or more. Channel royalties are claimed in $OVER too. The more Overcall is played, the more $OVER has to be held, staked and moved, so demand scales with real usage, not a narrative.
Back
Collateral in the vault
The $OVER vault that pays $OVER wins holds $OVER, so the token directly backs settlement. A stronger token means deeper payouts. See Vault architecture.
Stake
Share in fees, unlock $USDG
Stakers earn a share of platform fees: 25% of the profit fees from $OVER positions go to them. A stake of 100,000 $OVER or more also unlocks $USDG positions. See Staking.
A demand engine and a supply sink
The same design pushes demand up and free float down. Usage forces $OVER to be held and moved, while $OVER held in the vault and $OVER staked are out of circulation. $USDG activity adds $OVER demand too, because $USDG positions require 100,000 $OVER or more staked. 25% of the profit fees from $USDG positions go to $OVER buybacks, and 25% of the profit fees from $OVER positions go to staking rewards. Real activity raises demand while the circulating supply trends lower.
Economy
Vault architecture
At the center of Overcall sit the Settlement Vaults, one per currency: one for $OVER and one for $USDG. Each is the counterparty to every position in its currency, on every market, and reserves every payout before the position opens. While trading is paused for a review, new positions wait. The $OVER vault is built to scale in proportion with $OVER, both ways.
You do not trade against a house that profits when you lose. You trade against a neutral, onchain vault that takes the other side of every position and pays every winner automatically. There is no order book to bootstrap: if the oracle can price a market, the vault can take it, at the live mark, for a known amount, up to the free capital of that currency's vault. Its only margin is a published fee beside your odds, never a number baked into them. Anyone can read the rules, and anyone can recompute the result.
Onchain ledgerLIVE
MarketPositionResultPayout
Every row is a public onchain event: the vault pays, collects and balances in the open.
One vault for each currency
Each currency has its own vault, funded with its own capital and keeping its own reserves, revenue and royalties. A position's deposit, fees and payout stay in the currency it was opened in, and a win is paid only from the vault of that currency.
Scales with the token, both ways
A counterparty that can lose is only as strong as its balance sheet. The $OVER vault draws its capital from the Platform vault liquidity allocation of 150M $OVER (see Tokenomics): 50M is in the vault, and 100M is in the $OVER reserve, 0x437b…5065, kept apart for security and for expanding to other chains. Both are public onchain (see Contracts & addresses). Because every $OVER position pays out in $OVER, a higher token price means a deeper $OVER vault, which clears bigger max payouts and more volume, which lifts the token again. Lost positions return to the vault's capital automatically, and platform fees route back into vault and trading liquidity, so real revenue becomes deeper payouts. You are not trading against a fixed pot a good day can drain, but a counterparty that gets stronger exactly as the platform does. The $USDG vault holds $USDG, so its depth does not move with $OVER: it is funded with its own capital and grows as lost $USDG positions return to it. Part of the fees from $USDG positions goes to $OVER buybacks.
Sustainable, not a subsidy. The published fee is a small, transparent edge on every position. Over volume it keeps each vault net positive, so growth funds itself instead of draining a treasury, and no inflationary emissions prop it up.
Solvency is enforced, not promised
The vault is deliberately loss-bearing: over any short window, players can win more than they stake. It stays solvent by construction, not by discretion:
The odds are the honest inverse of probability, so aggressive positions are negative on average and the neutral edge is the published fee.
A per-position cap (the multiplier ceiling, set per currency) and full reserving, with every position's maximum reward reserved from the capital of its own currency's vault, bound how much each vault can owe at once, so no single win can sink it.
A daily loss limit on each vault, a share of its capital (5% for $OVER, 50% for $USDG) that refills over a day, caps how fast it can shrink: a win larger than what is left pauses trading in both currencies and is held for review (see When trading pauses).
Every one of these limits is onchain and public. You can read what each vault can owe, and recompute it.
This is the same shape as a perp DEX's LP pool: a real counterparty, sized by rules anyone can read, not a house that sets your price.
Pauses and reviews
Each vault's daily loss limit is 5% of its capital for $OVER and 50% for $USDG, refilled evenly over a day and with every lost position. A single win larger than what is left pauses trading on the whole platform, in both currencies, for a review: new positions wait, open positions keep running, and a win pays your stake at once and the rest once the review approves it. What happens to each kind of position, and how trading resumes, is on When trading pauses.
Cash-model settlement
The vault reserves the full gross reward for every open position. On a win, capital pays that gross amount, and the profit fee and the channel creator's royalty return as cash into the revenue and royalty accounts; on a loss, the stake goes to the vault's capital and the open fee to revenue. So the books balance exactly on every settlement, in each currency: what you deposit plus what the vault adds always equals what is paid to you, to revenue, to the creator and back to the vault's capital, to the smallest unit. Nothing is netted out of sight, each settlement is a public identity you can check (the formula is on Developers & agents).
25% of the profit fees from $OVER positions go to $OVER stakers (see Staking).
Economy
When trading pauses
Trading on Overcall can pause for a review. While it is paused, new positions wait, open positions keep running, and a win pays your stake at once and the rest once the review approves it.
Why trading pauses
Each currency has its own vault (see Vault architecture), and each vault has a daily loss limit: how much it can pay out in winnings over a day. It is 5% of the vault's capital for $OVER and 50% for $USDG. It refills evenly over 24 hours and with every losing position, so a busy day where wins and losses even out does not reach it. The dashboard shows what is left as Loss limit left.
If a win would pay out more than what is left, trading pauses for a review. One pause covers the whole platform, in both currencies: a limit reached in either vault is treated as a sign that something may be wrong, so everything waits until it has been checked. Trading can also be paused by hand, under the same rules.
Your stake is paid at once. On a win during a pause, only the part above your stake (your position less the open fee) waits for the review.
What happens while trading is paused
Situation
What happens
Opening a position or drawing a channel
refused until trading resumes; the ticket shows Trading paused
An open position
keeps running to its end, as usual
A losing position
settles as usual
A cancelled or refunded position
settles as usual
A winning position
your stake is paid at once; the rest is held for the review and the app shows In review
Closing early
still allowed. A close worth up to your stake is paid in full at once; above your stake, the stake is paid at once and the rest is held for the review. A close cannot be undone, so the app says this beside Close now while trading is paused
A channel's royalty
can be claimed once every held win on the channel is decided
The review
Approved. The rest of the win is paid exactly like a normal win, less the profit fee. Before paying, the result is checked against the channel again.
Rejected. You keep the stake that was already paid, and the rest goes back to the vault. The app shows Rejected.
Final and onchain. Each decision is a public transaction, and it cannot be reversed.
How trading resumes
The Overcall team checks what reached the limit and decides every held win: approved, it pays the rest of the win; rejected, you keep your stake. The normal way back is to resume once every held win is decided, and the contracts refuse it before that. For an urgent case the admin (the role in the contracts that can resume trading) can also force trading back on with wins still held: those stay In review and are decided afterwards. Resuming does not reset the loss limit: it keeps refilling over time and with losing positions.
Review mode
A single currency can also be put in review mode, its daily loss limit set to 0. New channels and positions in that currency are then refused (the app says the currency is not taking new positions), while positions opened before keep running until they win or lose. Their wins are held for a review the same way: In review means the win is waiting for its decision.
Economy
Staking
Stake $OVER on Robinhood Chain mainnet to earn a share of real platform revenue: 25% of the profit fees from $OVER positions go to stakers. A stake of 100,000 $OVER or more also unlocks $USDG positions.
Rewards
From real fees
25% of the profit fees from $OVER positions go to stakers, so rewards follow live platform volume, not token emissions.
Access
$USDG at 100,000 $OVER
Stake 100,000 $OVER or more, and the same wallet can open positions in $USDG as well as $OVER.
Exit
Unstake any time
Instantly, in one transaction: your $OVER goes straight back to your wallet.
How staking works
Stake from the Staking & Airdrop tab of the dashboard, with $OVER in your wallet on Robinhood Chain mainnet. Staking is non-custodial and onchain: you hold the keys, every stake settles onchain, and your principal is never at risk, because staked $OVER stays yours. Unstake any time, instantly, and your $OVER goes straight back to the same wallet. While it is staked, your $OVER is out of circulation, a supply sink.
Rewards from real fees
Staking rewards come from platform revenue, not from new tokens: 25% of the profit fees from $OVER positions go to stakers. The busier the platform, the more there is to share. The Staking page shows your rewards in its Claim rewards tab, next to Stake and Unstake: what you can claim now and what you have earned all-time.
SOON
Claiming rewards is not live yet. The projected APR shows on the Staking page once it can be worked out from live fees.
Staking 100,000 $OVER unlocks $USDG positions
Stake 100,000 $OVER or more on Robinhood Chain mainnet, and the same wallet can open positions in $USDG as well as $OVER, both when you draw a channel and when you predict, and claim tUSDG on the testnet demo. A new stake is recognized within about 5 minutes. If your stake falls below 100,000 $OVER, for example after an unstake, new $USDG positions stop within about 30 minutes; positions already open run to the end.
The Genesis airdrop
Staking also powered the Genesis airdrop, 1% of the $OVER supply shared among stakers and testnet players. Points closed on Oct 19, 12:00 UTC. Your allocation, its daily vesting and the Claim button live on the same Staking & Airdrop tab. See Genesis airdrop.
The Genesis airdrop shares 1% of the $OVER supply, 10M $OVER, among early $OVER stakers and testnet players. Points closed on Oct 19, 12:00 UTC. Allocations vest daily over 15 days, and you have 30 days from the start of vesting to claim, on the Staking & Airdrop tab of the dashboard.
From points to your wallet
Points closed.
Qualifying positions, $OVER stakes and linked X accounts were counted until Oct 19, 12:00 UTC.
Positions settled, final allocations published.
Positions had 24 hours to settle after the points closed. The final allocations are the final airdrop leaderboard, fixed onchain in the claim contract.
Claiming is open.
You claim on the Staking & Airdrop tab of the dashboard, from the claim contract on Robinhood Chain mainnet.
Vesting over 15 days.
Vesting started on Oct 20, 10:00 UTC. A fifteenth of your allocation unlocks every 24 hours, from Oct 21 to Nov 4, 10:00 UTC, and you claim what has unlocked, as often as you like.
Claim by Nov 19, 10:00 UTC.
The 30-day claim window started with vesting. Rewards left unclaimed after it flow into the vault, supporting the platform's liquidity.
Your claim card
Open the Staking & Airdrop tab with your wallet connected. The claim card reads your allocation from the claim contract: what is still vesting, what you have claimed, what you can claim now, the next unlock and your claim deadline. Claim sends everything unlocked so far to your wallet. Each claim costs a little ETH on Robinhood Chain for gas.
LIVE
Claiming is live. The claim contract holds the full 10M $OVER and every allocation on Robinhood Chain mainnet at 0x2170…c17f; its code is verified on robin.etherscan.io.
How the airdrop was split
Three pools, each shared in proportion to a score. Every pool needed a linked X. The stakers pool counted real $OVER staked on mainnet. The testnet activity and channel royalty pools needed one stake since Sep 17 (unstaking later was fine) and counted only $OVER positions of 1,000 or more, at most 100 a day (UTC) for activity and at most 500 per channel for royalties; $USDG positions did not count. Every wallet counted on the same rules.
Pool one · 50%
Stakers
Each part of a mainnet $OVER stake counted times the square root of the days it stayed staked: staying longer helped, but doubling the time did not double the reward. Every day with nothing staked, counted from the first stake, cut the stakers score by 6%.
Pool two · 25%
Testnet activity
With a stake in place, $OVER positions of 1,000 or more counted, at most 100 a day, and the amount-weighted ROI scaled the result from 0.5× to 2×. Stake size did not matter here.
Pool three · 25%
Channel royalties
With a stake in place, every $OVER position of 1,000 or more that other players opened on your channels counted, up to 500 per channel. Stake size did not matter here either.
Pool scores
Stakers: each part of the stake × √(days it stayed staked), minus 6% for every day with no $OVER staked Activity: √(counted positions) × ROI multiplier (0.5× … 2×) Royalties: √(counted positions others opened on your channels, at most 500 per channel)
Each pool is shared in proportion to these scores.
Positions opened before the close count once they settle, held wins once they are approved, and rejected wins not at all.
Underneath every Overcall product is one engine: onchain rails where positions and prices both live on the chain, a neutral vault in each currency as your counterparty, and a payout that is the honest inverse of your win probability. Channels is the first product on it; everything we ship next plugs into the same three pieces.
Onchain rails
Position and price, both onchain
Every position, close and payout is an onchain event anyone can replay, and the price is a decentralized oracle report, not a number we choose. Nothing sits behind a curtain.
Counterparty
A neutral vault
The vault of your position's currency takes the other side of every position and reserves every payout before the position opens, so any market the oracle can price can exist. Details in Vault architecture.
Odds
Priced by probability
One survival probability prices both sides of a channel. Each multiplier is the honest inverse of its own outcome, locked at bind and recomputable by anyone.
Winnings priced by probability, in the open
Odds are where most platforms bury their edge. Overcall prices a position from one number, the probability it wins, read from live volatility and the shape drawn. The multiplier is the honest inverse of that probability, less a published spread that sits beside the odds and never inside them. A ceiling, set per currency, caps the multiplier so each vault stays solvent. There is no house edge hidden in the odds: anyone can recompute a multiplier from the signed inputs. On a normal book you learn the real odds after you lose; here you see them first. The same probability also prices a channel's two-sided prediction market.
Request, bind, settle
Opening is a request: your deposit and a signed quote (the volatility and the model version) go onchain. A $USDG request also carries an entry permit, a short-lived signature the operator gives wallets with 100,000 $OVER or more staked. The position becomes active only when the operator binds it to a signed price report that covers your timestamp, which sets your entry price and locks your multiplier. Nobody, neither you nor the operator, chooses the entry. From there the price is read only against the levels fixed at bind. A close submits a fresh signed report and the contract computes your mark-to-market payout; holding to the end needs no report at all, so an oracle outage can never trap funds. A breach is proven by the operator's signed report in its next batch, so the vault is always made whole.
Because every input is either signed or onchain, any result is reproducible. The model's parameters are pinned by a hash in an onchain registry, so anyone can download them and recompute a multiplier from the quote, the report and the shape, and get the exact number the contract used.
Volatility only sizes, it never decides. Each asset's volatility (range) sizes the channel to its market and arrives inside the signed quote. It is bounded and never decides who wins; the price against the levels you set does. Everything else is either your choice or a signed oracle report.
The price layer, the decentralized oracle that settles everything, is covered in Price feeds.
Trust & tech
Price feeds
Every outcome on Overcall is decided by a decentralized price feed, Chainlink Data Streams, not by us. No single venue sets your price, so no one can paint a wick or hunt a stop to take you out.
Decentralized
No single-venue manipulation
Reports are aggregated across venues and signed by a decentralized oracle network, using multi-source reference prices rather than any one exchange's book. There is no single wick that can stop you out.
Sub-second
Fast enough to settle live
Reports are high-frequency and low-latency, so a close is marked to the market you are actually watching, not a slow, averaged feed.
A pull oracle, verified onchain
Data Streams is a pull oracle. Signed price reports are fetched off the chain and submitted with the transaction that needs them, and an onchain verifier checks the oracle network's signature before the contract uses the number. We relay reports to your browser for convenience, but we cannot alter them: they are oracle-signed. We never produce the price; we only read it.
No report, no problem. A channel that reaches its end settles with no price report at all, so a feed outage can never trap your funds or knock you out. See Platform engine.
Mainnet feeds
Each market on Robinhood Chain mainnet is registered onchain with its Data Streams feed ID, so you can check which feed settles it. Every report is checked by the Chainlink verifier on Robinhood Chain mainnet, 0xcE73…36E7, before the contract uses its price.
The whole pitch is that you do not have to trust us. Here is what backs that up, and where the real risks are, named outright.
Never stuck
Funds cannot be trapped
A channel that reaches its end settles with no oracle report, so an outage cannot freeze your position. Liquidations are prompt: the operator publishes breach proof in its next batch, so the vault is never left holding a losing position. Two payouts can wait: the rest of a win while trading is paused for a review (your stake is paid at once), and a payout your address cannot receive, which the vault keeps for you to withdraw.
No custody
Only your position is at stake
Only the position you open is ever at risk. The rest of your balance, in either currency, stays yours, and no operator can seize it or your winnings. It is all onchain.
Roles, disclosed
What admin can and cannot do
Admin can change the terms for new positions (fees, caps, curves; a position's terms are fixed when it opens), rotate the operator and the guardian (the role that can pause trading), and approve or reject a win held for review during a pause (see When trading pauses). Admin cannot touch the price or seize your balance.
Public math
Recompute every result
The payout math, the caps and the settlement rules are in a contract anyone can read, and every result is an onchain event you can recompute from public data.
Residual risks, stated plainly. Prompt liquidation depends on the operator publishing breach proof in its next batch; if the operator goes dark, your fallback is reclaiming your deposit after the 7-day settlement window. The vault is a loss-bearing counterparty, sized by caps so no single win can sink it, but it can draw down. Range is an operator-maintained input, bounded and sizing-only, but it is the one input the platform maintains. One pause covers both currencies (see When trading pauses), so a run of wins against the $USDG vault can pause $OVER positions too, and a $USDG request is refused when that vault's free capital cannot reserve its maximum payout.
Trust & tech
Contracts & addresses
Everything on Overcall is an onchain event. This is where you verify it yourself, on mainnet and on the testnet demo.
Nothing about the rules is offchain. Each contract link opens the exact code, the live parameters, and every position and payout ever settled. If a number matters to a result, it is onchain. Each network has its own add-network details on Wallet & network and Testnet demo.
Trust & tech
Developers & agents
Overcall is built for humans and AI agents alike. Everything a wallet can do, a program can do, because the rules are a contract and the data is onchain events and signed reports. There is no proprietary API between you and the chain; the one exception is the entry permit a $USDG position needs, which you fetch from the public API.
Trade
Straight to the contract
Open and close positions by calling the engine directly from your wallet, after approving the vault of the position's currency; the operator brings the signed price report that binds your entry. The ABI is all you need, plus an entry permit from the public API for a $USDG position, which it issues to wallets with 100,000 $OVER or more staked.
Read
Live GraphQL, no key
Prices, the activity feed, positions with their currency, each currency's terms and the $OVER vault's stats are served by a public GraphQL API, queries and live subscriptions, no key. Every vault's own state is onchain. Query the API, or read the events directly from the chain and recompute anything yourself.
Reproduce
Recompute any result
Download the model file pinned by its onchain hash and recompute any multiplier from the signed quote, report and shape. Every result is verifiable, not trusted.
Because the odds, a position's terms and the payout math are all onchain and deterministic, an agent can price a position, decide, and settle without trusting any intermediary. The model parameters are pinned by a hash onchain, so an agent can recompute any multiplier from the signed quote and report and check it against the contract.
Holds on every settlement, in each currency's vault, to the smallest unit.
Where to start
The ABI of every contract is on its verified explorer page: open any address on Contracts & addresses and read its Contract tab. The public GraphQL API answers at https://api.overcall.io/graphql for mainnet and https://api.overcall.dev/graphql for the testnet demo, with no key.
Resources
FAQ
The questions worth asking, answered straight.
What can I trade?
Crypto: BTC, ETH, BNB, SOL, HYPE, VIRTUAL and CASHCAT today, with XRP and DOGE coming soon. Tokenized stocks (NVDA, AAPL, MSFT, GOOGL, AMZN, META, HOOD, TSLA) are coming soon too. Same rules and payout table across all of them. Positions are in $OVER, or in $USDG if you stake 100,000 $OVER or more. See Markets.
Do I win only if the market goes up?
No. In Channels you pick a side, Survive (your channel holds every wall to the end, up or down) or Breach (a wall breaks first), and shape it with the tilt (angle), the room (width) and how long it runs (duration).
Can I take a position on someone else's channel?
Yes. Every open channel is a two-sided market: back it to Survive (it holds to the end) or Breach (a wall breaks first), at odds from the channel's survival probability. That is Prediction; on your own channel you take a side exactly the same way. See Prediction.
Is Overcall my counterparty?
You trade against a neutral onchain vault in your position's currency, like a perp DEX. Its only margin is a published fee, never a number hidden inside your odds. The market, priced by a decentralized feed, decides every outcome. See Vault architecture.
What are the fees?
Two, both published. The open fee, the greater of 1% of your deposit and a fixed minimum (20 $OVER, or 0.05 USDG on a $USDG position), is carved out of the deposit at open, win or lose. The profit fee is 10% of the profit on a winning close, and 15% of it goes to the channel's creator as a royalty when the winning position is someone else's. An early close also carries a 5% penalty on its mark-to-market value. 25% of the profit fees from $OVER positions go to $OVER stakers. There is no edge hidden in the multiplier. See Parameters & limits.
How is my multiplier set?
One number, your channel's survival probability P, prices both sides: Survive pays M = (1 − δ) / P and Breach pays M = (1 − δ) / (1 − P), where δ is a published spread. Each is capped by a ceiling set per currency (25× for $OVER, 10× for $USDG) so each vault stays solvent, and final when your entry binds onchain; the ticket shows the capped multiplier. Anyone can recompute it from the signed inputs. See Opening a position.
When do I get paid, and how much?
The instant it resolves, unless trading is paused for a review: then a win pays your stake at once and holds the rest for the review (see When trading pauses). Survive collects stake × M if the channel holds to the end, and 0 if a wall is touched; Breach collects stake × M the moment a wall breaks, and 0 if the channel holds. Either side can close early for a mark-to-market amount set by its current win probability, less a small penalty. See Closing a position.
What happens if a wall is touched?
The channel resolves right there: the Breach side is paid in full, and the Survive side is liquidated (0), like a futures liquidation. One signed proof settles every position and prediction on the channel, whichever side each took, your own included. Everything you already collected from closed positions is safe.
How many positions can I hold?
As many as you like, there is no cap on concurrent open positions per wallet. Each one needs room in the vault of its currency, which reserves its maximum payout before the position opens. See Parameters & limits.
What chain is this, and how do I add it?
Robinhood Chain mainnet (chain ID 4663), an Arbitrum-based L2: a blockchain network built with Arbitrum technology. When you connect, the app asks your wallet to switch to it and adds it if needed; the details to add it by hand are on Wallet & network. Gas is paid in ETH on Robinhood Chain.
Where do I buy $OVER?
On Uniswap on Robinhood Chain, where you swap ETH for $OVER; the app's Buy $OVER link opens that swap. Check the token address first: $OVER is 0x6245Db7f52379bD9757c9DdcE6519768FfaB3a4F. See Wallet & network.
Can I try it for free first?
Yes. The testnet demo runs the same app and rules with free test tokens (tOVER from the faucet) that have no value. See Testnet demo.
Do I have to verify my identity?
No. $OVER positions need only a connected wallet; $USDG positions also need 100,000 $OVER or more staked from the same wallet. Connecting X is optional and sets how you appear (your handle and avatar on the leaderboard, feed and share cards). It never gates playing and is never custody of anything.
Can AI agents trade? Is there an API?
Yes. Everything is a contract call plus a signed report and a public GraphQL API, so agents can trade and read without a proprietary API; a $USDG position also takes an entry permit from the same public API. Where to find the ABI and the API is on Developers & agents.
What is the token supply and tokenomics?
$OVER is the token every product is built around, and it launched on Virtuals. Fixed supply of 1B, with the full allocation, cliffs and vesting on the Tokenomics page. See The $OVER token.
What are $USDG positions?
Positions in $USDG, the second currency next to $OVER. A $USDG position takes its deposit, fees and payout in $USDG, against a separate $USDG vault, on the same channels and at the same fee percentages. They are open to wallets with 100,000 $OVER or more staked. See Opening a position.
Who can open $USDG positions?
Wallets with at least 100,000 $OVER staked on Robinhood Chain mainnet, from the same address. A new stake is recognized within about 5 minutes. If your stake falls below 100,000 $OVER, for example after an unstake, new $USDG positions stop within about 30 minutes; positions already open run to the end. See Staking.
What do stakers earn?
A share of real platform revenue: 25% of the profit fees from $OVER positions go to stakers. Claiming rewards is not live yet, and the projected APR shows on the Staking page once it can be worked out from live fees. Unstake any time, instantly. See Staking.
When can I claim the Genesis airdrop?
Now: claiming is live on the Staking & Airdrop tab of the dashboard. Vesting started on Oct 20, 10:00 UTC, and a fifteenth of your allocation unlocks every 24 hours, from Oct 21 to Nov 4, 10:00 UTC. Claim by Nov 19, 10:00 UTC; anything left unclaimed then flows into the vault. See Genesis airdrop.
How do I get tUSDG?
tUSDG is the testnet twin of $USDG, for the testnet demo. Stake 100,000 $OVER or more on Robinhood Chain mainnet, and once your stake is recognized (within about 5 minutes), claim it from the faucet in the Balance tab of the testnet app, next to tOVER. See Testnet demo.
Can I predict in $USDG?
Yes. The currency belongs to your position, not the channel, so with 100,000 $OVER or more staked you can back any live channel in $OVER or $USDG, whichever currency its creator used. See Prediction.
Why does a $USDG position show a lower multiplier?
Each currency has its own multiplier cap: 10× for $USDG and 25× for $OVER. A side priced above the cap is offered at the cap, and the ticket shows the capped multiplier. See Parameters & limits.
How is royalty from $USDG predictions paid?
Your royalty is 15% of the profit fee of every winning prediction on your channels, in $OVER and $USDG. The $USDG part is swapped into $OVER when you claim it, so its total is an estimate until then. Claim all in User space claims your $OVER royalty first, then the $USDG royalty swapped into $OVER, with two confirmations in your wallet. See Dashboard & metrics.
Why can't I claim my royalty yet?
A channel's royalty unlocks once the channel has ended, every position on it, in either currency, has settled, and every win on it held for review is decided.
What do "Trading paused" and "In review" mean?
Each vault has a daily loss limit. When a single win is larger than what is left of it, trading pauses for a review in both currencies: new positions wait, open positions keep running, and if you win, your stake is paid at once while the rest is held for the review (In review). Trading resumes once the review is done. See When trading pauses.
What is "Payout waiting"?
The token refused a transfer to your address, so the vault kept the amount for you. Withdraw it from your dashboard once your address can receive the token again.
Did $USDG positions count for the airdrop?
No. Only $OVER positions of 1,000 or more counted toward the testnet activity and channel royalty pools. See Genesis airdrop.
Do $USDG positions count for the leaderboard?
Not on the $OVER board, the default one, which ranks $OVER positions. Where $USDG positions are offered, the currency filter on the Leaderboard picks a separate $USDG board, and the two are never added together. See Dashboard & metrics.
Why does the dashboard show dollars?
So both currencies read on one scale. Every money figure shows USD first, with the token amount beside it: what you hold at the current price, what already happened at the price when it settled. $OVER is valued at its mainnet market price (tOVER too, on the testnet) and $USDG at $1. The loss limit always shows in each vault's own currency, and every position, payout and vault still runs in its own currency. Each section's currency filter switches to $OVER or $USDG. See Dashboard & metrics.
Resources
Glossary
Every term in one place.
Channel
An angled band of two walls, drawn on the live price. It exists as an NFT; its creator earns a royalty when another player's position on it wins.
Position
A stake on a channel, your own or someone else's, on a side: Survive (it holds) or Breach (a wall breaks), in one currency, $OVER or $USDG. Entered at the bound mark.
Survive
Backing a channel to hold every wall to the end; wins if no wall is touched.
Breach
Backing a wall to break before the end; wins the moment a wall is touched.
Prediction
Taking a side, Survive or Breach, on someone else's live channel, at odds from its survival probability.
Angle
How much the channel leans (−2.4 … +2.4), the trend read.
Width
Wall distance from the center (±2.5× … ±38× range, ±19× on VIRTUAL), the room to breathe.
Duration
How long the position runs (15m … 24h).
Survival probability (P)
The model's chance the channel survives to the end; prices both sides.
Multiplier (M)
Your payout factor, final at bind: Survive M = (1 − δ) / P, Breach M = (1 − δ) / (1 − P), the honest inverse of your side's win probability, less the spread, capped by a ceiling.
Spread (δ)
The platform's transparent, published margin, the same for both sides. There is no hidden odds edge.
Ceiling
The maximum multiplier, set per currency (25× for $OVER, 10× for $USDG), which keeps each vault solvent.
Minimum multiplier
The floor under M (1.01×); a side priced below it is cancelled, not offered.
Watch link
A public link that renders a live position on the real chart, no wallet needed; the prediction ticket sits beside it.
Bind
The moment a signed price report sets your entry and locks your multiplier. Nobody chooses the entry price.
Range
An asset's typical move (its volatility unit); sizes the channel at open, never decides the outcome.
Vault
The neutral onchain counterparty (the Settlement Vault), one per currency, that pays every winning close in that currency.
$USDG
Global Dollar, the second currency positions can open in, with its own vault; $USDG positions need 100,000 $OVER or more staked.
Currency
The money a position is opened in, $OVER or $USDG. Its deposit, fees and payout all stay in it.
USD value
How the dashboard shows money: USD first, with the token amount beside it. What you hold is valued at the current price, what already happened at the price when it settled; $OVER at its mainnet market price (tOVER too, on the testnet), $USDG at $1.
Currency filter
A dashboard section's choice of how its money reads: USD, $OVER or $USDG ($OVER or $USDG on the Leaderboard). Each section remembers its own.
Entry permit
A short-lived signature the operator gives wallets with at least 100,000 $OVER staked on mainnet, so they can open $USDG positions. A new stake gets one within about 5 minutes, and it renews automatically while the stake stays at 100,000 $OVER or more. Below that, it lapses within about 30 minutes: new $USDG positions stop, and open ones run to the end.
Royalty
The channel creator's cut of every winning prediction on their channel: 15% of its profit fee, in $OVER and $USDG. It accrues in the prediction's currency and is claimed with Claim all in User space; $USDG royalty is swapped into $OVER when you claim it.
Fee
The vault's transparent, published margin: an open fee (the greater of 1% and a fixed minimum, 20 $OVER or 0.05 USDG) plus a 10% fee on the profit of a winning close.
Liquidation
A wall touch ending the Survive side at 0; the same signed breach report pays the Breach side in full (during a review pause, its stake at once and the rest held for review). Proven onchain, never decided.
Daily loss limit
A share of each vault's capital (5% for $OVER, 50% for $USDG) that refills over a day and with every lost position. A win larger than what is left pauses trading for a review. It always shows in the vault's own currency, never in USD.
Trading paused
The state after a daily loss limit is hit or trading is paused by hand: new positions wait, open positions keep running, and wins are held for review. See When trading pauses.
In review
A win held for a review, usually because trading is paused: your stake is paid at once, and the rest waits for the review's decision.
Rejected
A held win the review did not approve: you keep the stake already paid.
Payout waiting
An amount the vault keeps for you because the token refused the transfer to your address; you withdraw it from the dashboard.
Balance
What you hold in each currency; positions open from it and pay back into it.
$OVER P&L
The figure the $OVER board ranks by: your realized $OVER positions plus the royalty you claimed from $OVER predictions on your channels.
Operator
The service that maintains the volatility estimate, posts signed quotes, binds entries to reports in batches, liquidates breaches, settles positions at the end, and signs the entry permits that let wallets with 100,000 $OVER or more staked open $USDG positions. It cannot pick an entry price or a winner, and everything it does is reproducible from signed inputs.
$OVER
Overcall's token, the asset every product is built around: take positions in it, stake it to earn a share of platform fees (and, from 100,000 $OVER, to unlock $USDG positions), and claim channel royalties in it.
Staking
Putting $OVER in the staking contract on mainnet, non-custodial and with instant unstake: 25% of the profit fees from $OVER positions go to stakers, and 100,000 $OVER or more unlocks $USDG positions.
Robinhood Chain
The network Overcall runs on: an Arbitrum-based L2, chain ID 4663 on mainnet. Gas is paid in ETH.
Testnet demo
The free practice version of Overcall on Robinhood Chain's test network (chain ID 46630), with tOVER and tUSDG, test tokens that have no value.
Genesis airdrop
1% of the $OVER supply for early stakers and testnet players. Points closed Oct 19, 12:00 UTC; allocations vest daily over 15 days, with 30 days to claim from the start of vesting.