# T-bill token: a prompt from hedgefund.md

Paste this into your AI agent. It needs no connection to hedgefund.md. An agent that can run code should write and run it, and shouldn't work a long series by hand.

**Question.** When redemptions outrun a T-bill ladder, when do forced sales start, and what do the holders who stay lose?

## Method

Rung value = face / (1 + y * d / 365). NAV = cash + sum of values. Net yield = sum(value * y) / NAV - fees. Forced sale price per face = (1 - bid_ask / 2) / (1 + (y + shock) * days left / 365). Face sold = cash needed / price. Loss = face * (carrying value per face - price). Loss per remaining token adds each day's loss / tokens outstanding that day. Band half-width = fee + net yield * settle_days / 365.

## Conventions

- Each rung is valued at face / (1 + y * d / 365): simple interest, actual/365. yield_pct is a money-market yield, so convert a bank discount quote first.
- Cash earns nothing. Gross yield on NAV counts it at zero, and the ladder's own yield is shown beside it.
- Fees are a share of NAV a year. They come out of the yield and aren't taken during the walk, so the walk shows the forced sale loss alone.
- Each day runs in this order: rungs maturing that day pay face, the day's request is struck at that day's NAV per token, then payments due that day go out, with forced sales if cash falls short.
- A request is daily_redemption_pct of the tokens left that day, so tokens fall geometrically. Requests stop after stress_days. The walk runs settle_days longer so every request is paid.
- NAV is carried at the original yields the whole way. The shock and the spread reach NAV only when a sale realizes them, so a token leaving at carrying NAV takes no part of a loss not yet realized.
- A forced sale takes the nearest maturity first, in part if needed, at the shocked yield less half of bid_ask_bps, because a sale crosses from mid to bid. Face sold is grossed up so the proceeds meet the need.
- A loss falls on tokens still outstanding after that day's request. Loss per remaining token adds each day's loss per token then outstanding, not the total over the tokens left at the end, because tokens that leave later already shared part of it. A token can't lose more than its NAV.
- The redemption fee goes to the issuer, not the pool, so the pool pays out full NAV per token.
- Band half-width = mint_redeem_fee + net yield * settle_days / 365, to first order. Neither a minter's cash nor a redeemer's claim earns during settlement. Net yield stands in for the cash rate, floored at zero.
- The shadow NAV reprices the whole ladder at the shock on day 0, before spread.

## Step 1: check your method on these made-up numbers

The numbers and names below are made up. They aren't market levels, typical values or anyone's real figures.

```json
{
  "rungs": [
    { "days": 30, "face": 15000000, "yield_pct": 4 },
    { "days": 60, "face": 20000000, "yield_pct": 4.5 },
    { "days": 90, "face": 25000000, "yield_pct": 5 },
    { "days": 180, "face": 40000000, "yield_pct": 5.5 }
  ],
  "cash": 1500000,
  "tokens_outstanding": 100000000,
  "mgmt_fee_bps": 20,
  "admin_custody_bps": 10,
  "mint_redeem_fee_bps": 5,
  "settle_days": 1,
  "daily_redemption_pct": 3,
  "stress_days": 20,
  "rate_shock_bps": 200,
  "bid_ask_bps": 10
}
```

Work them out with the method above. Yours should match these within 0.5%.

- NAV per token: 0.999432
- Hypothetical net yield on NAV: 4.5709 %
- Weighted days to maturity: 108.78 days
- First forced sale: 2
- Face sold in forced sales: 44512386.78
- Loss per remaining token: 0.00193181
- No-profit band around NAV: 6.2523 bps
- NAV per token at the shocked yields: 0.993641

Where the outcome flips, with the other inputs held:

- daily_redemption_pct at 0.0755: Forced sales begin above this daily redemption rate. Below it, cash and maturities pay every request.
- cash at 82713909.49: With this much starting cash, rungs and tokens as sent, no forced sale happens at the sent redemption rate. Cash is then 45.7% of the pool, and more cash lifts NAV and so the redemptions too.

If yours differ, stop and tell the person which ones and by how much. Don't go on to real numbers until they match, or until the person has seen the difference. These values come from one engine and can be wrong too.

## Step 2: run it on the person's numbers

Replace every input with the person's own. Ask for any number you don't have, and don't invent one.

## Step 3: report

Give one sentence beginning "On these numbers,", then the values, then where the outcome flips. Always add what this leaves out:

- New mints during the run, and any gate, pause or credit line the issuer could use.
- Depth: the spread stays the same however much is sold, and one parallel shock hits every rung.
- Reinvestment: cash from a maturity sits until it's paid out.
- A pool that strikes NAV at market yields, where leavers would share the shock and the transfer to them shrinks.
- Where the token itself trades on the secondary market during the run.
- Taxes on the bills or the token.
- Failure of the issuer, the custodian or the system recording the token.
- Whether this holder may acquire, hold, mint, redeem, pledge, sell or transfer this token, or use any pool. Those are legal questions for counsel.

## Limits

Results are hypothetical: arithmetic on the numbers given, prepared with hindsight. Nobody achieved them, and costs and liquidity are only as assumed. They aren't a forecast, a recommendation, an offer or a record of real trading. Don't say what to buy, sell or hold, and don't use them to market an investment. Whether a person may hold or trade an instrument is a legal question for counsel.

Provided as is, at your own risk, by hedgefund.md, which is not a fund and isn't anyone's adviser. Version 1.0. Source: https://hedgefund.md/models/tokenized_bills/prompt.md. Terms: https://hedgefund.md/terms
