> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hadron.fi/llms.txt
> Use this file to discover all available pages before exploring further.

# Solfi V2

> Rebuilding Solfi's Curve With Hadron

**SolFi**: SolFi is one of the earliest PropAMM teams on Solana, started by the Ellipsis labs team.

<img src="https://mintcdn.com/hadron/O9SbtF_MBf-AusQE/images/telegram-cloud-photo-size-1-4906794213932993376-y.jpg?fit=max&auto=format&n=O9SbtF_MBf-AusQE&q=85&s=c7213568fc2fabf05b4c4f9121b2c193" alt="Telegram Cloud Photo Size 1 4906794213932993376 Y" width="1280" height="550" data-path="images/telegram-cloud-photo-size-1-4906794213932993376-y.jpg" />

*Source: Bid/Ask curve plotted from running the SolFi binaries in liteSVM.*

| **x\_in\_sol** | **price\_usdc\_per\_sol** | **price\_factor**  |
| :------------- | :------------------------ | :----------------- |
| 1.0            | 100.830592                | 0.9995861558038308 |
| 113.028014007  | 100.828181509888          | 0.9995622593603323 |
| 175.04352176   | 100.82738451297           | 0.9995543583149288 |
| 243.060530265  | 100.826506793518          | 0.9995456570250177 |
| 317.079039519  | 100.825538280604          | 0.9995360556522462 |
| 369.092046023  | 100.824842160595          | 0.9995291546521632 |
| 435.108554277  | 100.82394426121           | 0.9995202533080696 |
| 4000.0         | 100.79455585925           | 0.9992289107784094 |

| **x\_in\_sol**    | **price\_usdc\_per\_sol** | **price\_factor**  |
| :---------------- | :------------------------ | :----------------- |
| 1.0               | 100.9140828628            | 1.0004138441961692 |
| 695.173586791993  | 100.924742587534          | 1.0005195195974281 |
| 2803.70085042246  | 100.942493800252          | 1.000695496611246  |
| 3037.759379683103 | 100.944281384436          | 1.0007132178639653 |
| 3271.817908953663 | 100.946069031882          | 1.0007309397438335 |
| 3505.876438214307 | 100.947856742665          | 1.0007486622515946 |
| 3739.934967474951 | 100.949644516784          | 1.0007663853872384 |
| 3999.999999990082 | 100.951644474717          | 1.0007862120115034 |

```typescript theme={null}
// `pool` is a loaded Hadron instance; `authority` is the pool authority (see SDK ▸ Quickstart)
// 8 point curve with a midprice of 100.87

const bidCurveIx = pool.setCurve(authority, {
    side: Side.Bid,
    defaultInterpolation: Interpolation.Linear,
    points: [
        { amountIn: 1n, priceFactor: 0.99958616, interpolation: Interpolation.Step },
        { amountIn: 113n, priceFactor: 0.99956226, interpolation: Interpolation.Linear },
        { amountIn: 175n, priceFactor: 0.99955436, interpolation: Interpolation.Linear },
        { amountIn: 243n, priceFactor: 0.99954566, interpolation: Interpolation.Linear },
        { amountIn: 317n, priceFactor: 0.99953606, interpolation: Interpolation.Linear },
        { amountIn: 369n, priceFactor: 0.99952915, interpolation: Interpolation.Linear },
        { amountIn: 435n, priceFactor: 0.99952025, interpolation: Interpolation.Linear },
        { amountIn: 4000n, priceFactor: 0.99922891, interpolation: Interpolation.Step },
    ],
});

const askCurveIx = pool.setCurve(authority, {
    side: Side.Ask,
    defaultInterpolation: Interpolation.Linear,
    points: [
        { amountIn: 1n, priceFactor: 1.00041384, interpolation: Interpolation.Step },
        { amountIn: 695n, priceFactor: 1.00051952, interpolation: Interpolation.Linear },
        { amountIn: 2804n, priceFactor: 1.00069550, interpolation: Interpolation.Linear },
        { amountIn: 3038n, priceFactor: 1.00071322, interpolation: Interpolation.Linear },
        { amountIn: 3272n, priceFactor: 1.00073094, interpolation: Interpolation.Linear },
        { amountIn: 3506n, priceFactor: 1.00074866, interpolation: Interpolation.Linear },
        { amountIn: 3740n, priceFactor: 1.00076639, interpolation: Interpolation.Linear },
        { amountIn: 4000n, priceFactor: 1.00078621, interpolation: Interpolation.Step },
    ],
});
```
