Bitcoin Up/Down 4-hour: resolution statistics
Every resolved btc-updown-4hr market in the PolyTest archive — 178 markets from Aug 5, 2026 to Sep 4, 2026. Recomputed daily.
How often does it resolve Up?
Up rate
53.93%
96 of 178
95% interval
46.60–61.09%
Wilson score
Deviation from 50%
+3.93pp
Within noise
This is a coin flip. The 95% interval (46.60–61.09%) contains 50%, so the observed +3.93pp deviation is indistinguishable from sampling noise. Any strategy premised on a directional resolution bias in this series has nothing to stand on.
Resolutions by hour of day
A common hypothesis is that outcomes cluster around session opens or macro releases. Splitting 178 markets across 24 hourly buckets leaves roughly 7 observations each — enough to see a large effect, not enough to trust a small one.
Deviation from a 50/50 split by UTC hour. Green above the line = more Up resolutions, red below = more Down. Hover a bar for the sample size.
Streaks and liquidity
Longest Up streak
9
consecutive markets
Longest Down streak
5
consecutive markets
Median volume
$28K
per market
Total volume
$5.5M
across the archive
Streaks look meaningful and are not. A fair coin flipped 178 times produces a longest run of about 8 purely by chance. The observed runs of 9 and 5 are what randomness looks like at this sample size — which is exactly why “it’s due for a reversal” loses money.
Method
- Source: PolyTest’s own archive of Polymarket
btc-updown-4hrmarkets. Only markets with a recorded resolution are counted; unresolved and voided markets are excluded. - Confidence intervals use the Wilson score method, which stays well-behaved at small sample sizes where the normal approximation overstates precision.
- Hours are UTC and bucketed by each market’s start time.
- Figures are recomputed daily. The archive grows continuously, so numbers move as new markets resolve.
Reproduce this yourself
Every number above comes from the same public API you can query. Resolved markets are retained — Polymarket’s own API returns 404 for a settled market’s book and an empty array for its price history.
import os, requests
from collections import Counter
BASE = "https://api.polytest.io/api/v1"
H = {"X-API-Key": os.environ["POLYTEST_KEY"]}
outcomes, offset = Counter(), 0
while True:
page = requests.get(f"{BASE}/markets", headers=H, params={
"coin": "btc", "market_type": "4hr",
"limit": 100, "offset": offset,
}).json()["markets"]
if not page:
break
outcomes.update(m["winner"] for m in page if m.get("winner"))
offset += 100
total = outcomes["Up"] + outcomes["Down"]
print(f"Up {100 * outcomes['Up'] / total:.2f}% (n={total})")Frequently asked questions
- Do Polymarket Bitcoin 4-hour Up/Down markets resolve Up or Down more often?
- Across 178 resolved btc-updown-4hr markets in PolyTest's archive, 53.93% resolved Up and 46.07% resolved Down. The 95% Wilson confidence interval on the Up rate is 46.60% to 61.09%, which contains 50%, so the split is statistically indistinguishable from a coin flip.
- Is there a tradeable edge in Bitcoin 4-hour Up/Down resolution bias?
- Almost certainly not from the base rate alone. The observed split is within sampling noise of 50%. A base rate is public information, so it is in the price before you can act on it. Any real edge has to come from microstructure — spread, depth and order flow — not from which side wins more often.
- How many btc-updown-4hr markets are in the dataset?
- 178 resolved markets, covering Aug 5, 2026 to Sep 4, 2026. PolyTest records point-in-time order book snapshots for each one and retains them after resolution, which Polymarket's own API does not.
- What was the longest run of consecutive Up or Down resolutions?
- The longest Up streak was 9 consecutive markets and the longest Down streak was 5. For reference, a fair coin flipped 178 times produces a longest run of roughly 8 by chance, so streaks of this length are expected rather than evidence of a pattern.
The order books behind these outcomes
Knowing which side won tells you the answer, not the path. PolyTest keeps point-in-time snapshots with 8 levels of book depth for every market above, so you can test what your order would actually have filled at.