> For the complete documentation index, see [llms.txt](https://vaultbook.gauntlet.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vaultbook.gauntlet.xyz/fr/vaults/morpho-vaults/morpho-adaptive-curve-irm.md).

# IRM de courbe adaptative Morpho

AdaptiveCurveIRM est le modèle natif de taux d'intérêt de Morpho Blue. Il vise un **ratio d'utilisation de 90 %** en ajustant en continu une ancre de taux interne. Cette page explique comment fonctionne la courbe, comment l'ancre s'adapte au fil du temps, et à quelle vitesse les taux peuvent évoluer à différents niveaux d'utilisation.

### La courbe des taux

À tout moment, le taux d'emprunt est une fonction de deux entrées :

* **Utilisation actuelle** `U` - la part des actifs fournis actuellement empruntée
* **`rateAtTarget`** - une variable d'état interne représentant le taux d'emprunt à exactement 90 % d'utilisation

La courbe est linéaire par morceaux avec une cassure au seuil de 90 %. En dessous de la cassure, elle est peu pentue ; au-dessus, elle est raide.

```
// err = (U - 0.90) / normFactor,  borné à [-1, +1]
// normFactor = (1 - 0.90) au-dessus de la cible, 0.90 en dessous de la cible

si err < 0 :
  r = ((1 - 1/C) × err + 1) × rateAtTarget

si err >= 0 :
  r = ((C - 1) × err + 1) × rateAtTarget

// C = 4 (raideur de la courbe)
```

Cela produit une structure de multiplicateurs fixe, quel que soit l'endroit où `rateAtTarget` se trouve :

| Utilisation    | Multiplicateur | Exemple (rateAtTarget = 4 %) |
| -------------- | -------------- | ---------------------------- |
| 0%             | 0,25×          | 1.00%                        |
| 90 % (cassure) | 1,00×          | 4.00%                        |
| 100%           | 4,00×          | 16.00%                       |

La **forme de la courbe ne change jamais** — seule l'ancre se déplace. Si `rateAtTarget` double, chaque point de la courbe double avec elle.

#### Paramètres clés

| Paramètre             | Valeur | Description                                                      |
| --------------------- | ------ | ---------------------------------------------------------------- |
| `TARGET_UTILIZATION`  | 90%    | Point de cassure ; le taux d'emprunt est égal `rateAtTarget` ici |
| `CURVE_STEEPNESS` (C) | 4      | Taux max = 4× ancre ; taux min = 0,25× ancre                     |
| `ADJUSTMENT_SPEED`    | 50/an  | Contrôle à quelle vitesse `rateAtTarget` s'adapte                |
| `MIN_RATE_AT_TARGET`  | 0.1%   | Plancher sur `rateAtTarget`                                      |
| `MAX_RATE_AT_TARGET`  | 1,200% | Plafond sur `rateAtTarget`                                       |

***

### Le mécanisme adaptatif

Entre les interactions avec le marché, `rateAtTarget` dérive en continu en fonction de l'erreur signée entre l'utilisation actuelle et la cible de 90 %.

```
vitesse            = ADJUSTMENT_SPEED × err       // 50/an × [-1, +1]
écoulé          = block.timestamp - lastUpdate

endRateAtTarget  = startRateAtTarget × exp(vitesse × écoulé)
```

Plus l'utilisation s'éloigne de la cible, plus l'ancre se déplace rapidement :

* **U > 90 %** - l'erreur est positive, `rateAtTarget` augmente. Des taux plus élevés attirent de nouveaux apports et découragent l'emprunt jusqu'à ce que l'utilisation revienne à la cible.
* **U < 90 % -** - l'erreur est négative, `rateAtTarget` baisse. Des taux plus faibles stimulent l'emprunt et peuvent pousser les fournisseurs à se retirer jusqu'à ce que l'utilisation se rétablisse.
* **U = 90 %** - l'erreur est nulle, `rateAtTarget` reste inchangé. C'est le seul point fixe stable.

### Vitesse des taux

#### Taux d'emprunt à chaque niveau d'utilisation

Le tableau ci-dessous montre le taux d'emprunt instantané et le taux après 5 jours d'utilisation soutenue, en partant de `rateAtTarget = 4 %`.

| Util | err  | rAT t=0 | rAT t=5j | Emprunt t=0 | Emprunt t=5j | Variation | Taux max t=0 | Taux max t=5j |
| ---- | ---- | ------- | -------- | ----------- | ------------ | --------- | ------------ | ------------- |
| 90%  | 0.00 | 4.00%   | 4.00%    | 4.00%       | 4.00%        | +0%       | 16.00%       | 16.00%        |
| 91%  | 0.10 | 4.00%   | 4.28%    | 5.20%       | 5.57%        | +7%       | 16.00%       | 17.13%        |
| 92%  | 0.20 | 4.00%   | 4.59%    | 6.40%       | 7.34%        | +15%      | 16.00%       | 18.35%        |
| 93%  | 0.30 | 4.00%   | 4.91%    | 7.60%       | 9.33%        | +23%      | 16.00%       | 19.65%        |
| 94%  | 0.40 | 4.00%   | 5.26%    | 8.80%       | 11.57%       | +32%      | 16.00%       | 21.04%        |
| 95%  | 0.50 | 4.00%   | 5.63%    | 10.00%      | 14.08%       | +41%      | 16.00%       | 22.53%        |
| 96%  | 0.60 | 4.00%   | 6.03%    | 11.20%      | 16.89%       | +51%      | 16.00%       | 24.13%        |
| 97%  | 0.70 | 4.00%   | 6.46%    | 12.40%      | 20.03%       | +62%      | 16.00%       | 25.84%        |
| 98%  | 0.80 | 4.00%   | 6.92%    | 13.60%      | 23.52%       | +73%      | 16.00%       | 27.68%        |
| 99%  | 0.90 | 4.00%   | 7.41%    | 14.80%      | 27.41%       | +85%      | 16.00%       | 29.64%        |
| 100% | 1.00 | 4.00%   | 7.93%    | 16.00%      | 31.74%       | +98%      | 16.00%       | 31.74%        |

*rAT = rateAtTarget. Taux max = taux d'emprunt à 100 % d'utilisation selon le rateAtTarget adapté. Frais de protocole non appliqués.*

#### Temps pour `rateAtTarget` atteindre un niveau

En partant de `rateAtTarget = 4 %`, nombre de jours nécessaires pour atteindre chaque taux cible à utilisation constante.

```
t = ln(targetRate / startRate) / (ADJUSTMENT_SPEED × err) × 365
```

| UR constante | Jusqu'à 7 % | Jusqu'à 8 % | Jusqu'à 9 % | Jusqu'à 10 % |
| ------------ | ----------- | ----------- | ----------- | ------------ |
| 91%          | 40,4 jours  | 50,0 jours  | 58,5 jours  | 66,1 jours   |
| 92%          | 20,2 jours  | 25,0 jours  | 29,2 jours  | 33,0 jours   |
| 93%          | 13,5 jours  | 16,7 jours  | 19,5 jours  | 22,0 jours   |
| 95%          | 8,1 jours   | 10,0 jours  | 11,7 jours  | 13,2 jours   |
| 97%          | 5,8 jours   | 7,1 jours   | 8,3 jours   | 9,4 jours    |
| 100%         | 4,1 jours   | 5,1 jours   | 5,9 jours   | 6,7 jours    |

*Suppose une utilisation constante tout au long de la période. En pratique, la hausse des taux attirera de nouveaux apports et réduira l'utilisation avant que ces niveaux ne soient atteints.*

#### Temps de doublement selon l'utilisation

Combien de jours d'utilisation soutenue avant `rateAtTarget` et chaque point de la courbe double.

| Utilisation | err  | Vitesse | Temps de doublement |
| ----------- | ---- | ------- | ------------------- |
| 91%         | 0.10 | 5,0/an  | 50,6 jours          |
| 92%         | 0.20 | 10,0/an | 25,3 jours          |
| 93%         | 0.30 | 15,0/an | 16,9 jours          |
| 94%         | 0.40 | 20,0/an | 12,6 jours          |
| 95%         | 0.50 | 25,0/an | 10,1 jours          |
| 96%         | 0.60 | 30,0/an | 8,4 jours           |
| 97%         | 0.70 | 35,0/an | 7,2 jours           |
| 98%         | 0.80 | 40,0/an | 6,3 jours           |
| 99%         | 0.90 | 45,0/an | 5,6 jours           |
| 100%        | 1.00 | 50,0/an | 5,1 jours           |

***

### APY de fourniture vs APY d'emprunt

`rateAtTarget` n'est pas l'APY de fourniture. La relation entre les deux est :

```
supplyAPY = borrowAPY × utilisation × (1 - protocolFee)
```

À 90 % d'utilisation, un APY d'emprunt de 4 % avec des frais de protocole de 15 % donne un APY de fourniture d'environ 3,0&#x36;**%**. L'écart entre l'APY d'emprunt et l'APY de fourniture se réduit à mesure que l'utilisation augmente, mais ne se referme jamais complètement à cause des frais de protocole.

***

### Considérations de risque

**Marchés à évolution lente.** Un marché bloqué à 91 % s'adapte lentement - `rateAtTarget` met environ 50 jours à doubler. C'est une pression insuffisante pour un rééquilibrage rapide. Les curateurs devraient considérer une utilisation soutenue au-dessus de 91 % comme un signal pour augmenter proactivement la capacité d'approvisionnement.

**Marchés à évolution rapide.** Au-dessus de 95 % d'utilisation, l'ancre peut doubler en moins de 10 jours. Combinée au multiplicateur de courbe 4×, le taux d'emprunt maximal peut atteindre rapidement plusieurs fois sa valeur de départ, ce qui peut déclencher des liquidations si les emprunteurs ne surveillent pas leurs positions.

**L'effet de levier 4× sur la volatilité.** Parce que le taux max est toujours `C × rateAtTarget`, toute dérive de l'ancre est amplifiée par quatre au sommet de la courbe. Une `rateAtTarget` passage de 4 % à 8 % fait passer le taux max de 16 % à 32 %.

**`rateAtTarget` comme signal de santé du marché.** La hausse de `rateAtTarget` indique une surutilisation soutenue. La baisse de `rateAtTarget` indique une sous-utilisation soutenue !


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://vaultbook.gauntlet.xyz/fr/vaults/morpho-vaults/morpho-adaptive-curve-irm.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
