> For the complete documentation index, see [llms.txt](https://docs.gage.cash/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.gage.cash/start-here/ratings.md).

# Suggested fixed costs

Indicative fixed-term pricing: how the suggested cost and the borrowing amount are chosen together, what evidence the model uses, and the Loan grade a listing shows.

The borrow form selects a borrowing amount and a suggested total cost together when fresh market evidence is available. You can edit the percentage directly; on the borrow card the Loan grade ladder's **A** returns to the latest suggestion. The percentage is the total cost for the term, not an annual interest rate. The origination fee is shown separately.

The suggestion depends on the collateral, repayment amount, term and available market evidence. A market-row example uses 1,000 USDG of collateral and shows both fixed cost and principal LTV. Principal LTV is the loan principal before fees divided by collateral value; it is lower than the repayment share because repayment includes the fixed cost. Selecting your actual amount can produce a different rate. An LP needs its exact position and range; a generic pool example does not price every NFT.

The indicative model combines observed price swings, persistent spot trading volume, quoted onchain exits and, for memes, observed ownership concentration. Standalone memecoins and RH ecosystem tokens use hourly price history, peers matched partly by volume relative to market cap, and the persistence of reported trading. Since 17 October 2026 their 7- and 21-day costs count price falls alone, add one crash scenario, and a 21-day meme loan repays at most half the collateral's value. Quiet prices alone do not establish that collateral can be sold. Suggested LTV and cost may rise or fall. Stocks, commodities, WETH, LP positions and provisional launches retain their existing pricing policies. Known custody addresses are treated separately from individual holdings. Exchange spot history can inform price risk, but perpetual turnover is not executable onchain liquidity.

**Indicative suggestion** means the model remains experimental. It is not a guarantee of funding, repayment or collateral sale proceeds. While you adjust the amount, the figures stay visible and update as the quote refreshes. If the selected amount has no calculated estimate, the previous amount is clearly labelled. An unavailable or expired quote is shown as a previous estimate and cannot be submitted as a current suggestion; you can still enter your own percentage. There is no automatic 2.50% replacement or 5% ceiling.

Borrowing less can reduce the suggested cost. Adjusting the borrowing amount recalculates the suggestion; **Use suggested** restores the suggested amount. The preview chooses the bend in the amount–cost tradeoff, with a maximum suggested term cost of 50% and at least 5% principal LTV for automatic amounts. These are product selection rules, not a guarantee of safety. If no useful amount meets them, no automatic suggestion is shown. Your custom percentage can still exceed 50%.

**When there is no suggestion.** The service answers with a reason, never a fallback number. **Repayment exceeds the collateral's current value** refuses a repayment above what the collateral is worth today. When no share of the quantity you typed prices under the 50% cost limit and above the 5% principal-LTV floor, the borrow card says **No suggested cost for this much**: pledging less of the same token may price, and you can still enter your own cost. Missing history, holder or exit evidence leaves the suggestion unavailable.

Your submitted repayment terms remain fixed. Later market updates affect new suggestions and do not amend an existing offer or funded loan. The lender still decides whether to fund the offer.

### Loan grades on existing loans

The **Loan grade** compares the offered fixed cost with the current modeled cost for the same collateral, repayment amount and term, before rewards: A at 100% or more of the modeled rate, B at 90–<100%, C at 75–<90%, D at 50–<75%, and F below 50%. Hover, focus or tap the grade to see both percentages. This is a pricing comparison; it does not grade collateral safety.

Grades, the borrow grade ladder and Earn's grade floors use the model estimate **before rounding**. Borrowing suggestions are still rounded up to whole basis points (0.01 percentage points). For example, a 0.08% offer against a modeled 0.080574% is about 99.3% of the estimate and grades B; rounding the estimate to 0.09% first would incorrectly make it C. Comparison tooltips show the more precise estimate, approximately where needed. The loan's agreed repayment never changes.

An existing loan's comparison can show a finite modeled rate above 50%. The 50% limit applies to borrowing suggestions, so it does not hide an existing loan's comparison. Extreme finite values beyond integer precision are shown approximately in scientific notation, with an explanation that they are not practical borrowing suggestions. When the model cannot produce a finite supported estimate or current evidence is unavailable, **N/A** opens an explanation alongside the offered rate and term. A previously loaded grade stays visible during refreshes, with its timestamp and availability explained in the tooltip.

API clients can request this comparison through `/rates/suggest` with `purpose=comparison` and exact `collateral`, `repayment`, asset or pool, engine and `term` inputs. The response echoes the purpose in `input`; comparison responses are for displaying existing loan terms and must not be reused as automatic borrowing suggestions. Automatic sizing retains the 50% maximum.

`calculation.fixedTermCost` is the unrounded term cost as a fraction; multiply by 10,000 to compare in basis points. `costBps` is its whole-basis-point ceiling, used for executable suggestions. Clients should verify that the two agree before using the unrounded calculation. Older responses without a calculation use their integer estimate; a malformed or inconsistent calculation is unavailable.

**The Loan grade as a floor.** Every listing on the native engines carries its Loan grade. A partner vault funds a loan only at or above the Loan grade floor its manager sets in the vault's rules. The borrow card shows what this means for your loan: under each letter of its Loan grade ladder, how many partner vaults fund the loan at that cost, and a button that reads **Get X USDG** when one funds the whole loan now, or **List for X USDG** with the reason when none does. See [Partner vaults](/earn/partner-vaults.md).

The calculation uses the selected engine’s repayment deadline, including its grace period where one applies. The two V2 engines keep their 48-hour grace period; the current engine has none. Each loan keeps the settlement terms of the engine on which it was opened.

Suggestions do not change collateral eligibility, a partner vault's rules, rewards, withdrawal rules or the protocol's settlement mechanics. More volatile collateral, a longer exposure and limited executable liquidity can still make the indicative cost high. Model calibration and additional recovery evidence are required before these indicative suggestions can be described as validated credit prices.

## Pricing reference and notation

The full text is also available at [gage.cash/suggestedratesllm.txt](https://gage.cash/suggestedratesllm.txt). The borrow form's cost explanation shows a compact version of the cost equation on hover, keyboard focus or tap; the sizing rule is written out here.

Implementation reviewed: as of 17 October 2026. Price model: `gage-fixed-v16-preview` (memes: `meme-downside-ewma-v16`). Amount selection: `balanced-knee-unrounded-v2` for accepted recency estimates; `balanced-knee-v1` otherwise. Launch policy for a new token: `launch-liquidity-peers-v1`; for a token bridged from another chain, `launch-origin-history-v1`. This describes the deployed calculation, including its assumptions; it is not a table of permanently valid rates. All monetary values below are in USDG. Greek letters name quantities in the calculation; they do not establish that the model is calibrated to realized loan losses.

### 1. From repayment to a fixed term cost

For a chosen collateral position and repayment amount, the model values what the lender is expected to receive. It then converts that modeled advance into a fixed total term cost:

```
Πτ(K) = average modeled discounted lender payment over N scenarios
cτ(K) = K / Πτ(K) − 1
b = ceil(10,000 × cτ)
Praw = floor(Kraw × 10,000 / (10,000 + b))
ℓ = P / C
```

* C: collateral value today.
* K: agreed repayment, including the fixed cost.
* Πτ: modeled gross advance before rounding and the origination fee.
* cτ: fixed term cost as a decimal; b is that cost rounded up to basis points. One basis point is 0.01 percentage points.
* P: quoted loan principal after rate rounding, before the origination fee. ℓ is principal LTV.
* τ: loan term in days, either 7 or 21. g is the selected engine's grace period in days; h = τ + g is the modeled exposure horizon.

The lender's fixed cost is repayment minus principal, conditional on repayment. The borrower receives principal minus the separate origination fee. Receipt and contract integer arithmetic may reduce repayment by an atom. A displayed 4% for 7 days means 4% of principal over that term; it does not mean 4% APR. The optional simple annual equivalent would be cτ × 365/τ, without compounding, and is not an extra fee.

Submitted and funded terms stay fixed. New market observations update new suggestions. The model does not initiate liquidation or sell collateral. Its recovery assumptions value the lender's collateral claim after default; they do not promise a buyer or require the lender to sell.

### 2. Price swings, available history and ownership

Prices from supported DEX pools and exact mapped CEX spot pairs are converted into USDG. For each completed UTC day t, calculate each source's own consecutive log return and take the median:

```
rt = medianₛ[log(pₛ,t / pₛ,t−1)]
s² = Σt(rt − r̄)² / (n − 1)
ν = n − 1
```

The normal history model uses up to 30 contiguous completed daily returns and requires at least 3. A missing day stops the window, and so does a day on which no source traded any volume; no synthetic flat candles are inserted. Comparing each source with itself avoids a new exchange listing creating a false price jump.

To reduce the influence of a short, unusually quiet or noisy sample, the model estimates an inverse-gamma variance prior from other assets in the same roster lane, excluding the asset being priced. Peers must have fresh history ending on the same day. With at least three peers, α and β are fitted by maximizing their marginal likelihood, with α searched between 1.01 and 1,000:

```
σ²pooled = (β + νs²/2) / (α + ν/2 − 1)
wown = ν / [ν + 2(α − 1)]
```

This is empirical-Bayes variance shrinkage. With fewer than three usable peers, σ²pooled = s² and wown = 1. It imposes no separate meme or stock volatility floor. Lane membership selects the peer set; it is not a letter-grade surcharge.

For standalone stocks, commodities and WETH, and as the fallback for established long-tail tokens, with at least 14 returns the recency candidate keeps that same peer prior and replaces only the target's own sample variance and information count. The latest return has age 0:

```
wi = 2^(−agei/7) / Σj 2^(−agej/7)
μw = Σi wi ri
s²w = Σi wi(ri − μw)² / (1 − Σi wi²)
νeff = 1 / Σi wi² − 1
σ²recency = (β + νeff s²w/2) / (α + νeff/2 − 1)
```

With fewer than three usable peers, the candidate is s²w. The concentration multiplier below still applies after this estimate. The new weighting does not remove jumps, change the 30-return maximum or create a volatility floor. The fallback for tokens with 3–13 returns is the ordinary unweighted estimate. The long-tail candidate below also covers these short histories. The separate provisional launch policy stays in place. LP legs keep the ordinary estimate.

A token with at least 14 returns is always priced with the recency candidate, at 262,144 deterministic scenarios, whatever the collateral size, term or repayment envelope: the variance depends on the token's evidence alone. The amount selection is then checked at 65,536 and 262,144 scenarios. Both must select the same repayment grid point, and the costs at that point must differ by no more than 10 basis points; otherwise 262,144 is compared with 524,288 scenarios. If that still fails, the smaller of the two higher-resolution selections is suggested, and if either has no eligible amount, none is. The check changes only the suggested amount, never the variance or the cost of a given repayment. This same choice applies to automatic, selected-amount and exact-repayment quotes. This is a numerical consistency check, not evidence of calibrated credit losses.

For memes, the collector takes up to 100 rich-list candidates and verifies balances and total supply at one block. Burn balances leave both the numerator and supply denominator. Addresses in the versioned custody-label list leave the concentration numerator, while their tokens remain in the denominator. The list holds DEX pools, the shared Uniswap v4 PoolManager and reviewed permanent escrows whose tokens cannot be withdrawn within any loan term (UP's voting escrow). Governance, treasury and emission contracts that hold transferable tokens are not on it. Unknown addresses remain included. The ten largest remaining observed balances define χ:

```
χ = sum(top 10 remaining candidate balances) / (total supply − burned supply)
χ̃ = median χ across the fresh meme holder cohort
mχ = 1 − η + ηχ/χ̃
σ² = σ²pooled × mχ                 η = 0.5
```

At median concentration, mχ = 1. Below it, the estimated variance is reduced; above it, variance increases. Since 17 October 2026 meme 7- and 21-day costs no longer use mχ (see "Meme prices since 17 October 2026"). Even zero measured concentration would reduce variance by only 50% under this assumption. This changes variance, not the final cost by a matching percentage. For stocks and ETH, the multiplier is 1. Memes require their own fresh holder evidence and a usable cohort median.

Time since launch is not a direct discount. It matters through the amount of usable history and the weight given to it. Market cap enters long-tail peer selection and the exposure screen below. Total holder count, holder growth and CEX listing count are not direct pricing coefficients. A young or tiny token does not earn a cheap rate merely because its short chart looks quiet. Candidate sampling, unknown custody and wallets under common control limit what the concentration statistic can establish.

### Provisional suggestions for a new token

A reviewed new token can show **Provisional** beside its suggested cost while it builds its first three completed daily returns. Open the suggestion tooltip to see how much own history is available. This is a separate launch scenario; it does not treat a few hours of trading as three days of observations.

The launch policy (`launch-liquidity-peers-v1`) uses the 75th percentile of sample daily variance across three to five other same-lane assets with fresh history ending on the latest completed UTC day. Peers must have reported DEX pool liquidity between one tenth and ten times the new token’s reported liquidity; the five closest in log liquidity are used, or all qualifying peers if there are fewer. With fewer than three, no provisional suggestion is produced. Selection uses liquidity before looking at returns. Reported liquidity selects comparables; it never replaces the actual exit quote. The similarity band and upper quartile are provisional policy assumptions, not fitted credit-loss parameters. The token's own variance has zero weight until normal history is available. Fresh holder evidence is still required; higher measured concentration can increase variance, while lower concentration gives no provisional discount.

For recovery capacity, the model takes the smaller of the exact reviewed pool's observed last-hour volume and the lower quartile of peers' persistent daily onchain volume. The last hour is counted only once as a daily capacity allowance; it is not multiplied by 24. USD volume is converted using the latest completed USDG daily close. At least one full hour since the reviewed pool's launch is required. This is an explicit conservative scenario assumption, not a measurement of STANDARD's persistent daily volume. Total holder count and headline liquidity do not set the borrowing cost.

The usual size-specific exit quote, current exposure, 50% retained-depth assumption and selected engine's deadline still apply. Origination fees remain separate. Borrowing amount and cost are selected together, so compare principal LTV as well as the percentage.

A token that already trades on another chain and is bridged onto Robinhood Chain can declare that origin market in its reviewed entry (`launch-origin-history-v1`). During the same launch window, its variance comes from the origin market's own completed daily history, read from the reviewed origin pools. Those returns go through the same same-lane pooling and 7-day recency weighting as an established token, and the same no-discount concentration rule applies. The peer requirement, the last-hour recovery allowance, the Robinhood Chain exit quote and the eligibility boundary are unchanged. Origin-chain volume and depth never count, because the borrower's collateral can only be sold on Robinhood Chain. Without fresh origin history, the peer variance above applies. TIBBIR, bridged one way from Base, is the first token priced this way.

The provisional label clears when fresh normal history and persistent volume are successfully collected. Eligibility ends at the UTC boundary when the launch-day close plus three daily returns could first exist. Missing data after that boundary leaves the suggestion unavailable; the model does not indefinitely extend provisional pricing or turn an established token's data outage into a new-token exception. Only reviewed token entries can use this policy; exact LP suggestions still need the normal history model. Existing agreed loan terms do not change.

### Long-tail token activity and capacity

Standalone memecoins and RH ecosystem tokens with at least three completed daily returns use `hourly-turnover-activity-v1`. The shared collector fetches completed one-hour CoinGecko onchain candles for up to three exact-address pools per token. It refreshes every two hours, leaving five minutes after each cutoff for ingestion; this buffer is not a provider latency guarantee. USDG hourly observations normalize the prices and volumes. Histories end at the latest eligible two-hour refresh cutoff using one-hour candles, so production values can differ from a prior midnight snapshot. A missing observation is not a flat price or a manufactured trade.

Use the finest of 1-hour and 4-hour observations with at least 90% return coverage overall and over the last 24 hours. For each possible closing-hour offset, measure the variance of same-pool 24-hour log returns, taking the median return across eligible pools. The median variance across closing-hour offsets is the token's own estimate. When there are at least 14 daily returns, those phase estimates use a seven-day recency half-life. Hourly bars do not create extra independent calendar days.

Use the lower of reported circulating market cap and an up-to-seven-completed-day median-price estimate with constant implied circulating supply. This is a supply proxy; FDV is never silently substituted for circulating cap. Match up to five peers using log distances in conservative cap, reported liquidity, calendar history length and median daily turnover (onchain volume divided by that day's cap proxy). Prefer peers within tenfold cap when at least three exist. The liquidity and turnover distances each have weight 0.5; history has weight 0.25; cap has weight 1. At least three compatible peers with the same hourly cutoff are required.

For each rolling 24-hour bucket, let vh be observed hourly USDG volume. Then:

```
a = median over daily buckets [(Σh vh)² / (24 × Σh vh²)]
w = n × a / (n × a + 14)
σ²longtail = [w × own phase variance + (1 − w) × median peer phase variance] × mχ
```

The activity score measures how spread out reported volume is, not the number of independent traders. Low activity reduces confidence in the token's own estimate. High turnover influences peer matching and observed exit capacity; it does not mechanically cancel volatility. There is no requirement to keep risk above the previous model, and no extra assumed 70%/90%/100% crash mixture. Since 17 October 2026 this candidate still sets a meme's volume and capacity screen, while its cost uses the falls-only variance and the single crash scenario below.

The volume candidate is the median of the last up-to-seven complete 24-hour buckets, capped by median down-day volume when at least three down days exist. Without three down days, retain the prior daily-volume estimate. On the same collateral amount and term, price the candidate at 65,536 and 262,144 paths. If the selected repayment share differs or costs differ by more than 10 bps, also compare 262,144 with 524,288 paths. If that still fails, keep the candidate and suggest the smaller of the two higher-resolution selections. Agreement that no amount meets the cost/LTV limits keeps the new policy's unavailable result. Missing hourly coverage or peers also invokes the previous token policy, with the capacity screen still applied. A missing/expired circulating-cap snapshot withholds the suggestion.

A separate amount screen applies even when volatility is low. Total pledged token value, including existing Gage token exposure, must be no larger than both 0.5% of conservative cap and two days of selling at 1% participation in the activity-based volume input. A token priced without its long-tail candidate (missing hourly coverage or peers) is held to the same activity limit. The executable quote at twice that inventory must lose no more than 20%. The remaining amount allowance is:

```
max(0, min(0.005 × cap, 2 × 0.01 × daily volume) − existing token exposure)
```

These limits govern suggested terms; they do not change the onchain collateral registry or prevent explicitly custom terms. A historical loan comparison still displays its modeled economics and failed capacity screen. Existing loans retain their terms. Exposure in pledged LPs, closed V2 recovery inventory, and other tokens sharing an exit pool remains outside this token-specific screen.

The coefficients and capacity limits are explicit experimental assumptions. Reported volume may include wash trading, circulating supply is not independently verified, and changed rates do not demonstrate improved realized-loss prediction. Source outages never extend source timestamps. API responses expose the selected/fallback policy, cutoff, matched peers, volume, cap proxy and capacity result.

### Meme prices since 17 October 2026

A meme's 7- and 21-day cost uses its falls alone, measured on the same hourly pools and cutoff as above. At every step t of the window, let x\_t be the median across eligible pools of the 24-hour log return ending at t, and a\_t its age in days:

```
d = 2 × Σt 2^(−a_t/21) × min(x_t, 0)² / Σt 2^(−a_t/21)
σ²meme = [D / (D + 14)] × d + [14 / (D + 14)] × median d across memes at the same cutoff
```

D is the window's days of history, up to 30. A rise adds nothing to d; a fall counts in full, its weight halving every 21 days. There is no concentration multiplier and no peer matching. A meme without the hourly coverage above takes twice the 7-day-recency-weighted mean square of its daily falls instead.

The paths also carry one crash scenario: at most one crash over the loan's horizon, with chance 1 − exp(−0.005 × days), taking half of the collateral's value. The other paths are scaled up, so the expected price is unchanged. A meme quoted in another lend asset uses the higher of its own falls-only variance in that asset and the one its USDG quote uses. A 21-day meme loan's repayment is at most 50% of the collateral's value. These coefficients were chosen on 17 October 2026 from a replay of every loan the Borrow ticket would have offered on the listed and delisted memes since late July. They kept the lender's result positive through that period's largest drawdown at both the suggested amount and the largest one offered. They are scenario coefficients, not a calibration to realized loan losses.

### 3. Persistent volume, exposure and executable exits

For each day in the recent window, sum volume only from sources that cover the entire window. The window is min(30, n + 1) days; when no source covers it in full, it shrinks to the longest recent tail that at least one source covers, never below seven days. Persistent volume is the lower quartile of these daily sums, using linear quantile interpolation:

```
Q = quantile₀.₂₅(daily aggregate onchain spot volume)
δ = maxⱼ[Sⱼ / (λQⱼ)]              λ = 0.01
Hⱼ = Hⱼ(Sⱼ / κ)                  κ = 0.50
```

Q is measured in USDG per day. Sⱼ is the inventory assumed to need an exit, valued at today's leg price. It includes the pledged amount plus measured existing open token exposure across published engines. δ is the modeled number of days needed to unwind at 1% of persistent daily volume. H is the execution haircut from an actual size-specific exit quote; κ assumes only half the observed depth remains, implemented by quoting twice the inventory.

Cash legs have no sale delay or execution haircut. For token loans, even a smaller principal still uses the complete pledged inventory in the exit calculation. For LPs, both risky legs use aggregate risky inventory plus each leg's measured existing token exposure, a conservative shared-exit assumption.

Depth curves are monotonic in haircut and linearly interpolated between observations. A size beyond the largest observed quote receives a 100% haircut rather than invented liquidity. If critical exit evidence is absent, the service withholds the suggestion.

Absolute volume and executable depth serve different purposes: volume informs how long recovery could take; the quote measures what selling that size could cost now. More volume can shorten modeled recovery, but does not erase volatility or prove that volume is organic.

All-source spot volume is also recorded. Supported CEX spot history informs price returns. CEX volume is not added to executable onchain recovery capacity because the service does not establish custody, deposits, withdrawals and an executable exchange sale for that collateral. Hyperliquid, trade.xyz/HIP-3 and Lighter contexts are collected as observations; funding, open interest and perp turnover currently have no fitted effect on the pricing equation. A ticker match alone is insufficient evidence of token identity or hedgeability.

### 4. Repayment and default-recovery scenarios

For each risky leg j, relative price movement over the horizon is mean-flat and lognormal:

```
Xⱼ(h) = exp(−σⱼ²h/2 + σⱼ√h Zⱼ)
Vh = Σⱼ Aⱼ(X) Xⱼ(h)
Yⱼ(δ) = exp(−σⱼ²δ/2 + σⱼ√δ Wⱼ)
R = Σⱼ Aⱼ(X) Xⱼ(h) Yⱼ(δ) (1 − Hⱼ)
D(t) = 1 + rf t/365               rf = 0.0369

paymentᵢ(K) = K / D(h)                  if Vh ≥ K
              min(K, R) / D(h + δ)      if Vh < K
Πτ(K) = (1/N) Σᵢ paymentᵢ(K)            N = 16,384
```

Aⱼ is inventory valued at today's leg price. For a token loan it is constant; for an LP it follows the exact position formula below. Z and W represent standard normal shocks, with independent horizon and unwind shocks. For two risky legs, the current service sets correlation ρ = 1. Cash has zero variance.

Implementation uses deterministic Halton sequences with bases (2, 3) and (5, 7), transformed by Box–Muller, rather than a new random sample for every request. Identical model inputs reproduce the calculation. The same scenarios are reused across candidate repayment amounts. The distribution assumes no positive expected price drift. It omits an explicit jump, rug, delisting or token-failure process.

The repay/default split assumes repayment when collateral value covers K and collateral recovery otherwise. This is a simplified economic decision rule, not a measured probability of a particular borrower's behavior. Recovery is capped at K in the modeled payoff even if the eventual collateral sale could exceed it. The 3.69% capital APR is a scenario assumption, not a live central-bank rate or a perp funding rate.

### 5. Exact LP positions

A pool listing alone cannot determine the cost of every NFT. The service reads the position's liquidity L, range \[a, b], current square-root price s, today's token prices p₀ and p₁, and already accrued token fees f₀ and f₁:

```
s′ = clamp(a, b, s√(X₀/X₁))
A₀(X) = [L(1/s′ − 1/b) + f₀]p₀
A₁(X) = [L(s′ − a) + f₁]p₁
```

These inventories feed the same repayment/recovery equation. It includes already accrued fees, not projected future fees. Inventory is recalculated at the horizon; the unwind stage applies further price shocks to that inventory. Exits exclude the entire pledged pool, so the model does not rely on liquidity that would leave with the collateral. This is more conservative than simulating the exact pool after removing just that NFT. If usable alternative exits are absent, the model supplies no suggestion. An uncreated zap position also lacks the exact NFT evidence needed by this version.

### 6. How the suggested LTV is selected

Pricing a smaller repayment amount can reduce the required cost without changing the risk inputs. Automatic sizing evaluates 100 shares of the configured repayment envelope, in 1% steps. The current default envelope Kmax/C is 70% for memes (50% for a 21-day meme loan), 90% for stocks/ETH and position requests, and 50% in the LP-only form. It limits the sizing search; it is not principal LTV or a liquidation threshold.

Keep finite candidates with at most 50% term cost, at least 5% principal LTV and at least four raw USDG atoms of principal. As the grid is traversed, discard a later candidate that offers no more principal and no cheaper cost than the last retained candidate. Let P₀, c₀ and P₁, c₁ be the first and last retained points. The amount rule is:

```
ΔP̄(K) = [P(K) − P₀] / (P₁ − P₀)
Δc̄(K) = [c(K) − c₀] / max(0.005, c₁ − c₀)
K* = argmaxₖ [ΔP̄(K) − Δc̄(K)]
ℓ* = P(K*) / C
```

For accepted recency candidates, P and c in this score use unrounded modeled advance and term cost. The ordinary calculation uses quoted principal and rounded term cost. Eligibility checks and returned quotes always retain integer basis-point and raw-amount rounding; 0.005 is 50 basis points. The normalization floor prevents tiny differences in stock costs from sharply shrinking the chosen amount. Ties favor the earlier candidate, and a zero principal range selects the first. The formula seeks the bend in the cash-versus-cost curve. It is a product heuristic, not a proof of optimal borrowing or the full Kneedle algorithm.

The 50% boundary does not truncate the raw model's answer. The public endpoint withholds a cost above that boundary, including exact-repayment and manually selected-share suggestions. Automatic sizing may find a smaller feasible loan; if none exists, it supplies no automatic amount. A manually selected share may fall below the 5% automatic-size threshold. Custom cost entry remains available and can exceed 50% within the app's supported numeric representation and contract constraints.

### 7. The same calculation across market types

| Collateral                                                   | Evidence entering the current calculation                                                                                                                                                     |
| ------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Meme with onchain markets only                               | Completed DEX returns, same-lane variance peers, observed concentration, persistent DEX volume, pinned exit depth and existing token exposure.                                                |
| Meme also listed on spot CEXs or perps                       | Same formula; exact mapped CEX spot returns can improve price evidence. Perp observations currently add no hedge credit or funding discount.                                                  |
| Tokenized stock, with or without perps                       | Available token price history, same-lane peers, executable token exits and exposure; concentration multiplier 1. A liquid underlying equity does not substitute for an executable token exit. |
| ETH                                                          | Available history and executable exits, concentration multiplier 1, as configured in the roster.                                                                                              |
| LP NFT                                                       | Exact range-dependent inventory, underlying-leg risks, accrued fees and alternative exits excluding the pledged pool.                                                                         |
| Missing supported history, identity, holder or exit evidence | No numeric fallback. The borrower may enter custom terms.                                                                                                                                     |

The model is evaluated per position, quantity, repayment and term. A lower rate for one asset does not rank it safer than another without comparing principal LTV, size and evidence. Lower concentration or higher volume can help, but neither guarantees a lower final rate across different loans. Longer exposure generally increases uncertainty; automatic sizing can respond by choosing a smaller amount instead of only raising the percentage.

### 8. Freshness and interpretation

Histories use completed days and are refreshed after a UTC boundary; cached history expires after the next boundary plus two hours. Meme holder samples refresh every six hours. A fitted risk snapshot expires with its earliest contributing input. Perp contexts are cached for approximately three minutes. Request handlers reuse this evidence instead of crawling provider histories or rich lists for every visitor.

Exact chain evidence uses one block, checks that block's hash again and expires within 30 seconds of its timestamp. Concurrent requests share reads. The browser reuses fresh matching quotes, debounces edits and can display a previous matching amount curve during refresh; retained estimates do not become fresh executable suggestions. A full amount grid requires no additional provider request per grid point. RPC and provider budgets are enforced server-side, and API keys remain there.

The principal open limitations are insufficient realized-loan calibration; failed or delisted launch coverage; unmodeled jumps and token failures; incomplete beneficial-owner identification; LP inventory in other loans and closed recovery inventory; external competing sellers; stock corporate actions and transfer restrictions; and price/oracle manipulation. Engineering tests check the implementation, not whether the statistical assumptions predict losses correctly.

For analysis one can define sensitivity notation such as ∂cτ/∂σ (cost sensitivity to volatility), ∂cτ/∂χ (concentration), or ∂cτ/∂Q (volume), holding other inputs fixed. These are mathematical derivatives of the stated model, not separately calculated or published Greek risk scores in the current service. Re-selecting K\* changes the loan itself and must be distinguished from measuring sensitivity at a fixed K.

Accepted recency candidates use unrounded modeled advance and cost to score the amount–cost curve; eligibility checks, returned basis points and principal amounts still use the rounded quote. This avoids rounded cost plateaus determining the selected amount. The existing 50-basis-point normalization floor and repayment envelopes remain unchanged.

### Implementation references

The formulas above correspond to the deployed calculation as of 20 September 2026:

* `services/valuation/src/rates/model.ts`: variance fitting, concentration policy constants, volume quantiles, scenario pricing and LP inventory.
* `services/valuation/src/rates/recency.ts` and `tokenPricing.ts`: recency weighting, effective observation count and the numerical consistency check.
* `services/valuation/src/rates/collector.ts`: source identity, daily normalization, peer selection and pinned holder samples.
* `services/valuation/src/rates/provisional.ts`: the launch policy for a new token: liquidity-matched peers, the upper-quartile variance and the one-hour volume allowance, and the origin-market variance of a bridged token.
* `services/valuation/src/rates/chain.ts`: current value, exposure and executable exit evidence.
* `services/valuation/src/rates/sizing.ts`: repayment grid and amount-selection policy.
* `services/valuation/src/rates/server.ts`: request binding, recommendation limits and quote expiry.
* `web/src/lib/borrowQuote.ts`: principal, fixed cost, separate fee and receipt rounding.

The public read-only service answers at `https://rates-mainnet.up.railway.app/health`, which identifies the model and coverage; the root path answers 404. Browsers may call it only from gage.cash, and each address has a ceiling of requests a minute. `GET /rates/suggest` accepts the exact chain, engine, collateral identity and quantity, and term. Successful responses include the model version, basis-point cost, echoed inputs, evidence identifiers and expiry. `preview` describes the indicative model status; `unavailable` carries no numeric suggestion. This reference does not authorize a transaction.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.gage.cash/start-here/ratings.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
