# Parameters of the bonding curves

We maintain four parameters for the bonding curve.

<details>

<summary>Delta</summary>

Delta is a static variable until changed used to determine the speed of price increase\
\
Delta can be **functionally flat** as well, if you don’t want prices to change from trade to trade.

* The number indicating **functionally flat** delta differs from each curve. For `Linear` curves, input a delta of `0`. For `Exponential` curves, input a delta of `1e18` (representing 100% i.e. no multiplicative change). You can also do that with `Sigmoid` curves by setting `P_min` = `P_max`. However, since these are all functionally equivalent, we recommend just sticking with the simple `Linear` representation if you wish to create a **functionally flat** pricing curve.

</details>

<details>

<summary>SpotPrice</summary>

SpotPrice is a stateful variable that is used to store a rough price level to help calculate bid/asks

</details>

<details>

<summary>Props</summary>

We foresee the need for an arbitrarily large set of static variable beyond just delta (e.g. for the sigmoid curve, we require explicit min/max levels)

</details>

<details>

<summary>State</summary>

We foresee the need for an arbitrarily large set of stateful variables. State is a bytes variable for an arbitrarily large set of stateful variables.

</details>

{% hint style="info" %}
Do note that the difference between props and state is just a convention for the curves that we have, and is not enforced for custom curves - someone could easily make props the stateful variable and state the static variable.
{% endhint %}

<table><thead><tr><th>Variables</th><th width="220">Intent of variable usage</th><th>DataType</th><th width="176">Limited Data Storage?</th></tr></thead><tbody><tr><td>Delta</td><td>Static - Changed by user only when you want to change the hyperparameters of pricing function</td><td>uint128</td><td>Limited</td></tr><tr><td>SpotPrice</td><td>Stateful - Changed by the pool automatically on each trade</td><td>uint128</td><td>Limited</td></tr><tr><td>Props</td><td>Static - Changed by user only when you want to change the hyperparameters of pricing function</td><td>bytes</td><td>Unlimited</td></tr><tr><td>State</td><td>Stateful - Changed by the pool automatically on each trade</td><td>bytes</td><td>Unlimited</td></tr></tbody></table>
