Credit priced by the market,
not by a formula.
Montane Swap lets anyone issue debt notes, trade them on a fully onchain order book, and bet on their price. Each borrower's health is marked to the market price after every fill.
The problem
Pools, not markets
Onchain borrowing means a shared pool with a rate set by a utilization curve.
Oracle-judged risk
Liquidations depend on an external price feed the borrower doesn't control.
No paper of your own
You can't issue your own debt, and nobody can price it on a real book.
How it works
- 1
Issue
Post USDC, mint notes. Each note is a promise to pay 1 USDC. Collateral must cover at least 1.10× the face.
- 2
Trade
Notes list on an onchain order book. Buy them on the long book, or bet on their price on the cash-settled short book.
- 3
Mark
Every fill sets the mMonad price. Every cell's health is re-marked to that price, live.
- 4
Settle
After 24h: a healthy issuer repays, a stressed cell is taken over by a hunter. Holders are paid at par.
Health, priced live
H = G / (F × Pmid)
G = collateral · F = notes owed · Pmid = mMonad price = (last long fill + last short fill) / 2
The issuer owes notes. When buyers want notes, the price rises and the debt gets more expensive, so health falls. When shorts push the price down, health recovers. The borrower feels every trade, like real credit.
| Example cell: G = 115, F = 100 | P_mid | H | Season |
|---|---|---|---|
| Calm market | 1.00 | 1.15 | Verdant |
| Longs buy aggressively | 1.06 | 1.08 | Frostbite |
| Shorts push back | 1.02 | 1.13 | Verdant |
Verdant: H > 1.10. Frostbite: H ≤ 1.10. Mint itself requires G/F ≥ 1.10, so every note starts fully backed at par.
Life of a cell
0h
Mint
Notes are listed as a long ask at 1.005. A Season market opens for the cell.
0–24h
Trade
Longs and shorts move the price and the health. Hunters can lock a bond on a Frostbite cell.
24h+
Settle
Verdant: the issuer repays and holders redeem at par. Frostbite: a hunter takes over and the cell is recapitalized.
The 24h clock starts at the first sale (else at mint). Note holders are paid at par in both outcomes, pro-rata only if the cell is underwater.
Who uses it
Issuer
Raises USDC against collateral.
Keeps the seat while healthy, earns 10% of the losing Season pot.
Note buyer
Wants a dated claim on USDC.
Holds notes redeemable at 1 USDC each after maturity.
Short
Thinks notes are overpriced.
Profits when the note settles below the entry price.
Hunter
Wants a cheap issuer seat.
Recapitalizes a Frostbite cell and takes it over.
Season bettor
Has a view on a cell's health.
Bets Verdant or Frostbite, winners split 80% of the losing side.
Revenue
| Source | Protocol takes | Note |
|---|---|---|
| Issuance | 25 bps of face | 1 bp if the same issuer remints within 48h of repaying |
| Trading | 5 bps taker fee | Long and short books |
| Winter levy | 1% of the hunter's bond | Only when the hunted cell is underwater (H ≤ 1) |
| Season | 10% of the losing pot | Another 10% goes to the cell's issuer |
All fees are collected onchain into the treasury.
Why Monad
A real order book matches every order onchain: placing, filling, cancelling, and re-marking every cell's health after each fill. On a slow or expensive chain that forces an offchain matching engine. Monad's fast, cheap blocks let the whole book live onchain, with no operator in the middle.
Safety rails
0.10 spread
Long orders ≥ last short + 0.10, short orders ≤ last long − 0.10. The books never cross.
1% print floor
Fills under 1% of a cell's face don't move the price, so dust trades can't steer health.
Short cap
Open shorts per cell are capped at half its face.
±20% price band
One order can move the price at most 20%. Enforced in the UI today, in the contract on mainnet.
Guardian pause
An emergency pause, no discretionary price controls.
Reference
Full rules for each part of the protocol. Click to expand.
›Issue a cell
Anyone with USDC can mint. Mint requires G/F ≥ 1.10 so every note stays backed at par. First mint fee is 25 bps. If you repaid and remint within 48h, the fee is 1 bp (roll).
On mint the cell's notes (mMonad id = cell id) are escrowed in the market and listed as a long ask at 1.005 for the full face. The short book starts empty.
Retire: before maturity the issuer can buy notes back on the long book and burn them. Face F shrinks and H rises.
›Long book and the mMonad price
Books are long and short. Buying long is not selling short; the books never cross. Fills happen at the maker's price. Taker fee is 5 bps. The long book trades real notes of one cell; orders only match within the same cell.
P_mid is the average of the last long fill and the last short fill, across all cells. Every qualifying trade moves it, and with it every cell's H.
›Short book (cash-settled)
The short book is a cash-settled bet on a cell's note price, quoted as a price e below 1.00. Every unit locks exactly 1 USDC: the short puts in 1 − e, the writer puts in e.
At maturity the settlement price v is the cell's note TWAP, capped at 1.00. On a thin book (under 3 fills or under 10% of face traded) v is the cell's redemption value instead. The short receives 1 − v and the writer v, so the short profits when notes trade below e. Holding both sides of one cell nets out at 1 USDC per unit, which is the early exit.
Short trades never touch G, F or the notes. Open short units per cell are capped at half the cell's face.
›Price band: UI today, contract on mainnet
The spread rule gives each book only one edge. Longs have a floor but no ceiling, shorts have a ceiling but no floor. Without a cap, one order could jump the price: with mMonad at 2.00, a long bid at 50 could print 50, collapse every cell's H and decide Season outcomes in a single trade.
The trade desk applies a ±20% band: long orders up to last long + 20%, short orders down to last short − 20%. Prices can still trend over several trades; the band removes the one-shot jump.
Testnet limitation: the band lives in the frontend only. The deployed CreditMarket enforces just the 0.10 spread, so a direct contract call can bypass it. We kept the testnet bytecode frozen during the hackathon.
Mainnet: the check moves into placeOrder and fillOrder next to _inSpread, with a PriceOutOfBand error and a configurable width. The reference stays the last print, which already ignores fills under 1% of face.
›24h maturity
The clock starts at first sale (else mint) + 24 hours, plus a minimum block delay. Until then the issuer cannot repay and holders cannot redeem. After it, any holder can redeem notes at par straight from the cell (pro-rata if H < 1), and the short book settles. The Cell page shows a live countdown.
›Hunt and novation
Hunting is Frostbite-only (H ≤ 1.10). Before maturity it is a request that locks bond B. At maturity: if the cell recovered to Verdant, the bond is slashed to the issuer; if still Frostbite, the cell novates to the hunter. After maturity a hunter can novate at once.
On novation the bond is added to the cell's collateral and the hunter takes the issuer seat, including unsold notes. The previous issuer loses their margin. Note holders are unaffected; the cell is now better collateralized. One wallet can be the issuer of only one active cell.
›Repay
Issuer-only, Verdant (H > 1.10), after maturity. Repay reserves 1 USDC for every outstanding note (or all of G if less), fixes the short-book settlement price, refunds resting orders and returns the rest of the collateral to the issuer. Every holder then redeems their notes at par from Portfolio.
›Season
An optional market bound to one cell. For the first 12h after the cell opens, buy only VERDANT or only FROSTBITE at $1. Hedge packs (equal V + F) stay open until maturity.
At maturity VERDANT wins if the cell's marked H is above 1.10; otherwise FROSTBITE wins. The settling P_mid and H are stored onchain. The losing pot splits 10% treasury, 10% issuer, 80% winners. With no losers, everyone gets 1:1 back.
Because P_mid moves with every fill, a Season is a live contest: long buyers push cells toward Frostbite, shorts push them back to Verdant. Anyone who thinks the price is wrong can trade against it.
›Portfolio
Portfolio shows your USDC and mMonad marked to market, issued debt, cells where you are issuer or holder (with marked H), notes to redeem, resting orders, short positions with settle and claim, and Season positions with cost, mark and PnL.
Glossary
- mMonad
- The debt note: an ERC-1155 where token id = cell id, so notes of different cells never mix. Each is a claim on 1 USDC of that cell at maturity. Not the Monad gas token.
- Cell
- One issuer position: collateral G and face F (= mMonad supply of that id).
- Verdant
- Healthy cell: marked H > 1.10.
- Frostbite
- Stressed cell: marked H ≤ 1.10. Hunting opens; repay is blocked.
- P_mid
- The mMonad price: (last long fill + last short fill) / 2, one price for all cells.
- Note TWAP
- Time-weighted long-note price of a cell; settles its short book.
- Novation
- A hunter takes over a Frostbite cell by adding a bond to its collateral.
- Retire
- Issuer buys notes back and burns them, shrinking F before maturity.
- Redeem
- Holders burn notes for USDC at par after repay or maturity.