What it is
A bonding curve is a smart contract that acts as an automatic, always-available buyer and seller of a token, using a predetermined formula (often linear or exponential) that relates the token's price to how many tokens currently exist. Instead of trading against other people on an order book or a liquidity pool, users trade directly against the contract itself: buying mints new supply and pushes the price up along the curve, selling burns supply and pushes the price down. There's no need for a separate liquidity provider — the curve itself is the market maker.
How it works
- A developer chooses a curve formula, for example price = supply² (exponential) or price = k × supply (linear), and deploys it in a contract holding a reserve asset (like ETH or a stablecoin).
- A buyer sends reserve currency to the contract; the contract calculates how many new tokens to mint based on the integral of the curve between the current supply and the new supply that would satisfy the purchase amount.
- The newly minted tokens go to the buyer, and the reserve currency stays locked in the contract's reserve pool.
- A seller sends tokens back to the contract; the contract burns them and calculates the reserve amount to return based on the same curve, always at or below the current price.
- Because every purchase moves the price up the curve and every sale moves it down, the price is fully determined by supply at all times — there's no external price discovery needed.
- Some designs (like Bancor's) keep only a fraction of raised funds as "reserve ratio" backing, using the ratio to control price sensitivity to trade size.
- Anyone can enter or exit at any time without waiting for a counterparty, since the contract is the counterparty.
Why designers use it
- Guarantees instant, permissionless liquidity for a brand-new token with no need to bootstrap an order book or find market makers.
- Makes price transparent and formula-driven rather than subject to manipulation by a single large trade against thin liquidity.
- Lets early supporters buy in cheaply and rewards them for taking on early risk, since price rises monotonically with adoption.
- Useful for continuous fundraising or "continuous organizations" where a project wants ongoing capital inflow tied directly to token demand.
Failure modes
- Front-running and sandwich attacks: because price impact is fully predictable from the formula, bots can buy right before a large trade and sell right after, extracting value from ordinary users.
- Death spirals: if the curve is steep and confidence drops, a wave of selling burns tokens and craters price rapidly, and there is no external buyer to slow the fall.
- Reserve drain: aggressive early buyers can lock in cheap tokens, then dump on later buyers who pay far more, transferring wealth from latecomers to insiders.
- Poor formula choice: an overly steep curve makes the token nearly untradeable at scale (huge slippage), while an overly flat curve fails to reward early risk-taking.
- Reserve mismanagement: if the contract's reserve isn't properly isolated or is redirected (e.g., to a treasury) rather than fully backing redemptions, sellers may find they can't exit at the price the curve implies.
What to check before using it
- Simulate the curve's behavior under both mass buying and mass selling scenarios, not just steady, moderate trading.
- Confirm the reserve ratio and what percentage of funds are actually held to back redemptions versus diverted elsewhere.
- Check for slippage and price-impact limits so a single large trade can't be used to manipulate downstream systems (e.g., using curve price as an oracle).
- Verify whether the curve formula is upgradeable by an admin key, which would let a project change the rules retroactively.
- Compare against a simple AMM pool: a bonding curve only makes sense when you specifically need mint/burn dynamics, not just liquidity.