Pool Interest Rates

Pool-Level APY Dynamics

The aggregate variable rate earned by the pool is:

IRPool=WAave  IRSOFR+n=1NWnIRn\text{IR}_{\text{Pool}} = W_{\text{Aave}}\;\text{IR}_{\text{SOFR}} + \sum_{n=1}^{N} W_{n}\,\text{IR}_{n}

where

WAave: idle liquidity in Aave (earns IRSOFR)Wn: weight of merchant n:(nWn=1WAave) \begin{aligned} W_{\text{Aave}} &: \text{ idle liquidity in Aave (earns }\text{IR}_{\text{SOFR}}\text{)} \\[2pt] W_{n} &: \text{ weight of merchant }n \\ &: \bigl(\sum_{n} W_{n}=1-W_{\text{Aave}}\bigr) \end{aligned}

Cash-flows are then split between the senior and junior tranches:

WUSD3  IRUSD3+WsUSD3  IRsUSD3=IRPool,WUSD3=0.85,  WsUSD3=0.15W_{\text{USD3}}\;\text{IR}_{\text{USD3}} + W_{\text{sUSD3}}\;\text{IR}_{\text{sUSD3}} = \text{IR}_{\text{Pool}},\qquad W_{\text{USD3}} = 0.85,\; W_{\text{sUSD3}} = 0.15

USD3 and sUSD3 APY

IRUSD3=IRPoolWsUSD3  IRsUSD3WUSD3\text{IR}_{\text{USD3}} = \frac{\text{IR}_{\text{Pool}} - W_{\text{sUSD3}}\;\text{IR}_{\text{sUSD3}}} {W_{\text{USD3}}}

USD3 receives interest first and benefits from a real-time cash reserve that enables most redemptions to clear instantly.

IRsUSD3=IRUSD3+(Excess SpreadReserve Accrual)WsUSD3\text{IR}_{\text{sUSD3}} = \text{IR}_{\text{USD3}} + \frac{\bigl(\text{Excess Spread} - \text{Reserve Accrual}\bigr)} {W_{\text{sUSD3}}}

sUSD3 earns every remaining basis-point of spread after senior distributions and reserve top-ups, but it also absorbs first losses.

Merchant Discount Factor Rate

3Jane gives you an upfront advance and, in return, buys a fixed specified amount of your future yield. The Discount Factor Rate (DFR) is a discount that reduces the specified amount if you repay the advance amount early, effectively charging you less. The discount shrinks towards zero over time as the days since funding increases.

RP(N)=A×(1+n=1NPn)DFR(N)=1RP(N)AA×(F1)\text{RP}(N) = A \times \left( 1 + \sum_{n=1}^{N} \text{P}_{n} \right)\\[2em] \text{DFR}(N) = 1 - \frac{\mathrm{RP}(N) - A}{\mathrm{A} \times (F-1)}
N:days since fundingA:advance amount at fundingF:fixed Factor (set at funding)RP:repurchase amount by day NDFR:discount factor rate by day NPn:daily pacing increment\begin{aligned} N &: \text{days since funding} \\[2pt] A &: \text{advance amount at funding} \\[2pt] \text{F} &: \text{fixed Factor (set at funding)} \\[2pt] \text{RP} &: \text{repurchase amount by day N} \\[2pt] \text{DFR} &: \text{discount factor rate by day N} \\[2pt] \text{P}_{n} &: \text{daily pacing increment} \\[2pt] \end{aligned}

Each day, a tiny pacing increment is applied:

(1) base factor: the pool’s baseline conditions (utilization)

(2) credit risk factor: your credit risk profile

(3) urgency factor: whether you were late that day

Those three slices add up to your daily fraction Pn​.

Pn:Bn+Cn+LnBn:implied base apy, expressed as a (1) day factor, pool-wide. Derived from the pool’s utilization curveCn:implied credit risk apy, expressed as a (1) day factor, per-user. Derived from the 3CA algorithmLn:implied urgency apy, expressed as a (1) day factor, per-user. Applied on days flagged late\begin{aligned} \text{P}_{n} &: \text{B}_{n} + \text{C}_{n} + \text{L}_{n} \\[2pt] \text{B}_{n} &: \text{implied base apy, expressed as a (1) day factor, pool-wide. Derived from the pool’s utilization curve} \\[2pt] \text{C}_{n} &: \text{implied credit risk apy, expressed as a (1) day factor, per-user. Derived from the 3CA algorithm} \\[2pt] \text{L}_{n} &: \text{implied urgency apy, expressed as a (1) day factor, per-user. Applied on days flagged late} \\[2pt] \end{aligned}

Note: DFR according to the formula is updated daily (as of 11:59 p.m. UTC). Your real-time DFR (and hence early payoff amount) will be updated to include time elapsed from last day DFR prior to payment.

Example:

  • Advance: A = 100,000

  • Factor: F = 1.15

  • Specified Amount: A⋅F = 115,000

D

Bn

Cn

Ln

Pn

Sum Pn

RP(N)

DFR(N)

1

0.000115

0.000049

0

0.000164

0.000164

100,016

99.8904%

2

0.000112

0.000052

0

0.000164

0.000328

100,032

99.7808%

3

0.000117

0.000046

0.000136

0.000301

0.000630

100,063

99.5799%

4

0.000109

0.000050

0

0.000160

0.000790

100,079

99.4731%

5

0.000120

0.000053

0

0.000173

0.000964

100,096

99.3571%

Last updated