3

Architecture du protocole

Mis à jour le 27 avril 2026

L'essentiel en 30 secondes

Le protocole Kal Mydas se compose de 22 contrats centraux déployés en 26 instances sur le mainnet Base, organisés en sept modules fonctionnels — émission du jeton, prévente, pools de stratégie, place de marché, frais et redistribution, gouvernance, trésorerie. Chaque flux entrant en USDC déclenche un cycle déterministe : capital alloué aux algorithmes, frais sur résultats prélevés, redistribution selon une grille immuable de sept lignes. Aucun chemin parallèle, aucune fonction d'échappement administrative, aucune zone d'ombre.

  • --22 contrats centraux Solidity, 26 instances déployées (KalPool est instancié cinq fois pour les cinq pools de stratégie). Code source public, ABI accessibles, audits Omniscient Security Labs PASS sur les modifications critiques d'avril 2026.
  • --Quatre portes d'entrée pour les utilisateurs (prévente KalPresaleV2, courbe d'amorçage KalBondingCurve, échange KalSwap, dépôt KalPool) ; un seul moteur de redistribution (KalFeeSplitV7) qui répartit les frais sur résultats vers sept destinataires immuables.
  • --Boucle de gouvernance veKAL : verrouiller du KAL crée des veKAL non-transférables qui pèsent dans les votes KalGovernance, reçoivent leur part des frais USDC chaque semaine via FeeDistributor, et multiplient les récompenses LP jusqu'à 2,5×.

1.Vue d'ensemble

Le protocole Kal Mydas regroupe 22 contrats Solidity centraux déployés en 26 instances. Cette différence vient du contrat KalPool, qui est le moteur générique des pools de stratégie et qui est instancié une fois par pool (HORIZON, VALKYRIE, REVOLUTION, TREASURY, ORION). Les autres contrats sont déployés en une seule instance.

Cette architecture suit trois principes. Premièrement, la modularité : chaque module a 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 de trading. Cette séparation rend l'audit possible (Omniscient Security Labs a pu auditer chaque module séparément, ce qui a permis deux validations PASS en moins de deux heures fin avril 2026). Deuxièmement, l'immuabilité des paramètres critiques : les pourcentages de redistribution, le plafond du jeton, le calendrier de halving, sont inscrits comme constantes dans le code et ne peuvent pas être modifiés par la gouvernance. Troisièmement, la transparence des flux : tout flux 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 suivants décrivent chaque module en détail.

Diagramme principal des flux capital — du dépôt utilisateur jusqu'à la redistribution des frais

UtilisateurKalPresaleV210 paliers / tiersKalBondingCurve2× — 10×KalSwapAMM x·y=kKalPool ×5HORIZON · VALKYRIE · REVOLUTION · TREASURY · ORIONKalToken (10 M)LiquidityRewardsV6KalFeeSplitV7Frais sur résultats — split 7 lignes35 % RéserveReserve20 % POLBuyback Recirculator15 % LPLiquidity rewards10 % veKALFeeDistributor10 % FounderfeeRecipient5 % PoolKalPoolRewards5 % RWATreasuryRWAV2VeKAL + KalGovernanceVerrouillage / Lock — voix + part des frais + multiplicateur LPUSDCKALFrais sur résultats — split 7 lignes

2.Module jeton et émission

Quatre contrats composent ce module. KalToken est le jeton ERC-20 lui-même, plafonné à 10 millions d'unités absolues. Il définit cinq adresses autorisées à créer du KAL (KalPresaleV2 pour la prévente, KalBondingCurve pour la courbe d'amorçage, LiquidityRewardsV6 pour le minage progressif, KalAirdrop pour le largage initial, plus le propriétaire pour les opérations exceptionnelles encadrées). Chaque création passe par un contrôle de plafond global : aucune fonction ne peut faire dépasser les 10 millions.

LiquidityRewardsV6 est le moteur d'émission progressive sur 50 ans. Il distribue 6 millions de KAL aux fournisseurs de liquidité et 3 millions aux verrouilleurs veKAL, selon un calendrier de halving inspiré de Bitcoin : 25 époques de 730 jours chacune, plafond divisé par deux à chaque transition. Voir la page Tokenomics pour la table d'émission complète.

KalPoolRewards distribue un bonus de fidélité aux participants long terme de chaque pool. Ce bonus est financé par les 5 % de frais sur résultats que chaque pool envoie au contrat (cf module Frais et redistribution). KalCompounder est un contrat assistant qui permet à un utilisateur de réinvestir ses bonus KAL directement dans un pool de stratégie en une seule transaction atomique. La fonction est conçue pour être insensible aux attaques de type sandwich par construction (paramètres de glissement et déclenchement par l'utilisateur uniquement).

3.Module prévente et acquisition

Trois contrats permettent d'acquérir du KAL au lancement. KalPresaleV2 organise la prévente en dix paliers à prix croissant, regroupés en deux phases (privée puis publique). Le contrat applique un plafond on-chain de 500 000 KAL au total et un plafond par portefeuille indépendant pour chaque palier. Voir la page Tokenomics pour la grille complète.

KalBondingCurve gère l'amorçage post-prévente. Sa courbe de prix permet aux premiers acheteurs sur le marché secondaire de bénéficier d'une prime de 2× à 10× selon la profondeur de la courbe — cette prime représente l'allocation de 4,5 % du jeton (450 000 KAL) réservée à ce mécanisme. Une fois la courbe épuisée, l'achat se fait exclusivement sur le marché secondaire via KalSwap.

KalReferral implémente un système de parrainage on-chain : les comptes parrains sont enregistrés au moment du premier achat, et reçoivent un retour automatique sur les achats de leurs filleuls. Ce contrat est volontairement minimaliste — pas de pyramide, pas de rétrocession multi-niveaux, simplement une trace publique du parrainage initial.

4.Module pools de stratégie

C'est le cœur économique du protocole. Le contrat KalPool est instancié cinq fois — une instance par stratégie d'algorithme XAUUSD : HORIZON (signal moyen terme), VALKYRIE (couverture momentum), REVOLUTION (renversement long), TREASURY (positions de fond contracycliques), ORION (rotation directionnelle haute fréquence). Chaque instance reçoit ses dépôts en USDC, alloue le capital à son courtier d'exécution, applique sa propre grille de frais (avec les plafonds contractuels MAX_PERFORMANCE_FEE_BPS = 5000 et MAX_MANAGEMENT_FEE_BPS = 500 inscrits dans le contrat).

Chaque KalPool expose deux fonctions de protection à l'utilisateur, ajoutées en avril 2026 et auditées PASS par Omniscient. La première est emergencyExitMyPosition() : retrait intégral immédiat de la position au prix de part courant, sans pause possible par l'administration et sans frais supplémentaires — c'est le bouton d'urgence du déposant. La seconde est pauseMyStrategy() / liftMyPause() : un soft-pause individuel qui permet à un utilisateur de geler temporairement sa position dans le pool sans la fermer, par exemple le temps d'analyser un comportement de marché.

KalCapitalManager surveille les réserves des cinq pools et déclenche les rééquilibrages automatiques selon des seuils publics. KalYieldDiversifier alloue une fraction de la réserve à des protocoles de rendement externes (Aave, Compound) selon des poids configurables : la dépendance unique au moteur de trading est ainsi atténuée par un coussin de rendement passif. Ces deux contrats relèvent d'opérations administratives encadrées par la gouvernance — ils ne touchent jamais aux dépôts utilisateurs sans contrôle.

5.Module place de marché

Deux contrats animent le marché secondaire du KAL. KalSwap est un teneur de marché automatisé inspiré du modèle Uniswap V2 (formule de produit constant x × y = k) pour la paire KAL contre USDC. Les fournisseurs de liquidité reçoivent un jeton de part KAL-USDC-LP (ERC-20) qui matérialise leur quote-part dans la réserve. Une partie de l'émission progressive (60 % de l'offre totale, soit 6 millions de KAL sur 50 ans) est reversée à ces fournisseurs sous forme de récompenses, distribuées par LiquidityRewardsV6 et amplifiées par le multiplicateur veKAL pour les verrouilleurs.

BuybackRecirculator est le moteur de la philosophie zéro destruction. Au lieu de brûler les KAL rachetés sur le marché avec les frais de performance (20 % de chaque cycle de frais), le contrat les reverse en réserve protocolaire : ce sont des KAL qui restent mobilisables pour soutenir la liquidité, abonder les programmes de récompenses ou être redistribués. Aucun KAL n'est perdu.

6.Module frais et redistribution

Trois contrats orchestrent la redistribution des frais collectés par les pools. KalFeeSplitV7 reçoit les flux USDC des cinq pools et les redistribue selon deux grilles fixes : 35/20/15/10/10/5/5 pour les frais sur résultats, 50/50 pour les frais de gestion mensuels. Ces grilles sont inscrites comme constantes BPS dans le code et ne sont pas modifiables par la gouvernance — elles ont été fixées au déploiement et resteront telles tant que le contrat n'est pas remplacé par un successeur explicite.

FeeDistributor est le contrat de partage des frais aux détenteurs veKAL. Chaque semaine, il reçoit la part de 10 % réservée aux verrouilleurs et la distribue au prorata du veKAL en circulation au début de la période. Le montant distribué est en USDC : aucun verrouilleur ne reçoit jamais une obligation d'accepter du KAL au lieu de stablecoin.

FeeShareBooster verse un bonus USDC aux verrouilleurs des six premiers mois post-mainnet, selon un calendrier dégressif (3× le premier mois, 2× ensuite, 1,5× en période de croissance). L'objectif annoncé est d'atteindre 30 % de l'offre verrouillée en veKAL dans les six premiers mois — le seuil au-delà duquel la base de gouvernance devient suffisamment dense pour que les votes aient un poids significatif.

7.Module gouvernance et verrouillage

Trois contrats forment le cœur démocratique du protocole. VeKAL implémente le verrouillage des jetons selon le modèle vote-escrow popularisé par Curve. Un détenteur peut verrouiller son KAL pour une durée allant de quelques semaines à quatre ans ; plus la durée est longue, plus le ratio de conversion KAL → veKAL est favorable. Le veKAL est non-transférable et non-échangeable : c'est un titre de présence, pas un actif négociable.

KalGovernance est le contrat de vote. Chaque veKAL pèse une voix sur les paramètres protocolaires modifiables : taux de frais en deçà des plafonds, autorisation de nouveaux pools, allocation de la trésorerie. Une protection a été ajoutée fin 2025 contre les attaques flash-lock (verrouiller massivement juste avant un vote pour le remporter, puis se retirer) — désormais un délai minimum entre verrouillage et droit de vote est appliqué.

KalTimelock impose un délai d'exécution entre l'adoption d'une décision de gouvernance et son application effective. Aucun changement de paramètre n'est instantané : il y a toujours une fenêtre publique pendant laquelle les utilisateurs peuvent retirer leurs dépôts si le vote ne leur convient pas. Cette mécanique est volontairement frictionnelle.

8.Module trésorerie et résilience

Quatre contrats assurent la résilience du protocole face aux chocs externes. TreasuryRWAV2 alimente une couche d'actifs réels — typiquement de la dette américaine tokenisée Ondo USDY, d'autres stablecoins productifs — qui constitue un coussin de rendement passif décorrélé de la performance des algorithmes XAUUSD. Le rendement attendu de cette couche est de 4 à 6 % par an. Ce contrat reçoit 5 % des frais sur résultats et est administré par la gouvernance avec une fonction d'urgence permettant de tout rapatrier vers le fonds de pluie en cas de besoin.

RainyDayFund est le fonds de pluie d'urgence : une réserve USDC mobilisable uniquement par vote de gouvernance, dans des cas de crise majeurs. Sa fonction principale est de permettre des indemnisations exceptionnelles si un sinistre touche le protocole.

CircuitBreaker est un frein automatique sur l'émission KAL. Il observe la santé agrégée des pools (P&L, ratio gain/perte) et ajuste à la baisse le multiplicateur d'émission si la santé se dégrade. C'est un mécanisme défensif inspiré de pratiques DeFi éprouvées (Aave, Curve) — il n'a pas vocation à être déclenché en régime nominal, mais à protéger l'écosystème en cas de période durable défavorable.

KalAccessPassV5 est le jeton non-fongible d'abonnement, dans sa version V5.1 (post-corrections d'avril 2026). Ce jeton est non-transférable (soulbound) et donne accès à certaines fonctionnalités gradées du protocole. Il est destiné à devenir progressivement le canal d'accès aux pools premium et aux flux de gouvernance avancés.

9.Inventaire des 22 contrats centraux

Le tableau ci-dessous récapitule les 22 contrats Solidity centraux et leurs dépendances principales. Pour les ABI complètes et les adresses de déploiement, consulter la page Ressources et la page Sécurité.

Inventaire complet — 22 contrats centraux, 26 instances déployées

ContratModuleRôle principalInstances
KalTokenJetonJeton ERC-20, plafond 10 M, multi-créateurs1
LiquidityRewardsV6JetonÉmission progressive 25 époques (50 ans)1
KalPoolRewardsJetonBonus de fidélité long terme par pool1
KalCompounderJetonRéinvestissement atomique des bonus KAL1
KalPresaleV2PréventePrévente 10 paliers, 2 phases1
KalBondingCurvePréventeCourbe d'amorçage post-prévente, prime 2× à 10×1
KalReferralPréventeParrainage on-chain minimaliste1
KalPoolPoolsPool de stratégie générique (5 instances : HORIZON, VALKYRIE, REVOLUTION, TREASURY, ORION)5
KalCapitalManagerPoolsSurveillance et rééquilibrage des réserves1
KalYieldDiversifierPoolsAllocation vers protocoles de rendement externes1
KalSwapMarchéTeneur de marché automatisé KAL/USDC (Uniswap V2)1
BuybackRecirculatorMarchéRachat KAL et recirculation (zéro destruction)1
KalFeeSplitV7FraisSplit 7 lignes des frais sur résultats + split 50/50 mgmt1
FeeDistributorFraisPartage hebdomadaire USDC aux détenteurs veKAL1
FeeShareBoosterFraisBonus USDC pour verrouilleurs early (6 premiers mois)1
VeKALGouvernanceVerrouillage vote-escrow (jusqu'à 4 ans)1
KalGovernanceGouvernanceVote, flash-lock fix1
KalTimelockGouvernanceDélai d'exécution des décisions de gouvernance1
TreasuryRWAV2TrésorerieCouche RWA Ondo USDY, rendement passif 4-6 %1
RainyDayFundTrésorerieFonds de pluie d'urgence (vote requis)1
CircuitBreakerTrésorerieFrein automatique sur l'émission selon santé pools1
KalAccessPassV5TrésorerieJeton d'abonnement non-transférable (soulbound)1

Total : 22 contrats centraux, 26 instances. Le contrat KalPool est instancié cinq fois pour les cinq stratégies. Source : scripts/deploy-mainnet-ordered.js + scripts/deploy-presale-only.js.