Every time I see a market like "BTC above 100k by end of month" trading at 38 cents, my first instinct is to go check what the options are saying about the exact same thing. Because that contract is not some novel instrument. It is a binary payoff on a price level by a date, and the options market has been pricing that payoff for decades under a different name. The number sitting in an event contract and the number you can back out of a vol surface are supposed to be the same number. When they are not, one of two venues is telling you something the other has not caught up to yet.
The nice part is that the translation is not hard. You do not need a pricing library or a PhD. You need the listed options for the right expiry, a way to read the vol at the strike, and about ten minutes. Once you can do it for one contract you can do it for all of them, and then you have a screen.
The two probabilities you actually care about
Event contracts on crypto price levels come in two flavors, and they map onto two different questions the options market already answers.
The first is terminal. "Will BTC be above 100k on the settlement date." That is the probability that the price finishes above the strike, and it lives directly inside a vanilla option. If you take a European call at that strike and expiry, the risk-neutral probability of finishing in the money is very close to the delta of a digital, which you can approximate from the slope of call prices across strikes. The clean way to think about it: the price of a tight call spread around the strike, divided by the width of the spread, gives you the market's implied probability of finishing above it. Buy the 100k call, sell the 101k call, and the cost of that spread as a fraction of a dollar is roughly the chance BTC lands above 100k. That is your terminal probability, straight from listed instruments.
The second is touch. "Will BTC trade at or above 100k at any point before the date." This is a different animal, because the price only has to kiss the level once. Touch probabilities are always higher than terminal probabilities for the same strike and date, sometimes much higher when the strike is far away and there is a lot of time. As a rough rule of thumb, for a level the price has not yet reached, the touch probability is on the order of twice the terminal probability. It is not exactly two, and the multiple shrinks as you get close to the barrier or run out of time, but it is a good sanity anchor. If a Polymarket "reaches 100k" market and a Polymarket "closes above 100k" market are trading at nearly the same price, one of them is wrong, and the options-implied version will usually tell you which.
Reading it off the vol surface
Here is the workflow I actually run when I want to check a single contract against options.
- Pin down the exact terms. Which strike, which settlement date, and is it terminal or touch. Get this wrong and everything downstream is noise.
- Find the listed expiry closest to the settlement date. On the major crypto options venues you will rarely get an exact date match, so grab the two surrounding expiries and interpolate the implied vol in variance, not in vol. Variance scales roughly linearly with time, so interpolate on vol squared times time.
- Read the implied vol at the strike. Do not use at-the-money vol for an out-of-the-money strike. The skew is the whole point. A far upside strike in crypto usually carries a different vol than the money, and using the wrong one throws your probability off by more than the gap you are hunting for.
- Convert to a terminal probability. The quick version is the call-spread trick above. The slightly more careful version uses the standard risk-neutral finish-above formula, which is a function of spot, strike, that strike's vol, and time. Either gets you close enough to compare against an event contract quoted in cents.
- If the contract is a touch, adjust upward. Use the barrier reflection intuition, roughly double for a distant untouched level, less as you approach it, and treat the result as a range rather than a point.
One thing worth saying plainly: the options number is risk-neutral, not real-world. It carries a small drift and risk-premium wedge. For crypto over short horizons that wedge is usually smaller than the spread you are trying to capture, so I treat the risk-neutral probability as a fair comparison and move on. If you are trading multi-month contracts the wedge starts to matter and you should not ignore it.
Why the gap persists
If these two venues priced the same outcome identically, there would be nothing to do. They do not, and the reason is mostly who is on each side.
Event-contract flow skews retail and narrative-driven. People buy "BTC to 100k" because they believe in the round number, not because they modeled the vol surface. That flow pushes the popular side up and leaves the boring side cheap. Round-number strikes in particular get overbought, so the terminal probability implied by the event contract sits above what options say, and the fade is the other side. Options flow, by contrast, is full of dealers who hedge and arbitrage for a living, so the surface stays tighter to fair value. The gap you see is usually the event contract drifting, not the options mispricing.
A few failure modes to keep in mind before you treat a gap as free money:
- Settlement mismatch. The event contract might settle on a specific index or timestamp that is not the same reference the options settle against. A gap that is really a definitional difference is not a trade.
- Liquidity and fees on the event side. A juicy edge on a contract you cannot get size into, or one that eats the edge in fees and slippage, is not an edge.
- Funding and carry if you hedge with perps or spot. If your plan is to lock the event position against an options replication, the cost of holding that hedge to expiry can quietly erase the spread.
- Early resolution rules. Some "reaches X" markets resolve the instant the level prints. That changes the payoff and makes the touch comparison the right one, not the terminal one.
The practical output of all this is a screen. For each live crypto price contract, compute the options-implied terminal probability, the touch adjustment where relevant, and the difference from the contract's own quote. Rank by absolute gap, filter out the ones with settlement or liquidity problems, and look at what is left. Most days it is thin. Every so often a round-number market runs hot and the gap is wide enough to act on. Building that kind of cross-venue comparison, where the same outcome is priced two ways and you watch the spread between them, is a chunk of what we do at Blockcircle, and it is the same muscle whether the two venues are an event market and an options book or two exchanges quoting the same pair.
Start with one contract and one expiry. Once the numbers line up on paper for a case you can eyeball, you will trust the screen enough to let it flag the rest.