How the premium is priced¶
In one paragraph
PUTGO has no order book and no market-maker quotes. Each market's premium rate is set by a single number: the utilization of that market's Money Pool, the share of the pool's USDG already reserved for live protection. Utilization is mapped to a rate per 7 days along a public line with one kink: cheapest when the pool is empty, rising gently up to the kink at 90%, steeply over the last 10%, and refusing new purchases at 100%. The rate you pay is the curve's output at the instant you buy, and it is locked from then on. The premium is taken from the deposited amount in the asset and rounded up; the pool reserves "protected amount × floor price" in USDG for you, utilization rises, and so does the price the next buyer sees. This page explains why every part of that curve is the way it is.
Utilization is the only price signal¶
USDG in a Money Pool is in one of two states: reserved, standing behind a live protection; or unreserved, available to back new protection or to be withdrawn by depositors. Utilization is the ratio of the two:
In words: utilization is the part of the pool that has already been promised. An empty pool counts as 0; shares waiting out the withdrawal delay still count in the pool's USDG, because they still carry risk until the delay ends.
Why price on this? Because in PUTGO only one thing is scarce: unreserved USDG. Every protection must be fully reserved at the moment it is bought; the pool cannot "sell first and fund later". As unreserved USDG runs down, new protection becomes harder to carry and its price should rise; as protection expires or buyers exit early, reservations are freed and the price should fall back. Utilization measures that scarcity directly, and it is a single number readable onchain at any time and verifiable by anyone, with no dependence on any offchain quote.
This is also why there is no order book. An order book needs both sides to keep placing and cancelling orders, forms its price by matching, and asks participants to understand strikes and watch the screen. PUTGO pools depositors' capital and hands pricing to a function published in advance: a buyer looks at one rate, a depositor looks at one utilization. Who pays whom, and why this price, is covered in full in Price protection as a product.
Utilization is taken before your purchase
Your rate is computed from utilization before your own reservation is added. Your purchase pushes utilization up, but that increase is paid by the next buyer, not by you.
The single-kink rate curve¶
Each market has its own curve, defined by three points:
| Point | Utilization | Rate |
|---|---|---|
| Start | 0% | start rate |
| Kink | 90% | kink rate |
| End | 100% | end rate; purchases are refused at 100% |
Between two points the rate is interpolated linearly:
In words: from 0% to 90% the rate moves at a constant pace from the start to the kink; from 90% to 100% it moves at a constant pace from the kink to the end. The current values of the three points are on Markets and parameters; the figures below use an illustrative curve: start 0.8%, kink 1.6%, end 4.0%.
| Utilization | Rate on the illustrative curve (per 7 days) |
|---|---|
| 0% | 0.80% |
| 30% | 1.07% |
| 45% | 1.20% |
| 60% | 1.33% |
| 90% | 1.60% |
| 95% | 2.80% |
| 99% | 3.76% |
| 100% | purchases refused |
Why the kink is at 90%. The first 90% of the curve is the "normal operating range": the rate rises mildly with utilization, keeping protection cheap for early buyers while letting depositors earn progressively more as the pool gets busier. The last 10% is the "scarcity range": the unreserved USDG left here is both the last capacity for new protection and the only part depositors can withdraw immediately. The rate climbs steeply over this stretch so that the last capacity goes only to the buyers most willing to pay, and so that the depositors who stay in the pool at that point are compensated with a higher premium.
Why 100% refuses. Utilization of 100% means there is no unreserved USDG at all. There is nothing to reserve for a new protection, and any "sell now, sort it out later" approach would leave some protection without full collateral, breaking PUTGO's basic commitment: protection you buy is always for the full amount and is never diluted. At this point the curve has no "price", only a refusal. The remaining capacity shown on the page is 0.
Why linear interpolation, and why round up¶
The curve could have any shape. Straight segments were chosen for three reasons:
- You can do it in your head. Given the three points and the current utilization, anyone can work out the rate on paper without trusting the front end.
- Monotone, no surprises. A little more utilization always means a little higher rate, never the reverse; there are no hidden parameters between the two segments.
- Auditable. The weekly recalibration changes only the three points (see Volatility, fair premium and weekly recalibration); the shape never changes. You can put any week's three points into the same formula and check.
The premium amount is computed as:
In words: the premium is the deposited amount times the rate, rounded up to the asset's smallest unit; what remains is the protected amount. The direction of rounding is not arbitrary: the pool takes on a full delivery obligation, so the premium it receives should not fall short of what the rate calls for because of rounding. The rounding remainder is at most one smallest unit, negligible for the buyer, but it preserves an identity that always holds: deposit = premium + protected amount.
The USDG reserved for you is rounded up in the same way; see the next section. The complete list of rounding conventions is in Design notes.
Capacity and reservation: why the reserve is at the floor¶
Once a purchase succeeds, the pool reserves for that protection:
This is exactly the most the pool can have to pay at delivery: if the official price at expiry is at or below the floor, the pool converts the whole protected amount into USDG at the floor, and that is precisely this amount. Not one unit more is reserved, because the floor is the ceiling of the pool's obligation; not one unit less, because a shortfall would mean funding a delivery out of someone else's reservation. The reservation is locked the moment you buy; at expiry it is paid out to you on delivery or freed on release, and it is freed immediately if you exit early. This is why the Settlement page can say that delivery is always funded.
From this follows the remaining capacity shown on the page:
In words: how much of the asset the unreserved USDG can stand behind at the current floor, rounded down. It is shown as an amount of the asset because that is what you enter. When the reservation for the amount you enter exceeds the unreserved USDG, the purchase is refused and the page shows this remaining capacity; you can buy a little less, or wait.
Illustration: capacity
The NVDA pool holds 1,000,000 USDG, of which 450,000 is reserved and 550,000 unreserved. The current price is 220 and the floor 209. Remaining capacity = ⌊550,000 ÷ 209⌋ = 2,631 NVDA. That is the largest new protection available at this moment (measured as protected amount).
How a purchase moves utilization¶
Every purchase does the same thing: read utilization, compute the rate, deduct the premium, reserve USDG. After the reservation utilization is higher, and so is the rate for the next buyer.
Illustration: a small purchase
Continuing the example above: utilization 45%, rate on the illustrative curve = 0.8% + (1.6% − 0.8%) × 45 / 90 = 1.20%. You deposit 10 NVDA: premium 0.12 NVDA, protected amount 9.88 NVDA, reserve 9.88 × 209 = 2,064.92 USDG. Utilization becomes 452,064.92 ÷ 1,000,000 ≈ 45.21%, and the next buyer's rate is about 1.2018%. A small purchase barely moves the price.
Illustration: a large purchase
Starting again from utilization 45% and a rate of 1.20%, someone deposits 1,000 NVDA: premium 12 NVDA, protected amount 988 NVDA, reserve 988 × 209 = 206,492 USDG. Utilization jumps to about 65.65%, and the next buyer's rate is about 0.8% + 0.8% × 65.65 / 90 ≈ 1.38%. The large buyer still pays 1.20%, because the rate is computed from utilization before the purchase.
The second example shows one thing: a single purchase is not charged an "average rate"; it is priced once, at the utilization at entry. A large purchase pushes the price up for those who come after, which is one of the costs of keeping the curve simple; Design notes discusses the trade-off.
The reverse holds too: when a protection is released or delivered at expiry, or a buyer exits early, the reservation is paid out or freed at once, utilization falls and the rate comes down. Every change in utilization corresponds to an event visible onchain.
Quotes versus confirmation¶
As you enter an amount, the product page shows a live quote: the current rate, the floor price, the protected amount and the expiry time, all computed from the official price and the pool state at that moment. A quote is not a contract. The numbers that actually apply are recomputed at the instant your purchase transaction executes:
flowchart TD
A[Enter the deposit amount] --> B[Read the official price<br/>check freshness]
B --> C[Read utilization]
C --> D[Rate · premium · floor<br/>protected amount · reserve]
D --> E{Minimum notional?<br/>Remaining capacity?<br/>Not paused?}
E -- any check fails --> F[Refused, reason shown on the page]
E -- all pass --> G[Premium deducted, USDG reserved]
G --> H[Utilization rises<br/>next buyer's rate rises]
Between the moment you see the quote and the moment the transaction executes, three kinds of thing can happen:
- Someone buys before you: utilization rises and your rate is slightly above the quote.
- A protection expires, is delivered or is exited: utilization falls and your rate is slightly lower.
- The official price updates: the floor moves with it (the floor is always a fixed fraction of the official price at execution); the protected amount is unchanged, but the reserved USDG changes.
The deviation in the rate is bounded: below the kink, each 1 percentage point of utilization moves the rate by only (kink rate − start rate) ÷ 90, about 0.009 percentage points on the illustrative curve. Only in the scarcity range of the last 10% does the same change in utilization bring a much larger change in rate. Refreshing the quote right before you buy and checking the protected amount once more on the confirmation card is the most direct safeguard.
Maximum acceptable rate
The testnet app already applies an automatic ceiling: the quoted rate plus a small margin, shown on the confirmation card as "Max rate you accept". If the rate at execution is above it, the transaction fails rather than going through at the higher rate (see the Testnet guide). Whether a buyer-chosen ceiling becomes a product rule is not yet decided; until then, the figures on the confirmation card are the ones that apply.
When a purchase is refused¶
If any of the following conditions fails, no purchase happens and your asset never leaves your wallet:
| Condition | Message on the page |
|---|---|
| The official price was updated within the allowed window (see Markets and parameters) | Price is stale |
| The deposit, valued at the official price, is at least the minimum notional per purchase | Below minimum purchase |
| The reserved USDG does not exceed the unreserved USDG | Not enough capacity, with the remaining capacity shown |
| Utilization is below 100% | Remaining capacity is 0 |
| The market is not paused | Purchases paused |
These checks are made within the same transaction; there is no intermediate state of "deducted first, refunded later".
Full examples¶
Current price 220 USDG, utilization 0%, rate on the illustrative curve 0.80%. You deposit 10 NVDA.
- Premium = ⌈10 × 0.008⌉ = 0.08 NVDA
- Protected amount = 9.92 NVDA
- Floor = 220 × 95% = 209 USDG
- Reserve = 9.92 × 209 = 2,073.28 USDG
Expiry price 231: you get 9.92 NVDA back. Expiry price 198: you get 2,073.28 USDG.
Current price 220 USDG, utilization 95%, rate on the illustrative curve = 1.6% + (4.0% − 1.6%) × 5 / 10 = 2.80%. You deposit 10 NVDA.
- Premium = ⌈10 × 0.028⌉ = 0.28 NVDA
- Protected amount = 9.72 NVDA
- Floor = 209 USDG
- Reserve = 9.72 × 209 = 2,031.48 USDG
Same floor, and a premium 3.5 times that of the empty pool. That is what the scarcity range means.
Current price 10 USDG, utilization 0%, rate on the illustrative curve 2.0%. You deposit 1,000 UNI.
- Premium = 20 UNI
- Protected amount = 980 UNI
- Floor = 10 × 90% = 9 USDG
- Reserve = 980 × 9 = 8,820 USDG
Expiry price 11: you get 980 UNI back. Expiry price 8: you get 8,820 USDG.
All figures are illustrative; each market's current three points, floor ratio and minimum notional are on Markets and parameters.
Key takeaways¶
- The premium rate is set only by the utilization of that market's Money Pool: reserved USDG ÷ all USDG in the pool.
- The curve is a three-point line with one kink (0%, 90%, 100%), linearly interpolated between points; 100% refuses purchases.
- Your rate is computed from utilization before your purchase and locked at purchase; later curve changes do not affect you.
- Premium = deposit × rate, rounded up; protected amount = deposit − premium.
- The pool reserves "protected amount × floor price" in USDG for every protection, rounded up; that is exactly the maximum payout at delivery.
- Remaining capacity = unreserved USDG ÷ floor price, rounded down; anything beyond it is refused rather than partially filled.
- The quote on the page is computed now; the real rate is recomputed when the transaction executes. The deviation is small before the kink and can be large in the last 10%.
- The three points of the curve are recalibrated weekly by volatility, see Volatility, fair premium and weekly recalibration; the depositor's view is in Money Pool economics.