> ## Documentation Index
> Fetch the complete documentation index at: https://docs.intention.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Changements de règles

> Comment évoluent les règles de trading, les paramètres de risque et le comportement du protocole : délais de préavis, hauteurs de bloc d’entrée en vigueur, et pourquoi les règles d’un bloc passé ne peuvent jamais être réécrites.

Trois types de changements atteignent un réseau en service : les **changements de paramètres** (une limite de risque, une grille tarifaire, un plafond de financement), les **changements de comportement** (le fonctionnement même de l’exécution) et les **changements de marché** ([cotations et retraits de cotation](/fr/programs/listings)).

Ils diffèrent par la manière dont ils sont annoncés. Ils partagent une propriété, et c’est celle qui compte : un changement prend effet en un **point précis de l’histoire de la chaîne**, et l’histoire antérieure à ce point n’est pas affectée.

<h2 id="parameter-changes">
  Changements de paramètres
</h2>

Les paramètres de risque, les paliers de levier, les plafonds de financement, les limites de position et les grilles tarifaires sont de la configuration on-chain. En modifier un est une transaction de protocole qui s’exécute dans un bloc, en tête de la [priorité du bloc](/fr/trading/tx-sequencing).

Comme la valeur est un état de la chaîne, le changement s’observe au lieu d’être rapporté. Vous n’avez pas besoin qu’on vous annonce que la marge de maintenance d’un marché a bougé — vous pouvez lire ce qu’elle est, et lire ce qu’elle était à n’importe quel bloc passé.

Les clés de configuration sont par ailleurs **versionnées**. Quand c’est la forme d’une valeur qui change plutôt que son chiffre, la nouvelle forme est écrite sous une nouvelle clé et l’ancienne reste lisible. Un client qui résout la configuration en direct continue de fonctionner à travers le changement ; un client qui a figé un chemin de clé dans son code s’en aperçoit immédiatement, plutôt que de lire silencieusement une valeur périmée. Voir [Modèle d’état](/fr/protocol/architecture/state/model).

<h2 id="behavioral-changes">
  Changements de comportement
</h2>

Changer la façon dont l’exécution se *comporte* est un problème plus difficile que changer un chiffre, parce que chaque validateur doit opérer le changement exactement au même instant. Un changement qui atterrit sur des nœuds différents à des moments différents n’est pas un déploiement — c’est un fork.

Intention traite cela avec des **interrupteurs de fonctionnalité on-chain** (*gates*). Chaque interrupteur est une clé d’état unique contenant une hauteur de bloc : la hauteur à laquelle le nouveau comportement commence.

<div className="dg" data-dg="gated-change">
  <div className="dg-c" style={{aspectRatio:"720 / 250"}}>
    <svg className="dg-w" viewBox="0 0 720 250" aria-hidden="true">
      <path className="dg-wire" d="M 163.00 43.00 L 176.60 43.00" />

      <path className="dg-head" d="M 183.00 43.00 L 176.60 47.40 L 176.60 38.60 Z" />

      <path className="dg-wire" d="M 350.00 43.00 L 363.60 43.00" />

      <path className="dg-head" d="M 370.00 43.00 L 363.60 47.40 L 363.60 38.60 Z" />

      <path className="dg-wire" d="M 537.00 43.00 L 550.60 43.00" />

      <path className="dg-head" d="M 557.00 43.00 L 550.60 47.40 L 550.60 38.60 Z" />
    </svg>

    <div className="dg-b dg--sky" style={{left:"0.0000%",top:"0.0000%",width:"22.0833%",height:"34.4000%"}}><span className="dg-t">Nouveau comportement livré</span><span className="dg-s">dans le binaire, pas actif</span></div>
    <div className="dg-b dg--blue" style={{left:"25.9722%",top:"0.0000%",width:"22.0833%",height:"34.4000%"}}><span className="dg-t">Un gate est écrit</span><span className="dg-s">une clé d’état portant une hauteur future</span></div>
    <div className="dg-b dg--blue" style={{left:"51.9444%",top:"0.0000%",width:"22.0833%",height:"34.4000%"}}><span className="dg-t">Chaque validateur lit la même hauteur</span></div>
    <div className="dg-b dg--green" style={{left:"77.9167%",top:"0.0000%",width:"22.0833%",height:"34.4000%"}}><span className="dg-t">Le comportement change à ce bloc précis</span></div>
    <div className="dg-b dg-dashed dg-left" style={{left:"0.0000%",top:"49.6000%",width:"31.8519%",height:"46.4000%"}}><span className="dg-t">La hauteur doit être future</span><span className="dg-s">Un gate ne peut pas être fixé à une hauteur déjà dépassée. C’est cette seule règle qui rend le changement simultané.</span></div>
    <div className="dg-b dg-dashed dg-left" style={{left:"34.0741%",top:"49.6000%",width:"31.8519%",height:"46.4000%"}}><span className="dg-t">Un gate absent signifie inactif</span><span className="dg-s">Un nœud qui rejoue l’histoire ne lit aucune clé à ces hauteurs et prend l’ancien chemin : le rejeu reste correct sans matrice de compatibilité.</span></div>
    <div className="dg-b dg-dashed dg-left" style={{left:"68.1481%",top:"49.6000%",width:"31.8519%",height:"46.4000%"}}><span className="dg-t">Lu à la version exécutée</span><span className="dg-s">Jamais depuis un cache. Lire une valeur courante en rejouant un ancien bloc appliquerait les règles d’aujourd’hui à l’histoire d’hier.</span></div>
  </div>
</div>

Trois propriétés en découlent, et chacune est structurante :

**La hauteur doit être future au moment où elle est écrite.** Un gate ne peut pas être fixé à une hauteur déjà dépassée. C’est cette seule règle qui rend le changement simultané — chaque validateur atteint ce bloc avec la même clé déjà visible.

**Un gate absent signifie inactif.** Un nœud qui rejoue l’histoire ne lit aucune clé à ces hauteurs et emprunte exactement l’ancien chemin de code. Le rejeu historique reste correct de lui-même, sans que personne ait à maintenir une matrice de compatibilité.

**Le gate est lu à la version en cours d’exécution, jamais depuis un cache.** Lire une valeur courante pendant le rejeu d’un ancien bloc appliquerait les règles d’aujourd’hui à l’histoire d’hier et produirait une racine d’état différente. La valeur est donc lue depuis la vue d’exécution du bloc en cours d’exécution, toujours.

Le même mécanisme permet une activation progressive : un drapeau peut être introduit inactif, éprouvé sur du trafic réel, puis activé à une hauteur programmée — plutôt que livré comme une mise à niveau du binaire, en une seule fois.

<h2 id="notice-periods">
  Délais de préavis
</h2>

Le préavis est proportionnel à ce qu’un changement peut faire à une position que vous détenez déjà.

| Changement                                                                                                                | Préavis                                                           |
| ------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| **Affecte les positions ouvertes** — exigences de marge, paliers de levier, plafonds de financement, retraits de cotation | Annoncé avant la date d’entrée en vigueur, la date étant précisée |
| **Affecte les intégrations** — surface d’API, forme des messages, disposition des clés                                    | Annoncé à l’avance, avec un chemin de migration                   |
| **Affecte seulement le coût** — grilles tarifaires, paliers de remise                                                     | Annoncé avant la date d’entrée en vigueur                         |
| **Corrige un risque en cours** — un paramètre resserré en réaction à une condition de marché                              | Peut prendre effet immédiatement                                  |

La dernière ligne est une véritable exception, pas une échappatoire. Une limite de position qui doit attendre une semaine pour se resserrer est une limite de position qui ne fait rien pendant précisément la semaine où elle était nécessaire. Quand elle est utilisée, le changement et sa raison sont publiés ensemble.

<Warning>
  Une modification des exigences de marge ou des paliers de levier change votre prix de liquidation sur les positions que vous détenez déjà. Elle ne clôture rien, et elle ne vous avertit pas individuellement. Si vous conservez des positions à travers un changement de paramètre de risque annoncé, recalculez votre distance à la liquidation avec les nouvelles valeurs plutôt qu’avec celles en vigueur à l’ouverture. Voir [Levier](/fr/trading/leverage).
</Warning>

<h2 id="what-cannot-change">
  Ce qui ne peut pas changer
</h2>

Les règles qui s’appliquaient à un bloc déjà entériné.

Tout changement de règle prend effet à une hauteur qui était future au moment de son enregistrement, si bien que rejouer un ancien bloc applique toujours les règles alors actives. Savoir si une règle donnée était en vigueur à telle version passée est une question à une seule réponse, et c’est la même réponse aujourd’hui que dans un an.

C’est une garantie plus forte qu’une politique publiée. Ce n’est pas que le protocole *ne réécrira pas* l’histoire — c’est que le mécanisme n’a aucune représentation pour une règle qui aurait commencé dans le passé. Voir [Modèle d’état](/fr/protocol/architecture/state/model).

<h2 id="announcements">
  Annonces
</h2>

<Note>
  Les engagements de préavis de cette page prennent effet avec le **testnet public, le 20 septembre 2026**. Le [testnet privé](/fr/protocol/architecture/network-status) change ses paramètres et son comportement sans préavis — il existe pour les régler.
</Note>

Une fois les délais de préavis entrés en vigueur, chaque changement est consigné dans le [journal des modifications du protocole](/fr/protocol/roadmap/changelog) avec sa date d’entrée en vigueur, et annoncé avant cette date lorsque le tableau ci-dessus l’exige.

Les entrées sont datées selon **la date d’entrée en vigueur du changement sur le réseau**, non selon celle de son annonce.

<h2 id="where-to-go-next">
  Pour aller plus loin
</h2>

<CardGroup cols={2}>
  <Card title="Journal des modifications du protocole" href="/fr/protocol/roadmap/changelog">
    L’enregistrement daté de ce qui a été livré.
  </Card>

  <Card title="Cotations et retraits de cotation" href="/fr/programs/listings">
    Les changements de marché et leurs délais de préavis.
  </Card>

  <Card title="Modèle d’état" href="/fr/protocol/architecture/state/model">
    Pourquoi les clés de configuration sont versionnées et résolues en direct.
  </Card>

  <Card title="Levier" href="/fr/trading/leverage">
    Ce qu’un changement de paramètre de risque fait à une position ouverte.
  </Card>
</CardGroup>
