Architecture du protocole
Mis à jour le 25 juillet 2026
L’essentiel en 30 secondes
Le protocole Kal Mydas compte 29 contrats en service sur Base mainnet, organisés en 7 modules fonctionnels : émission du jeton, prévente, réserves de stratégie, place de marché, frais et redistribution, gouvernance, trésorerie. Chaque dépôt en USDC déclenche un cycle déterministe : capital alloué aux algorithmes, frais prélevés sur les résultats, redistribution selon une grille de 7 lignes inscrite en constantes. Aucun chemin parallèle, aucune fonction d’échappement administrative.
- •Est en service un contrat déployé par Kal Mydas, portant du code, et effectivement sollicité par le protocole. Cinq des 29 contrats en service sont cinq déploiements d’un même code, les cinq réserves de stratégie, ce qui porte à 25 le nombre de programmes distincts. Le protocole a par ailleurs déployé 21 contrats aujourd’hui dépréciés ou dont le service n’est pas confirmé : ils portent toujours leur code et restent lisibles on-chain, nous les listons plutôt que de les effacer.
- •3 portes d’entrée sont ouvertes : la prévente KalPresaleV4, le marché KalSwapV2 et le dépôt direct dans une réserve de stratégie. La courbe de liaison KalBondingCurve est en pause depuis le 6 juillet 2026. Un seul moteur de redistribution, KalFeeSplitV7, répartit les frais entre 7 destinataires dont la grille est inscrite en constantes.
- •La boucle de gouvernance repose sur le veKAL : verrouiller du KAL crée des veKAL non transférables, qui pèsent dans les votes, reçoivent chaque semaine une part des frais en USDC au titre de l’indemnité de service technique, et amplifient les récompenses de minage de liquidité jusqu’à 2,5 fois. Ce facteur porte sur le minage de liquidité seul, il ne s’applique pas à la mise en jeu de KAL.
1.Vue d’ensemble
Le protocole Kal Mydas regroupe un ensemble de contrats Solidity déployés sur Base mainnet. KalPool est le moteur générique des réserves de stratégie : il est instancié une fois par stratégie, pour HORIZON, VALKYRIE, REVOLUTION, TREASURY et ORION. Les autres contrats sont déployés en une seule instance.
Cette architecture suit 3 principes. Le premier est la modularité : chaque module porte une responsabilité unique et un périmètre défini. Le contrat de prévente ne sait rien des frais de gestion, le contrat de redistribution ne sait rien des stratégies. Cette séparation rend la revue de sécurité possible module par module. Le deuxième est l’immuabilité des paramètres critiques : les pourcentages de redistribution, le plafond du jeton et le calendrier de halving sont inscrits comme constantes dans le code, la gouvernance ne peut pas les modifier. Le troisième est la transparence des flux : tout mouvement d’USDC entrant ou sortant émet un évènement on-chain, lisible par n’importe quel explorateur de blocs.
Le diagramme ci-dessous montre la circulation principale du capital. Les paragraphes qui suivent décrivent chaque module en détail.
Diagramme des flux de capital, du dépôt de l’utilisateur jusqu’à la redistribution des frais
2.Module jeton et émission
KalToken est le jeton ERC-20 du protocole, plafonné à 10 000 000 unités. Une seule adresse est aujourd’hui autorisée à créer du KAL, le contrat LiquidityRewardsV6_3. L’autorisation de VeKAL a été révoquée le 22 juillet 2026, celle de KalPresaleV2 le 19 juillet 2026 et celle de KalBondingCurve lors de sa mise en pause du 6 juillet 2026. La prévente en service, KalPresaleV4, n’est pas autorisée à créer du KAL et ne doit jamais l’être : elle distribue un stock préexistant. Chaque création passe par un contrôle de plafond global, aucune fonction ne peut faire dépasser les 10 000 000 unités.
LiquidityRewardsV6_3 est le moteur d’émission progressive. Il alimente 2 programmes selon un calendrier de halving inspiré du bitcoin, 25 époques de 730 jours, le plafond de l’époque étant divisé par 2 à chaque transition : le minage de liquidité, plafonné à 150 000 KAL répartis sur 3 réserves pondérées 50, 30 et 20 pour cent, et la mise en jeu de KAL, plafonnée à 1 500 000 KAL avec un débit borné par un taux maximum. Le veKAL ne crée aucun KAL, il ne fait que verrouiller des jetons existants. La page Tokenomics porte la table d’émission complète.
KalPoolRewards verse un bonus de fidélité aux participants de longue durée de chaque réserve. Ce bonus est financé par les 5 pour cent de frais sur les résultats que chaque réserve envoie au contrat. Un contrat assistant, déployé mais dont la mise en service n’est pas confirmée à ce jour, permettrait de replacer ses bonus KAL directement dans une réserve de stratégie en une seule transaction atomique. Tant que sa mise en service n’est pas confirmée, il n’est pas présenté comme une fonction disponible.
3.Module prévente et acquisition
KalPresaleV4 organise la prévente en 10 niveaux à prix croissant. Le contrat ne crée pas de KAL, il distribue un stock dont il a été approvisionné, et il applique un plafond par portefeuille propre à chaque niveau. La prévente est plafonnée à environ 492 798 KAL, valeur arrondie du plafond inscrit dans le contrat. Ce plafond est la borne dure : quelle que soit la répartition des ventes entre les dix niveaux, le contrat ne remettra jamais davantage. Les dix niveaux totalisent 482 498 KAL avant bonus, et les bonus des trois premiers niveaux portent ce total à 499 998 KAL, un montant supérieur au plafond. Le plafond prime, et la prévente s’arrête à son atteinte, même si un niveau reste ouvert.
KalBondingCurve était le mécanisme d’amorçage post-prévente, doté d’une enveloppe de 450 000 KAL. Ce contrat est en pause depuis le 6 juillet 2026 et son autorisation de création du KAL a été retirée. Il n’est plus une porte d’entrée. L’achat de KAL sur le marché se fait par KalSwapV2.
KalReferral tient le registre du parrainage on-chain : le parrain est enregistré au premier achat et reçoit un retour automatique sur les achats de ses filleuls. Ce contrat est volontairement minimaliste, sans pyramide et sans rétrocession à plusieurs niveaux, il ne conserve qu’une trace publique du parrainage initial.
4.Module des réserves de stratégie
C’est le cœur économique du protocole. Le contrat KalPool est instancié 5 fois, une instance par stratégie XAUUSD : HORIZON, VALKYRIE, REVOLUTION, TREASURY et ORION. Chaque instance reçoit ses dépôts en USDC, alloue le capital à son exécution, et applique sa propre grille de frais, sous les plafonds contractuels inscrits dans le contrat, soit 5 000 points de base pour les frais sur résultats et 500 points de base pour les frais de gestion. Le contrat PoolManager tient le registre des cinq réserves.
Chaque KalPool expose 2 fonctions de protection à l’utilisateur. La première est un retrait intégral immédiat de la position au prix de part courant, que l’administration ne peut pas mettre en pause et qui n’entraîne aucun frais supplémentaire. La seconde est une mise en pause individuelle, qui permet de geler sa position sans la fermer, par exemple le temps d’observer un comportement de marché. Ces deux fonctions ont été ajoutées en avril 2026 et ont fait l’objet d’une revue externe favorable.
Deux contrats de gestion de trésorerie des réserves, l’un dédié à la surveillance et au rééquilibrage, l’autre à l’allocation d’une fraction de la réserve vers des protocoles externes, sont déployés sur Base mainnet et portent du code, mais leur mise en service n’est pas confirmée à ce jour. Nous ne les présentons donc pas comme actifs. Ils ne toucheraient en aucun cas aux dépôts des utilisateurs sans le contrôle de la gouvernance.
5.Module place de marché
KalSwapV2 est le marché principal du KAL, un teneur de marché automatisé de type produit constant pour la paire KAL contre USDC, doté d’un oracle de prix moyen pondéré dans le temps qui limite la manipulation par encadrement de transaction. La première génération, KalSwap V1, est vidée depuis le 5 juin 2026 et n’est plus un marché. KalSwapETH porte la paire USDC contre WETH. KalRouter assure le routage entre les paires. Les fournisseurs de liquidité reçoivent une part matérialisée par un jeton non transférable. Le minage de liquidité, plafonné à 150 000 KAL sur 25 époques, leur verse des récompenses distribuées par LiquidityRewardsV6_3 et amplifiées par le facteur veKAL.
BuybackRecirculator est le moteur de la doctrine Zero Burn. Au lieu de détruire les KAL rachetés sur le marché avec une part des frais, le contrat les réoriente vers la liquidité détenue par le protocole : ces KAL restent mobilisables pour soutenir la liquidité, abonder les programmes de récompenses ou être redistribués. Aucun KAL n’est détruit par le protocole. Une précision que nous ne taisons pas : le contrat du jeton hérite de la bibliothèque standard ERC20Burnable, si bien que tout détenteur reste libre de détruire ses propres KAL. Aucun chemin du protocole ne le fait.
6.Module frais et redistribution
KalFeeSplitV7 reçoit les flux en USDC des 5 réserves et les redistribue selon 2 grilles fixes : 35, 20, 15, 10, 10, 5 et 5 pour cent pour les frais sur les résultats, 50 et 50 pour cent pour les frais de gestion mensuels. Ces grilles sont inscrites comme constantes en points de base dans le code et la gouvernance ne peut pas les modifier : elles ont été fixées au déploiement et le resteront tant que le contrat n’est pas remplacé par un successeur explicite. La somme de la grille est vérifiable on-chain par une fonction de contrôle dédiée.
FeeDistributor verse chaque semaine, aux détenteurs de veKAL, la part de 10 pour cent qui leur revient, au prorata du veKAL en circulation au début de la période. Ce versement est une indemnité de service technique : il rétribue la fourniture d’un service de sécurisation et de gouvernance au protocole. Il est versé en USDC, aucun détenteur n’est jamais tenu d’accepter du KAL à la place.
FeeShareBooster applique un multiplicateur dégressif à cette indemnité pour les premiers verrouilleurs, selon un calendrier inscrit dans les constantes du contrat. FeeShareDashboard donne une lecture agrégée des droits, sans détenir de fonds.
7.Module gouvernance et verrouillage
VeKAL met en œuvre le verrouillage des jetons selon le modèle vote-escrow. Un détenteur peut verrouiller son KAL d’une semaine à 4 ans, et le poids obtenu est proportionnel à la durée restante, avec une décroissance linéaire jusqu’à l’échéance et une résolution hebdomadaire. Le veKAL n’est ni transférable ni échangeable : c’est un titre de présence, pas un actif négociable.
KalGovernance est le contrat de vote. Le seuil de proposition est de 1 pour cent du veKAL total, le quorum de 10 pour cent, la durée de vote de 3 jours. Une décision adoptée n’est exécutable qu’après un délai de 48 heures, et elle expire si elle n’est pas exécutée dans les 7 jours qui suivent. Le pouvoir de vote est lu sur des points de contrôle historiques, ce qui interdit de verrouiller massivement juste avant un vote pour le remporter puis de se retirer. Cette protection a été ajoutée en avril 2026 à la suite d’une revue de sécurité.
KalTimelock porte un délai minimum de 24 heures, un délai maximum de 7 jours et une fenêtre de grâce de 48 heures sur les opérations qui lui sont confiées. Aucun changement de paramètre n’est instantané : il existe toujours une fenêtre publique pendant laquelle un participant peut retirer son dépôt si la décision ne lui convient pas. Cette friction est volontaire.
8.Module trésorerie et résilience
TreasuryRWAV2 alimente une couche d’actifs réels tokenisés, distincte de l’activité des algorithmes sur l’or et destinée à décorréler une partie de la trésorerie du protocole. Ce contrat reçoit 5 pour cent des frais sur les résultats. Il est administré par la gouvernance et dispose d’une fonction d’urgence permettant de tout rapatrier vers le fonds de réserve. Nous ne publions pas de taux attendu sur cette couche.
RainyDayFund est le fonds de réserve d’urgence : une réserve en USDC mobilisable uniquement par vote de gouvernance, dans des cas de crise majeure.
CircuitBreaker est un frein automatique. Il observe la santé agrégée des réserves et réduit le multiplicateur d’émission si elle se dégrade. C’est un mécanisme défensif, qui n’a pas vocation à se déclencher en régime nominal.
KalAccessPassV5_2 est le Pass d’accès, un jeton non fongible et non transférable, en service depuis le 7 juin 2026. Il succède à KalAccessPassV5_1, déployé le 1ᵉʳ mai 2026, dont les détenteurs migrent par une fonction dédiée. KalAccessPassRenderer produit l’image du Pass. Le paiement du Pass en KAL ouvre une remise de 30 pour cent, et le KAL ainsi versé part vers le BuybackRecirculator, jamais vers une destruction.
9.Inventaire des contrats en service
Le tableau ci-dessous liste les contrats en service sur Base mainnet au 25 juillet 2026, relevés on-chain. Les adresses correspondantes figurent sur la page Sécurité, et les interfaces d’intégration sur la page Ressources.
Contrats en service sur Base mainnet, relevé du 25 juillet 2026
| Contrat | Module | Rôle principal | Instances |
|---|---|---|---|
| KalToken | Jeton | Jeton ERC-20 du protocole, plafond de 10 000 000 unités | 1 |
| LiquidityRewardsV6_3 | Jeton | Minage de liquidité et mise en jeu de KAL, seul contrat autorisé à créer du KAL | 1 |
| KalPoolRewards V2 | Jeton | Bonus de fidélité versé aux déposants de chaque réserve | 1 |
| KalPresaleV4 | Prévente | Prévente en 10 niveaux, distribue un stock préexistant | 1 |
| KalAirdrop | Prévente | Distribution unique aux premiers contributeurs | 1 |
| KalReferral | Prévente | Parrainage on-chain, sans niveau multiple | 1 |
| KalPool | Réserves | Moteur générique des réserves de stratégie, une instance par stratégie | 5 |
| PoolManager | Réserves | Registre des cinq réserves de stratégie | 1 |
| KalSwapV2 | Marché | Marché principal du KAL, paire KAL contre USDC | 1 |
| KalSwapETH | Marché | Paire USDC contre WETH | 1 |
| KalRouter | Marché | Routage des échanges entre les paires du protocole | 1 |
| KalAeroLPStaking | Marché | Mise en jeu des parts de liquidité du marché externe | 1 |
| BuybackRecirculator | Marché | Rachat du KAL puis réorientation vers la liquidité | 1 |
| KalFeeSplitV7 | Frais | Répartition des frais selon une grille inscrite en constantes | 1 |
| FeeDistributor | Frais | Versement hebdomadaire en USDC aux détenteurs de veKAL | 1 |
| FeeShareBooster | Frais | Multiplicateur appliqué au partage de frais | 1 |
| FeeShareDashboard | Frais | Lecture agrégée des droits au partage de frais | 1 |
| VeKAL | Gouvernance | Verrouillage du KAL, de 1 semaine à 4 ans | 1 |
| KalGovernance | Gouvernance | Propositions et votes, délai d’exécution de 48 heures | 1 |
| KalTimelock | Gouvernance | Délai minimum de 24 heures, maximum de 7 jours | 1 |
| TreasuryRWAV2 | Trésorerie | Diversification hors crypto de la trésorerie | 1 |
| RainyDayFund | Trésorerie | Réserve en USDC mobilisable par vote de gouvernance | 1 |
| CircuitBreaker | Trésorerie | Surveillance des évènements anormaux et pause automatique | 1 |
| KalAccessPassV5_2 | Accès | Pass d’accès, jeton non fongible et non transférable | 1 |
| KalAccessPassRenderer | Accès | Rendu de l’image du Pass d’accès | 1 |
Vingt-cinq lignes, 29 contrats en service, relevé on-chain sur Base mainnet le 25 juillet 2026. Les cinq instances de KalPool partagent le même code, ce qui porte à 25 le nombre de programmes distincts. Vingt et un contrats supplémentaires portent encore du code sans être en service : dix-huit sont dépréciés ou en pause, trois sont déployés sans que leur mise en service soit confirmée. Six contrats tiers sont sollicités par le câblage sans appartenir au protocole, ils ne sont jamais additionnés aux précédents.