Positions & weighting
A position is one whole unit of a whitelisted stock plus ETH backing you choose, at or above 111% of the stock's value. The backing is a standing bid to buy your own stock back — and it is also what sets your odds of being drawn.
Both legs
Depositing takes one whole unit of the stock token and ETH backing of your choosing, at or above the floor. The second half surprises people, so to be direct: listing a $200 stock means providing the stock and at least ~$222 of ETH.
That ETH is not a fee, and it is more than escrow: it is an irrevocable standing bid. If your card is drawn, the purchaser may sell the stock straight back to you for 90% of your backing — that is the offer you write by depositing, and the fee stream is what pays you for writing it. The pool never spends one depositor's backing on another's payout, which is why it is solvent by construction and why a withdrawal always returns your stock and your backing together.
Every wei you send becomes backing. Nothing is refunded — the amount is the one decision this game asks you to make. Quote minimumBacking and send at least that; send more if you want to be rarer.
Why the floor is 111.11%
The bid pays the purchaser 90% of backing. At backing of 111.11% of the stock's value, that bid is worth exactly the whole stock on deposit day — 0.9 × 1.1111 = 1.0. Below the floor the escrow could not fund a bid worth taking, and the sell-back leg of the game would collapse. The floor is checked against the live Chainlink price at the moment you deposit.
Selection weight
Every active listing carries a weight:
weight = 1e36 ÷ backing
Probability of being drawn is weight ÷ totalWeight. Weight is inversely proportional to backing, so a lightly backed card is drawn constantly and a heavily backed one almost never — and since backing is your choice, rarity is something you buy with idle capital. A cheap stock at the floor is common because little stands behind it; the same stock backed 3× over is three times as rare, offers a bigger bid, and ties up three times the ETH.
What a draw costs you
Your bid — 90% of backing — is set once, at deposit, and never moves again. The stock keeps moving. When your card is drawn, the purchaser takes whichever is worth more: a stock that has fallen below the bid gets sold back to you at the bid, and a stock that has risen past it gets kept, taking the run-up with it.
At the floor the two start exactly equal — the bid equals deposit-day value — so what you are exposed to is movement since deposit. The fee stream compensates the expected cost of being drawn; the run-up on a stock you left sitting is yours to manage.
Staging
A deposit made while a draw is unresolved is staged — held outside the selection tree, unable to be drawn and earning nothing, until the queue is quiet. Anyone can then call activateStaged to move it in.
This exists because a drand round becomes public seconds after it is pinned, and the transaction that applies it lands later. Without staging, someone watching the beacon could stuff the pool with cheap listings and skew the very draw that is mid-flight.
Leaving
withdraw returns your stock, your backing and any accrued fees in one transaction. It is available while the protocol is paused — that is the point of the safety design.
The one exception is an active listing while a beacon word is recorded but not yet applied, a window of seconds. Removing a card then would re-roll a result that is already public. It is not an owner power and nobody can hold it open: anyone can call processAcquisitions to clear it, then withdraw in the same transaction.
- Staged listings are outside the tree and stay withdrawable at all times.
- If the stock transfer fails — the issuer can freeze these tokens — your ETH still goes out and the stock becomes claimable later via
claimStranded.