The Real Pump.fun Bonding Curve Formula, Verified Byte by Byte
There's a fair amount of disagreement floating around about the exact formula behind Pump.fun's bonding curve. Rather than pick a source and trust it, we decoded the actual program account directly and checked the math against real, live trades.
The formula, confirmed against live data
Pump's bonding curve follows a constant-product model — the same family of formula used by Uniswap V2 and similar automated market makers: virtual token reserves multiplied by virtual SOL reserves stays constant across a trade. Given a SOL amount going in, the tokens received come out of rearranging that same equation.
We didn't take this from a blog post. We derived the PDA address for a real token's bonding-curve account, fetched its raw bytes, and manually decoded the fields — virtual token reserves, virtual SOL reserves, real token reserves, real SOL reserves — at byte offsets we confirmed by locating a known value (the token's total supply) at its expected position in the layout.
Why we didn't just trust a documented formula
In the course of building our own tools this way, we'd already found one case where Pump's own published documentation didn't match the live program — a stale trading fee figure. That experience is exactly why we verify formulas against live account data instead of citing a source, however reputable, without checking it ourselves.
What this formula actually predicts
With a token's current virtual reserves, the constant-product formula gives you: exact tokens received for a given SOL input, exact SOL required for a given token output, and — solving the same equation the other direction — the exact SOL needed to fully deplete remaining supply and trigger graduation.
See it applied
We put this formula to direct use in calculating exactly how much SOL a specific token needs to graduate, rather than quoting a platform-wide average.
Our Bonding Curve & Graduation Calculator runs this exact formula against live reserves — either for a real token you paste in, or as a simulation for a brand-new launch using Pump's current live default parameters.