Continous Auction Specification


A couple of parameters are at play here to make this model work.

Parameter Unit

Volume Coefficient


tā€…CO2et\:CO_2 e

Controls how many units of Forward Clip need to be deposited in a single transaction to raise the annualized Time Appreciation rate on offer by 1% for the next deposit

Discount Floor


tā€…CO2et\:CO_2 e

Controls how far below the Basket's average Annualized Time Appreciation Rate currently offered D can go. Ie if Ī±=0.5%, the on-offer TA can only go below 0.5% of the Basket's average.



% / s

Determines how fast the on-offer rate will decrease by decaying the deposit momentum

Last deposit timestamp



A timestamp that tracks when the last deposit event occurred.

Last deposit momentum


tā€…CO2et\:CO_2 e

A background parameter that is used to roughly track the recent throughput of deposit events.

Initialized as C=Ī±āˆ—Īµāˆ—100C = Ī±*Īµ*100, so the first offered rate would start at the Basket average.

Average time appreciation rate



At key moments calculated as the weighted average of the time appreciation rates of all deposited Forward Clips within the Basket.

Deposit math

For any moment in time (tnt_n) and amount (m), the on-offer time appreciation rate (%) is expressed as

D(tn,m)=Daāˆ’Ī±+(V(tn)+m/2)āˆ—ĪµD(t_n,m) = D_a - Ī± + (V(t_n)+ m/2) * Īµ

Note: The equation uses m/2 instead of m. The logic here is that the depositor claims all available rates between depositing 0 and m. While this can be expressed as a function of āˆ‘0m\sum_0^m, it can be simplified to m/2 due to the linear nature of the rate increase.

Where decayed deposit momentum V(tn)V(t_n) is defined as

V(tn)=Cāˆ—min(100%āˆ’(tnāˆ’tnāˆ’1)āˆ—Ī»,0)V(t_n) = C * min(100\%-(t_n -t_{n-1}) * Ī», 0)

After deposit updates

Updating local Forward Clip data

If some supply from that specific Forward Clip has been deposited before, we need to update the local time appreciation for that Forward Clip. To do this, we need to know the FC's current local time appreciation rate DlD_l, local deposited supply M_l and local time to delivery NlN_l.

Defining outstanding ERC-20 supply related to a given Forward Clip as

Issued(D,M,N)=Māˆ—(1āˆ’D)NIssued (D,M,N)= M* (1-D)^N

We can update local time appreciation as

Dupdated=(Issued(Dl,Ml,Nl)+Issued(D(tn,m),m,Nl))/(Ml+m)NlD_{updated} = \sqrt[N_l]{(Issued(D_l,M_l, N_l)+Issued(D(t_n,m),m,N_l))/(M_l+m)}

Finally, we updateMlM_l

Updating Basket's deposit momentum

C is updated as

C=V(tn)+mC = V(t_n) + m

Updating Basket's last deposit timestamp

Then R is recalculated and tnāˆ’1t_{n-1} is set to the value of tnt_n

Updating Basket's average time appreciation

Simple weighted average using new deposited amount and related time appreciation parameter and previous Basket deposit total and average time appreciation

Last updated