Two cycles. Nobody signed after the deposit.
400,000 opened across 4 dates in 1 signature. In the run that timed it, the chart updated 0.04 s after confirmation.
| Rung | Date | Promised | Arrived | Status |
|---|---|---|---|---|
| Opened by the treasurer | ||||
| 1 | 09:29:17 | 99,750.019484 | 99,750.019484 | Rolled forward |
| 2 | 09:30:17 | 99,750.034667 | 99,750.034667 | Rolled forward |
| 3 | 09:31:17 | 99,750.049849 | 99,750.049849 | Rolled forward |
| 4 | 09:32:17 | 99,750.065032 | 99,750.065032 | Rolled forward |
| Cycle 1 — rolled by the keeper | ||||
| 5 | 09:33:17 | 99,500.704005 | 99,500.704005 | Rolled forward |
| 6 | 09:34:17 | 99,500.719654 | 99,500.719654 | Rolled forward |
| 7 | 09:35:17 | 99,500.734294 | 99,500.734294 | Rolled forward |
| 8 | 09:36:17 | 99,500.749691 | 99,500.749691 | Rolled forward |
| Cycle 2 — rolled by the keeper | ||||
| 9 | 09:37:17 | 99,252.012420 | — | Open |
| 10 | 09:38:17 | 99,252.027527 | — | Open |
| 11 | 09:39:17 | 99,252.042382 | — | Open |
| 12 | 09:40:17 | 99,252.057237 | — | Open |
Each roll opens a new rung and pays the same 0.25% issue fee as the deposit did — nothing on top — so each cycle promises that much less.
8 rolls by the keeper, 0 signatures from the treasurer after the deposit.
A second schedule, redeemed by its owner
399,000.169032forecast before redemption
399,000.169032received
0difference
Amounts in the deposited token’s units. Up to 11 dates fit in one signature; a 12th breaks the transaction size limit.
A shortfall is paid in one order, and you see it before it is paid.
- 1The protocol buffer — filled by fees and by any yield above the promise.
- 2If the buffer is empty, every rung of that date is cut by the same ratio.
Paid less than promised, unmarked, is not a state the program can be in: the rung becomes redeemed with deficit, and the dashboard shows the amount that will actually arrive before you redeem.
Simulated rate paths, including the rate halving
400paths
303paid in full
97marked short
0short and unmarked
Simulated — this proves the rule, not how a real market behaves.
Three parties, and what each can and cannot do.
Treasurer
Open the schedule in one signature. Redeem a matured rung. Turn rolling off at any time, without touching rungs already issued.
Be assumed to hold one key — the owner can be a multisig.
Keeper
Run by anyone. Settle matured dates and roll the rungs of schedules set to roll.
Send money anywhere: a roll has no destination parameter — the new rung lands in the same schedule, with the same owner.
Operator
Set the rate of each date. The rate, who set it and when are on screen before you sign.
Be a market price. This is a deliberate point of trust.
A full cycle — open across 4 dates, 4 redemptions
45,000lamports in network fees
$0.011at $250/SOL
Account rent is separate and not returned today: 0.0093 SOL per 4-date schedule, 0.0019 SOL per roll.
Terms you accept.
- 1No early exit. Money is locked until its date. There is no way to get it out sooner today.
- 2The rate comes from a set adapter, not from Kamino. The schedule cannot tell them apart; the live source is the next milestone.
- 3The operator sets the rate. The program enforces the promise, not that the promise was a fair price.
- 4Early dates are thinly protected. The buffer starts with fees only.
- 5Rent is not returned yet. Closing a finished schedule to get it back is planned, not built.
- 6Not audited. The demo never goes to mainnet.
- 7No multisig run yet. The design allows a Squads safe as owner; no run has used one.