Skip to content

Releases

v0.2.0 — leave on any day

Choose a tag to compare

@bondladder bondladder released this 14 Oct 14:03

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

Choose a tag to compare

@bondladder bondladder released this 23 Sep 19:19

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.