# How are the parameters used in each of the bonding curves?

<table><thead><tr><th width="130"></th><th>Linear</th><th>Exponential</th><th>Sigmoid</th></tr></thead><tbody><tr><td>Delta (uint128)</td><td><ul><li>The additive amount that the next price will increase/decrease by</li><li>No constraints</li></ul></td><td><ul><li>The multiplicative amount that the next price will increase or decrease by</li><li>1e18 represents 100%. If it increases by 20%, we need to put 1.2e18 as delta</li><li>Constrained to be ≥ 1e18</li></ul></td><td><ul><li>Represents the speed which <code>P_min</code> and <code>P_max</code> are attained. Low = slow, high = fast</li><li><code>delta</code> must be <code>k * 2**10</code> as a uint128. The value of k is normalized because most useful curves have k between 0 and 8, with small changes to k (e.g. 1/128) producing significant changes to the curve</li></ul></td></tr><tr><td>SpotPrice (uint128)</td><td><p>Ex-fees and royalties,</p><p>Bid | Ask ~= spotPrice | spotPrice + delta</p></td><td><p>Ex-fees and royalties,</p><p>Bid | Ask ~= spotPrice | (spotPrice * delta/ 1e18)</p></td><td>Not used</td></tr><tr><td>Props (bytes)</td><td>Not used</td><td>Not used</td><td><p>Represents an encoding of upper and lower bounds P_max and P_min </p><p><code>abi.encode(uint256(P_min), uint256(P_max - P_min))</code></p></td></tr><tr><td>State (bytes)</td><td>Not used</td><td>Not used</td><td><p>Represents where we are from the curve initialization point to calculate the right gradient</p><p></p><p><code>abi.encode(int128(n - n0))</code></p></td></tr></tbody></table>
