Gacha games love the word “fair.” Splash screens promise transparency, patch notes tout new pity mechanics, and every publisher points to a probability disclosure page as proof the system is honest. But “disclosed” and “provably fair” are not the same claim, and mixing them up is exactly how players end up trusting math nobody can actually check. This piece walks through what provably fair RNG really means, how the gacha system in games like Genshin Impact actually works under the hood, and what the published numbers say about the real odds and real cost of chasing a featured character.

The short version: no major gacha game on the market today is provably fair in the cryptographic sense. What they offer instead is probability disclosure — a published number you have to take on faith. That distinction matters more than it sounds, and the rest of this guide shows exactly why, using real published rates, a full pity-cost table, and a step-by-step expected-value calculation you can follow with a calculator.

What “Provably Fair” Actually Means

Provably fair is a specific cryptographic technique, not a marketing adjective. In a true provably fair system, an operator generates a secret server seed before a round starts, then publishes a cryptographic hash of that seed (commonly SHA-256, a hash function standardized under NIST SP 800-90A) so the player can see proof a value was locked in before anything happened. The player also contributes a client seed. After the round resolves, the operator reveals the original server seed. The player can then hash it themselves, compare it against the hash published earlier, and confirm the operator didn’t swap the outcome after the fact. This commit-reveal pattern is the backbone of provably fair systems used across the online betting and blockchain gaming space.

Three things make that system verifiable rather than merely trustworthy: the hash is public before the roll, the seed is revealed after, and anyone can independently recompute the result. Take away any one of those steps and you’re back to trusting the house. That’s the test worth applying to every gacha banner: can you, the player, independently recompute why you got the result you got? For virtually every mobile and PC gacha title, the answer is no.

How Gacha RNG Actually Works Instead

Gacha publishers don’t run commit-reveal schemes. The pull result is generated server-side using a pseudorandom number generator (PRNG) the studio controls entirely, then checked against pity counters and rate-up rules also stored server-side. Common general-purpose PRNGs such as the Mersenne Twister algorithm produce output that’s statistically random enough for game design purposes, but nothing about that process is designed to be checked by a third party. The player never sees a seed, never sees a hash, and never gets a way to confirm the roll wasn’t adjusted.

What players do get, in the better-regulated markets, is a probability disclosure: a static percentage published in a “wish details” or “gacha rates” screen inside the game. That number tells you the advertised long-run rate. It does not let you verify that any single pull, or any single player’s pull history, actually matched that rate. The two concepts get conflated constantly in gaming forums and even in some outlets’ coverage, but they solve different problems. Disclosure answers “what does the company claim the odds are.” Provable fairness answers “can I check that claim myself.” Gacha games only do the first.

This isn’t necessarily evidence of foul play. Independent statistical audits of large public pull-history datasets for major titles have generally lined up with the advertised base rates over tens of thousands of samples. The point is narrower: alignment with an advertised average is not the same as verifiability, and regulators have started treating that gap as a consumer protection issue rather than a technical footnote.

The Regulatory Landscape, Briefly

Disclosure requirements vary sharply by country. Regulators including the Belgian Gaming Commission and the UK Gambling Commission have both examined loot-box and gacha-style mechanics as part of broader gambling-adjacent consumer protection work, with approaches ranging from outright restriction to disclosure mandates. China requires probability publication for randomized items sold for real money, which is the regulatory pressure that pushed most major gacha publishers, including HoYoverse, to start printing base rates and pity thresholds directly in-app in the first place. None of these regimes require cryptographic proof of fairness, only that a number be published somewhere the player can find it. For a full country-by-country breakdown of enforcement and penalties, our loot box odds disclosure laws explainer covers the current legal patchwork in more depth.

Case Study: Genshin Impact’s Published Wish Rates

To make this concrete, this guide works through one of the most thoroughly documented gacha systems on the market: Genshin Impact’s Character Event Wish. HoYoverse publishes exact figures in its in-game Wish Details screen, and those figures are what every calculation below is built from. Nothing in this section is estimated or rounded for convenience.

The published base probability of pulling a 5-star item on any single wish is 0.6%. HoYoverse also publishes a separate “consolidated probability” of 1.6%, which folds the pity system into a single long-run average rate per wish across the whole pity cycle. The hard pity guarantee is 90 wishes: if a player goes 89 wishes without a 5-star, the 90th wish is guaranteed to produce one. Community-collected pull data from large player samples has long suggested the per-pull rate starts climbing sharply somewhere around wish 74, the point commonly called “soft pity” — but it’s worth being precise here: HoYoverse has never officially published a wish-by-wish probability curve, so that pull-74 threshold is a community-derived observation, not a disclosed rate, and it’s labeled as such throughout this piece.

On top of the base 5-star rate sits the “50/50” system, which decides whether a 5-star pull is the current featured character or a random standard character. If a player loses that roll, the very next 5-star they pull on that banner type is guaranteed to be the featured character. In 2025, HoYoverse layered an additional mechanic called Capturing Radiance on top of the 50/50, and published the exact numbers for it in an official HoYoLAB announcement: a base 0.018% chance to override a loss on any given roll, and a guaranteed override if a player loses the “second 5-star” roll on three consecutive occasions. Combined, HoYoverse states the consolidated probability that any given 5-star pull turns out to be the promotional character is 55.0%.

The Genshin Impact Pity-Cost Table

Genshin’s wish currency converts cleanly: one wish costs 160 Primogems, and one Intertwined Fate (the item actually spent on a Character Event Wish) also converts at a 1:1 rate with Primogems, so 160 Primogems buys one pull. Genesis Crystals, the item purchased with real money, convert to Primogems 1:1. That gives a clean chain from dollars to pulls. The table below combines HoYoverse’s official rates with current Genesis Crystal pricing verified against the game’s authorized top-up storefront.

MilestonePull count / rateStatusSource
Base 5-star probability0.6% per wishOfficialIn-game Wish Details
Consolidated 5-star probability1.6% averageOfficialIn-game Wish Details
“Soft pity” acceleration begins~wish 74Community-observed, not disclosedAggregated player pull data
Hard pity (5-star guaranteed)Wish 90OfficialIn-game Wish Details
Featured character rate per 5-star (consolidated, incl. Capturing Radiance)55.0%OfficialHoYoLAB Capturing Radiance notice
Capturing Radiance base trigger0.018% per eligible lossOfficialHoYoLAB Capturing Radiance notice
Capturing Radiance guaranteed triggerAfter 3 consecutive lossesOfficialHoYoLAB Capturing Radiance notice
Absolute worst case for featured characterUp to 180 wishesDerived from official guarantee-on-loss ruleTwo full hard-pity cycles

What It Actually Costs in Dollars

Genesis Crystal pricing isn’t flat per dollar. Larger packs give noticeably better crystal-per-dollar value than small ones, which means the real cost of a pity cycle depends heavily on which pack tier a player buys from. Current recurring Genesis Crystal pricing (after any first-purchase bonus has already been claimed) breaks down as follows:

Pack priceGenesis CrystalsCost per crystalCost per wish (160 crystals)
$0.9960$0.0165$2.64
$4.99300$0.0166$2.66
$14.99980$0.0153$2.45
$29.991,980$0.0151$2.42
$49.993,280$0.0152$2.44
$99.996,480$0.0154$2.47

That spread is significant. A player who only ever buys $0.99 packs pays roughly 9% more per pull than a player buying the best-value $29.99 tier, purely because of how the bonus crystal tiers scale. At the best available rate ($2.42 per wish), a guaranteed hard-pity cycle of 90 wishes costs $217.80 in idealized crystal terms. Because packs can’t be split, actually reaching 14,400 Primogems in practice means buying three $99.99 packs (19,440 crystals, $299.97), which leaves roughly 31 extra wishes banked for the next banner. Buying only in small $4.99 packs instead pushes the same 90-wish cycle to about $239.52.

The Step-by-Step Expected-Value Calculation

Expected value (EV) answers a different question than the pity cap. The hard pity number tells you the worst case; EV tells you the average case across many pulls. Here’s the full calculation, built entirely from HoYoverse’s two official consolidated rates.

Step 1 — Expected wishes to first 5-star
  Consolidated 5-star rate = 1.6% (official)
  Expected wishes = 1 / 0.016 = 62.5 wishes

Step 2 — Expected number of 5-star draws needed for the featured character
  Featured-character rate per 5-star draw = 55.0% (official)
  Since a loss guarantees a win on the very next 5-star draw,
  a player needs at most 2 draws:
  E[draws] = (1 x 0.55) + (2 x 0.45) = 0.55 + 0.90 = 1.45 draws

Step 3 — Expected total wishes for the featured character
  E[wishes] = 62.5 x 1.45 = 90.625 wishes (~91 wishes)

Step 4 — Expected cost at the best available crystal rate
  $2.42 per wish x 91 wishes = $220.22

Step 5 — Worst-case cost (two full hard-pity cycles, no early override)
  180 wishes x $2.42 per wish = $435.60

Two things stand out. First, the average expected cost (about $220) lands close to a single hard-pity cycle, because the guarantee-on-loss rule caps how bad the 50/50 can realistically go — a player is never gambling indefinitely, only ever risking one extra cycle. Second, the worst-case ceiling (about $436 at the best crystal rate, closer to $450 once pack-size rounding is factored in) is the number worth budgeting for if zero risk of falling short matters, since Capturing Radiance’s individual 0.018% trigger chance is too small to rely on and only becomes a real guarantee after three consecutive losses, a scenario with roughly a 9% chance of occurring (0.45 cubed) across any given multi-banner stretch.

Five Worked Examples With Real Numbers

Example 1: The early hit

A player pulls their 5-star at wish 55, inside the base-rate window, and wins the 50/50 immediately. Total spend at the best crystal rate: 55 x $2.42 = $133.10.

Example 2: The typical outcome

A player’s 5-star lands at wish 80, inside the community-observed soft-pity window, and wins the featured-character roll on the first try. Total spend: 80 x $2.42 = $193.60 — close to the $220 EV figure calculated above, which is exactly what an average-case outcome should look like across a large sample.

Example 3: The hard-pity, lost-50/50 case

A player rides all the way to wish 90 for their first 5-star, then loses the featured-character roll and gets a random standard character instead. The guarantee-on-loss rule means their very next 5-star, whenever it lands, is locked in as the featured character. If that second 5-star also takes the full 90 wishes, total spend hits the worst-case ceiling: 180 x $2.42 = $435.60.

Example 4: The Capturing Radiance save

A player loses the 50/50 on three separate banners in a row, each cycle running close to 90 wishes. Per HoYoverse’s own disclosure, this triggers a guaranteed Capturing Radiance override on the very next 5-star, meaning the fourth cycle, even a short one, is guaranteed to land the featured character. This is a genuinely rare tail case, roughly a 9% chance across three consecutive losses, but it caps how much bad luck can compound, which is the entire point of the mechanic.

Example 5: The small-pack buyer vs. the bulk buyer

Two players both need exactly 90 wishes. Player A buys only $4.99 packs the whole way, spending 90 x $2.66 = $239.52. Player B buys three $99.99 packs, spending $299.97 for more crystals than needed. The gap, about $60 depending on how leftover crystals are counted, is the real-money cost of ignoring pack efficiency, a detail almost never mentioned in pity-system explainers but one that directly affects whether a pull is worth the money.

Myths vs. Facts About Gacha “Fairness”

MythFact
Gacha games are “provably fair” because they publish drop rates.Publishing a rate is disclosure, not proof. No major gacha title lets players independently verify an individual roll the way a cryptographic commit-reveal system does.
The pity counter guarantees the character a player wants.Hard pity only guarantees a 5-star of some kind. Getting the specific featured character can require a second full pity cycle if the 50/50 is lost.
Soft pity is an officially published mechanic.HoYoverse has never published a per-pull probability curve. The commonly cited “soft pity starts at 74” figure comes from aggregated community pull data, not an official source.
Buying any pack size costs the same per pull.Larger packs deliver meaningfully more crystals per dollar. The gap between the smallest and largest tiers is roughly 7% per wish.
Capturing Radiance means the 50/50 is basically gone now.Its base trigger rate is 0.018% per eligible loss, vanishingly small on any single roll. It only becomes a reliable guarantee after three consecutive losses.
Statistical audits proving rates match averages means the system is provably fair.Matching an advertised average over a large sample confirms the aggregate rate, not that any individual roll can be independently verified by the player who made it.

Could Gacha Games Ever Become Truly Provably Fair?

Technically, nothing stops a gacha publisher from adopting a commit-reveal scheme identical to what blockchain-based games already use: publish a hashed server seed before a banner goes live, let players supply a client seed, and reveal the original seed once a pull resolves so anyone can recompute the outcome. The math involved, SHA-256 hashing, seed combination, and reveal, is decades old and computationally trivial at gacha scale.

The reason it hasn’t happened isn’t technical difficulty, it’s incentive. Provable fairness invites players to audit results in real time, which raises the bar for how tightly a studio must control its own internal tuning, live-service adjustments, and anti-cheat systems. Traditional gacha publishers have instead settled on the lighter-touch approach regulators actually require: publish an average rate, keep the generation process internal, and let statistical audits of aggregate pull data stand in for individual verifiability. That’s a legitimate regulatory compliance strategy. It just isn’t the same thing as provably fair.

How to Use This Math as a Player

The practical takeaway isn’t “don’t pull,” it’s “know which number to budget against.” Treat the roughly $220 expected-value figure as the realistic average cost of landing a specific featured character from zero pity, and treat the roughly $436-450 worst-case figure as the number to actually save toward if a hard guarantee matters more than the average outcome. Buying in the largest pack tier available consistently beats drip-feeding small purchases, and any pity progress already banked on a losing 50/50 should be treated as a locked-in, guaranteed asset rather than restarted math, since the very next 5-star on that banner type is already guaranteed to be the featured character.

Frequently Asked Questions

Is any gacha game actually provably fair?

Not among the major mobile and PC gacha titles on the market. They publish probability disclosures, which is a regulatory compliance step, not a cryptographic proof mechanism. True provably fair systems require a public seed hash before the outcome and a revealed seed afterward, which mainstream gacha games do not implement.

What’s the difference between soft pity and hard pity?

Hard pity is an officially disclosed, guaranteed threshold, wish 90 in Genshin’s case, where a 5-star is certain. Soft pity refers to a rising per-pull rate that community data suggests begins around wish 74, but it is not an officially published curve.

Expected cost averages around $220 at the best available Genesis Crystal rate. The absolute worst-case ceiling, covering two full hard-pity cycles if the first 50/50 is lost, runs about $436 in idealized crystal terms, or closer to $450 once real-world pack sizes are factored in.

Does losing the 50/50 reset pity progress?

No. Losing the 50/50 still guarantees the featured character on the very next 5-star pulled on that banner type. The pity counter for getting a 5-star at all also resets every time a 5-star is obtained, regardless of which character it turns out to be.

Why do regulators require probability disclosure instead of provable fairness?

Most current loot-box and gacha regulations, including China’s disclosure rule that pushed HoYoverse and other publishers to print in-app rates, focus on transparency of the advertised odds rather than cryptographic verifiability. Regulators like the UK Gambling Commission and Belgian Gaming Commission have examined these mechanics primarily through a consumer protection and gambling-adjacent lens, not a cryptographic-audit lens.

Is the 0.018% Capturing Radiance rate the same as a 10% chance?

No, and this is a common point of confusion. The base per-loss trigger rate published by HoYoverse is 0.018%, not 10%. The mechanic becomes a guaranteed override only after three consecutive losses on the featured-character roll.

Does a bigger Genesis Crystal pack always mean better value?

Among the standard recurring tiers, yes. The $99.99 pack delivers Genesis Crystals at roughly $0.0124 each, compared to $0.0165 each for the $0.99 pack, a difference of about 33% per wish once converted to pull cost.