Skip to main content
HumidiFi: HumidiFi is the largest propAMM on Solana, with over $50bn in 90day volume. Image (18) Source: Bid/Ask curve plotted from running the HumidiFi binaries in liteSVM. Note that HumidiFi curves follow this general shape, widening, shrinking, and shifting every slot.
For simplicity, we will linearly approximate humidifi’s curve with just a few knots, although you can get even closer with more data points or hyperbolic interpolation.

Under the hood, Humidifi is approximating log decay with very small linear segments.
HumidiFi Bid/Ask Curve:
amount_in_solaverage_price_usdc_per_sol
1101.11448
491.12256128101.109647509533
493.12306153101.10963548795
4000101.08382844375
amount_in_solaverage_price_usdc_per_sol
1.0101.135357068354
491.122561279057101.141372888682
493.123061523928101.141398399866
4000.0101.172231918849
Creating this curve with Hadron:
//creating a 4 point bid/ask curve with hadron with midprice of 101.125

const bidCurveIx = buildSetCurveInstruction(
  HADRON_PROGRAM_ID,
  authority.publicKey,
  configPda,
  "bid",
  "linear",
  [
    { xIn: 1n, priceFactor: 0.99989678, interpolation: "step" },
    { xIn: 491n, priceFactor: 0.99984899, interpolation: "linear" },
    { xIn: 493n, priceFactor: 0.99984887, interpolation: "linear" },
    { xIn: 4000n, priceFactor: 0.99959367, interpolation: "step" }
  ]
);

const askCurveIx = buildSetCurveInstruction(
  HADRON_PROGRAM_ID,
  authority.publicKey,
  configPda,
  "ask",
  "linear",
  [
    { xIn: 1n, priceFactor: 1.00010322, interpolation: "step" },
    { xIn: 491n, priceFactor: 1.00016271, interpolation: "linear" },
    { xIn: 493n, priceFactor: 1.00016297, interpolation: "linear" },
    { xIn: 4000n, priceFactor: 1.00046787, interpolation: "step" }
  ]
);
Note: This is a simple linear based approximation of the curve, however the Hadron quadratic and other non linear interpolation leads to a smoother replica of the HumidiFi curve