scry install wishlist
the gacha desk

The odds, solved. And the other side of the table.

The same integer arithmetic the contract runs, on any pool you describe — then everything a depositor does: put one up, harvest, reprice, withdraw, claim, or ask for a pool that does not exist yet. Just here to play? The spin is over there.

reading… reading this page's config

Nothing on this page is a better deal than the spin — it is the same pool, the same odds and the same posted numbers, laid out for whoever wants to check the arithmetic or sit on the depositor's side of it.

The Book — the odds, before anyone pays

Describe a pool and it is solved exactly: enter the backings, in ETH. This is the same arithmetic the contract runs — same integer floors — so a number here can be checked against the chain digit for digit. It answers whether or not a pool exists.


surcharge bps standing bid bps of backing
a pull costs
the pool's harmonic mean, plus the surcharge
expected backing drawn
chance a pull profits instantly
the standing bid alone beats the price
what a floor-only player loses
per pull, on average, if you never keep one
break-even valuation
want one more than this and a pull stops losing
positions in the pool
every position, and exactly how often it is drawn
solve a pool to see the odds

The weight is inverse to the backing: a cheap position is drawn often, a rich one rarely — which is why a pool of richer positions prices cheaper. Every position's expected exposure per draw is the same, which is what makes an equal split of the fee fair.

the other side of the table — what a depositor gets

A pull has a deadline

A pull is two steps, not one. You request, then about ten seconds later a block that did not exist when you paid decides which position you drew, and someone must settle it. If nobody settles inside the window, your fee goes to the depositors and the buyer gets nothing.

That is what stops a draw being a free option on its own outcome. Three things settle for you: the spin page while its tab is open, a keeper if the browser dies, and the depositors, who have their own reason to. Anyone can settle any draw, including someone else's.

stepwho actsthe clock
1 · requestthe buyer, in their walletthe fee is escrowed, and the reveal block is fixed here
2 · the revealnobody — the chain after the request
3 · settleanyone, including the spin pagea window of , then the fee is forfeited
4 · keep or hand backthe buyer, in their wallet, unless they pre-committed and it resolved in one step

The clock is the L2 height, not the block number Solidity reports — this chain is Arbitrum Nitro, where those are ~100× apart. Getting that wrong once turned a ten-second reveal into twenty minutes.

The pools

A pool's existence is the whitelist. A curator can open or close one and can never touch escrow, a fee, or a payout. There is no on-chain nomination: a collection asks, and the answer is posted. Picking a pool here loads it into the Book above and arms the deposit below.
reading…

Put one up

You escrow the token and the ETH that backs it. The backing is your own number and funds one thing: the standing bid that buys the token back off whoever draws it. Nobody else's money is at stake in your draw, and yours is never at stake in theirs.

Two things to know before you set a number. A low backing is drawn most of the time — the weight is inverse, so if you post far below the pool's harmonic mean you will be selected far more often than an even split would suggest. And, in the words of the mechanic this is forked from: your NFT may be selected earlier than statistically expected, which cuts your earnings before fees compound.

This copy carries no ScryGacha address, so there is nowhere to put a token. Use the Book above to see what a backing would do to a pool's price and to your own odds.

The minimum backing is a floor in the code, not a knob — a pool's own minimum can be raised, never lowered below it. The price is dominated by the cheapest position, so one dust deposit would drag the whole pool's price.

Your side of it

Every payout is pull-based: nothing is pushed to your address, so a claim is a step you take. That is what stops any participant reverting a draw, jamming a pool, or re-entering one.
This copy carries no ScryGacha address, so there are no positions to read and nothing to claim.

Ask for one

Anyone can ask, for any collection on this chain — no wallet, no signature, nothing to sign up for. The ask is public and so is the answer. Nobody replies: an ask is answered when a pool exists for that collection, which you can check yourself. Nothing records a refusal — an unanswered ask is unanswered, not rejected.

Two checks before an ask is written down, neither a judgement: an ERC-721 the explorer can see, and more holders than the spam floor. The holder count is recorded beside the ask.

what has been asked for
reading…

What is settled, and what is not

the thingwhere it stands
the backing and the standing bidETH, and staying that way. A floor is a claim about someone else's real token, so it wants the most external unit there is
the toll for a pullin the deployed contract, and switched off. The rate reads 0, so a pull is charged in native ETH today. If it is ever switched on, the asset comes from the contract's own quote for that pool and never from this page's config — so an out-of-date label here cannot make you pay in the wrong coin
the minimum backingmeasured, not chosen: about the 80th percentile of live sales on this chain, roughly 40× what a pull costs in gas
a cap on how large a backing may bemeasured off. Any cap that binds deletes the jackpot the draw exists for, and a rich position is rarely drawn
the oddsfree, always. No tier and no payment moves a probability, a price or a payout — the premium may sell the character, never the odds