Repository navigation
Releases
v0.2.0 — leave on any day
A position can now be closed before maturity, in full or in part, and the USDC
comes back in the same transaction. The exit is paid from a backstop pool the
protocol funds, not from other depositors. The visitor sees the price to leave
before signing, and the transaction refuses to pay less than that price by more
than 0.1%.
What the release covers (US2):
- the exit screen breaks the quote down before the signature: current value
of the position, the management fee owed so far, a spread proportional to
the weighted remaining duration, and the amount that will arrive - a partial exit takes the same share of every rung, so the ladder keeps its
proportions; the client quotes it with the same arithmetic the program
runs, checked against one shared set of fixtures in Rust and TypeScript - the signed transaction carries a payout floor. A quote that moved too far
by the time it lands is refused (QuoteDrift), and a pool too small to pay
refuses the exit whole (BackstopInsufficient) instead of filling part of it;
the screen offers the largest share the pool can cover - after the signature the screen shows what was received next to what was
quoted - every exit emits LadderExited with the rating and price each rung left at
- the backstop is funded by the vault admin and cannot be withdrawn below
the principal of open positions - a landing page at the site root explains the deposit, the statement and
the exit, and lists what the demo does not do; the app moved to /app/ and
old links redirect
Also in this release:
- the deposit now waits for the network to confirm it. Before, "Position
opened" appeared as soon as the wallet sent the transaction, the wallet
balance on screen stayed stale, and a deposit sent right after a fresh
custody setup could fail in simulation. Both transactions are now
confirmed before the screen moves on, and the balance is read back from
the chain. - the repository carries the Apache-2.0 license text it already declared.
Measured on devnet over the public endpoint the deployed site uses, 100 exits
of different sizes (25 deposits, each left in 10%, 25%, 50% and 100% steps,
with a 20-second pause between quote and signature):
SC-003 signature to USDC in the wallet 4.07 s worst, 1.22 s median, of 10 s
SC-006 largest quote-to-payout gap 8 micro-USDC on a 222.50 quote
(0.036 ppm) of 0.1%, 0 refused
What this release does not do, and it matters:
- the ladder does not roll. Nothing reinvests a matured rung, so after the
first maturity it stops being a ladder. - nothing reacts to a downgrade, and the maintenance keeper is not running.
- the backstop pool on devnet is finite and demo-funded. Large exits can be
refused until it is topped up. - the ratings and the issuers are ours. There is no Moody's or AlphaLedger
feed, the instruments are minted by our own demo issuer, and the route is
deterministic — so a quote matching its payout proves the arithmetic, not
behaviour on a real market. - no audit, and no regulatory compliance of any kind.
Not real securities, ratings, or offers.
v0.1.0 — a ladder you can open and read
A wallet opens the link, deposits demo USDC against a risk profile, and sees
the ladder it now holds. Nothing in the demo needs access to our systems: the
catalogue, the ratings, the vault and the position are all read from Solana
devnet, and the deposit is signed by the visitor.
What the release covers (US1):
- the composer reads the deployed catalogue by scanning the programs, joins
every instrument with the rating the program would read beside it, and
shows the whole term sheet before the signature — including how many whole
units each rung buys and the indivisible tail that stays in the wallet - the deposit is one transaction, and the program checks every constraint of
the proposal again rather than trusting the client - the statement reads the position back: composition, remaining term,
weighted rating, and the accrued management fee on a line of its own, with
every other figure net of it - the app is served from GitHub Pages out of this repository
Measured on devnet, worst of five samples, over the public endpoint the
deployed site uses:
SC-001 term sheet visible 850 ms of 3000
SC-002 deposit confirmed 580 ms of 5000
SC-008 dashboard on screen 936 ms of 2000
SC-004 threshold breaches over 200 generated catalogues 0
SC-005 units lost to rounding over 1000 deposits 0
What this release does not do, and it matters:
- there is no way out of a position. Money goes in and does not come out:
SC-003 and SC-006 are not merely unmeasured, they are unreachable by
construction, and there is no backstop pool yet. - the ladder does not roll. Nothing reinvests a matured rung, so after the
first maturity it stops being a ladder. - nothing reacts to a downgrade. The position carries the flag; no
instruction sets it. - the ratings and the issuers are ours. There is no Moody's or AlphaLedger
feed, the instruments are minted by our own demo issuer, and the route is
deterministic — so slippage and market depth do not exist as phenomena
here, rather than being small. - no audit, and no regulatory compliance of any kind.
Not real securities, ratings, or offers.