# How to increase price gradually?

I sell so called "tokens" for so called Ether.

I receive an arbitrary amount of Ether in a transaction. I sent back a calculated amount of tokens.

I want the price of a token increase as more tokens are sold.

At first I introduced the formula $t=\frac{e}{T+e}$ where $e$ is the amount of Ether received in this transaction, $T$ is the total amount of Ether received before this transaction, and $t$ is the amount of tokens sent back in this transaction.

This formula has the deficiency that the very first payment (that is when $T=0$) always sends back $1$ token, no matter how much Ether we receive in this transaction. This is silly.

Please propose any alternative formulas with less silly results.

Note that it is impossible to make the total amount of tokens received to be independent of whether the purchase is done in one big transaction or several smaller transactions, as I proved in my answer to https://math.stackexchange.com/q/2709460/4876.

Despite the project is nonprofit (noncommercial), the main purpose of this is to receive as much Ether as we can.

• maybe $t = \frac{e^2}{T + e}$ or $t = \frac{e^2}{T^2 + e}$? – porton Apr 6 '18 at 18:24

The formula $t = \frac{e^2}{T^2 + e}$ does not scale linearly:
$\frac{(ke)^2}{(kT)^2 + ke} \ne c \frac{e^2}{T^2 + e}$ for any constants $k$ and $c$. (Linear scaling is OK as this is just a denomination of money. Nonlinear scale is a kind of nonsense as it introduces the need to add arbitrary coefficients, without a hint how to choose particular numerical values.)
So I choose the formula $t = \frac{e^2}{T + e}$.