Un projet passe à un nouveau contrat, publie un ratio et ouvre une fenêtre d’échange. Votre portefeuille affiche toujours l’ancien solde, et le nombre que vous détiendrez au bout du compte n’est écrit nulle part. Transformer un ratio annoncé en solde crédité demande trois vérifications distinctes, et celle qui tourne mal est rarement la multiplication à laquelle vous vous attendiez.
Ce qu’un ratio de conversion énonce vraiment
Un ratio de conversion est un taux fixe entre deux registres : combien d’unités du nouveau jeton chaque unité de l’ancien permet d’obtenir. Le projet le fixe, le contrat d’échange l’applique, et il ne bouge pas avec le marché. Quel que soit le prix auquel les deux jetons changent de mains le jour de votre échange, le ratio que vous recevez est celui qui a été écrit.
La première chose à trancher est le sens, car un ratio annoncé comme un pour quatre se lit de deux façons. Il peut signifier une nouvelle unité pour quatre anciennes, ou quatre nouvelles unités pour une ancienne, et ces deux lectures diffèrent d’un facteur seize. Ancrez la lecture à quelque chose que vous pouvez vérifier vous-même : comparez la nouvelle offre totale à l’ancienne. Si la nouvelle offre est la plus petite des deux, chaque ancienne unité doit se convertir en moins d’une nouvelle, et toute lecture qui dit le contraire est inversée.
La deuxième chose à trancher est le solde auquel le ratio s’applique. Une migration désigne un ensemble éligible : les soldes détenus lors d’un snapshot, les soldes encore présents dans l’ancien contrat, ou les soldes présentés au contrat d’échange avant qu’il cesse de payer. Le ratio est identique pour tout le monde à l’intérieur de cet ensemble, donc tout ce qui suit suppose que votre solde en fait partie. Savoir si la fenêtre d’échange est encore ouverte est une question distincte de celle de ce que le ratio paierait si elle l’était.
D’où vient ce nombre
Le ratio est une décision, et la décision a une ossature arithmétique. Un projet fixe d’abord la taille du nouveau registre, puis la divise par les anciennes unités que la migration doit absorber. Le quotient est le ratio, et c’est pourquoi le ratio et les deux chiffres d’offre se recoupent : multipliez l’offre ancienne éligible par le ratio et vous retrouvez l’offre nouvelle réservée à l’échange.
Prenez un projet qui fixe une nouvelle offre de 400 000 000 unités et compte 1 000 000 000 anciennes unités éligibles à la migration. Le ratio est le premier chiffre divisé par le second : chaque ancienne unité se convertit donc en 40 % d’une nouvelle. Lu dans l’autre sens, il faut cinq anciennes unités pour produire deux nouvelles.
Cette dérivation vous donne une vérification applicable à n’importe quelle annonce. Si un projet publie les deux chiffres d’offre et un ratio, les trois doivent concorder. Quand ce n’est pas le cas, soit l’un des trois est faux, soit l’ensemble éligible est plus étroit que vous ne le pensiez, et déterminer lequel des deux importe davantage que de recalculer votre propre solde à partir d’un chiffre qui ne se recoupe pas.
Calculer ce à quoi vous avez droit
Une fois le sens et le ratio tranchés, votre chiffre tient en une multiplication : ancien solde multiplié par le ratio. Un solde de 12 500 anciennes unités à un ratio de 40 % se convertit en 5 000 nouvelles unités. Rien dans cette étape ne dépend du prix, et rien n’y dépend du moment de la fenêtre où vous échangez.
Faites cette multiplication dans les unités qu’affiche votre portefeuille, car c’est la forme que vous pouvez confronter à l’annonce. Le contrat effectue la même multiplication dans un autre système d’unités, et les deux concordent seulement quand les décimales s’alignent. C’est la vérification suivante, et c’est celle qui produit des réponses décalées de puissances entières de dix.
| Ce qu’il vous faut | Où le lire | Ce qui déraille sans cela |
|---|---|---|
| Le ratio et son sens | L’annonce, recoupée avec les deux chiffres d’offre | Le résultat ressort inversé |
| Les décimales des deux jetons | La fonction decimals de chaque contrat de jeton | Le résultat est décalé d’une puissance de dix |
| La règle d’arrondi | L’arithmétique entière dans la fonction d’échange | Un reste demeure dans l’ancien contrat |
| Quel solde est éligible | L’annonce, et ce que le contrat accepte | Vous comptez des unités que l’échange ne prendra pas |
Les décimales sont une seconde conversion, et c’est celle qu’on saute
Les contrats de jeton ne stockent pas de montants fractionnaires. Ils stockent des entiers, et une valeur distincte consigne où se place la virgule. Dans le standard ERC-20, la fonction optionnelle decimals renvoie le nombre de décimales qu’emploie le jeton ; la spécification l’illustre avec un jeton dont la valeur de huit signifie que le montant stocké se divise par cent millions pour atteindre sa représentation destinée à l’utilisateur.
Justement parce que cette fonction est optionnelle, le standard précise que les interfaces et les autres contrats ne doivent pas s’attendre à ce que la valeur soit présente. Quand elle manque, le nombre de décimales devient une convention qu’il vous faut établir autrement, et combler ce vide par une valeur par défaut supposée est la façon dont un solde se lit à des ordres de grandeur près.
Une migration entre deux jetons aux décimales différentes ajoute cette mise à l’échelle par-dessus le ratio. Si l’ancien jeton emploie dix-huit décimales et le nouveau six, la même quantité affichée est stockée sous forme d’entiers qui diffèrent d’un facteur 1 000 000 000 000. Le contrat d’échange porte cette mise à l’échelle en interne, donc un portefeuille qui détient les deux valeurs de decimals vous montre le bon nombre. Les entiers bruts copiés depuis un explorateur de blocs sont autre chose : une valeur lue directement depuis un appel de contrat est en unités de base, et poser un chiffre en unités de base d’un jeton à côté d’un chiffre en unités de base de l’autre revient à comparer deux échelles différentes.
Lire le ratio dans le contrat plutôt que dans l’annonce
Une annonce est de la prose, et c’est le contrat d’échange qui paie. Ouvrez son code source vérifié et repérez les deux constantes par lesquelles la fonction d’échange multiplie et divise. Ces constantes sont le ratio sous sa forme appliquée. Si elles s’écartent de l’annonce, ce sont elles qui traiteront votre solde.
Relevez au passage la valeur de decimals sur les deux contrats de jeton. Deux constantes et deux valeurs de decimals constituent tout le calcul, et les quatre sont des lectures publiques qui ne coûtent rien.
Confirmez ensuite le résultat avant d’engager le solde. Un contrat d’échange a besoin d’une approbation de jeton avant de pouvoir déplacer vos anciens jetons, et une approbation peut être accordée pour un petit montant plutôt que pour la totalité du solde. Échanger un petit montant, confronter ce qui arrive à votre propre arithmétique, et n’approuver le reste qu’ensuite : le calcul devient alors une chose observée et non une chose déduite.
L’arrondi, et les unités qui restent en arrière
Le contrat travaille en entiers, et la division entière tronque. Quand votre montant ancien n’est pas un multiple exact du dénominateur du ratio, la division jette le reste au lieu de l’arrondir vers le haut. À dix-huit décimales, la part écartée est une fraction trop petite pour avoir une représentation à l’écran, et elle est réelle malgré tout.
Le reste devient visible quand le versement est quantifié plus grossièrement. Un solde de 12 502 anciennes unités au même ratio de 40 % donne 5 000 nouvelles unités et une fraction ; un contrat qui crédite des unités entières crédite 5 000 et la fraction reste où elle était. Déterminez à l’avance si ce qui subsiste est un reste d’arrondi que vous pouvez ignorer ou un ancien solde que vous détiendrez encore après la fermeture de la fenêtre.
Ce que le ratio ne vous dit pas de la valeur
Un ratio de conversion fixe des quantités et n’affirme rien sur la valeur. Le nombre d’unités que vous détenez change, et c’est tout ce que le ratio garantit. Lire un ratio inférieur à un comme une perte, ou un ratio supérieur à un comme un gain, revient à prendre une conversion arithmétique pour un mouvement de prix.
Ce qu’une migration change, c’est le registre que le marché valorise. Une fois les deux jetons existants, ils se négocient séparément, et leurs prix viennent de la demande qui les rencontre plutôt que du ratio qui relie leurs offres. Le jeton ERC-20 que vous recevez est un nouveau contrat avec son propre marché, et le ratio est la seule chose fixe qui soit reportée.
| Ce que le ratio fixe | Ce qu’il laisse au marché |
|---|---|
| Le nombre de nouvelles unités que donne votre solde | Ce que vaut une nouvelle unité |
| La relation entre les deux chiffres d’offre | Si le nouveau jeton se négocie au-dessus ou au-dessous de l’ancien |
| L’arithmétique qu’exécute le contrat d’échange | La valeur de votre position après l’échange |
En résumé
Un ratio de conversion est une multiplication enveloppée dans trois vérifications. Tranchez le sens du ratio en le recoupant avec les deux chiffres d’offre, lisez les décimales des deux jetons pour que la mise à l’échelle ne décale pas votre réponse d’une puissance de dix, et trouvez la règle d’arrondi pour savoir ce qui reste en arrière.
Ensuite, vérifiez au lieu de faire confiance : les constantes à l’intérieur du contrat d’échange sont le ratio qui sera réellement appliqué, et un petit échange de test transforme votre arithmétique en observation. Pour continuer à apprendre les fondamentaux, suivez les autres contenus de Bitbase Academy.
Articles associés
Autres articles Bitbase sur ce sujet :
- Comment révoquer une délégation de gouvernance
- Pourquoi une migration de jeton demande une approbation
- Migration de tokens terminée mais nouveaux tokens absents
- Signaux d’alerte du wash trading sur les NFT
- L'ADX et la mesure de la force d'une tendance
Avertissement : Cet article est un contenu pédagogique de Bitbase Academy, fourni à titre d'information uniquement. Il ne constitue pas un conseil en investissement, en trading, en fiscalité ou en finance. Les cryptoactifs sont volatils ; évaluez votre propre risque. Rédigé en septembre 2026 ; référez-vous aux informations officielles les plus récentes.
Sources
[1] Ethereum Improvement Proposals, ERC-20: Token Standard (EIP-20, Final), méthode decimals eips.ethereum.org
[2] Documentation développeur d’ethereum.org, ERC-20 Token Standard ethereum.org






