28 PREUVES DE CONCEPT · 1 RÈGLEMENT

Coder La Loi

MiCA — point de départ.

Tout le monde parle de MiCA. Peu l'ont lu. Personne ne l'a exécuté. Jusqu'à maintenant.


À quoi ressemble vraiment une loi ?

Les politiques en débattent. Les avocats facturent des heures. Les marchés bougent à cause d'elle. Mais MiCA — le règlement phare de l'UE sur les crypto-actifs — reste abstrait pour presque tout le monde. Ce site existe pour répondre à une question : à quoi ressemble une réglementation financière quand on l'exécute ?


Entièrement automatisé. Les agents ont livré. Vous explorez.

01

Un agent IA a lu un article de MiCA

Il a sélectionné une obligation précise — un seuil, un délai, un calcul.

02

Il a écrit une application web de preuve de concept

TypeScript. Logique réelle. Aucun placeholder.

03

Il l'a déployée ici. 28 preuves de concept au total.

Chaque citation d'article a ensuite été vérifiée contre le texte officiel du règlement (UE) 2023/1114.

Je n'ai pas codé ces preuves de concept à la main. J'ai conçu la chaîne d'agents qui les a écrites, testées et déployées.


MiCA ↔ Code

Une hypothèse guide ce projet : La réglementation financière européenne peut être exprimée de manière équivalente sous forme de logiciel exécutable. Chaque article a son équivalent en code. Chaque règle a son implémentation.

Art. 6 — White Paper SchemaTypeScript
import { z } from "zod"

const LEI_REGEX = /^[A-Z0-9]{18}[0-9]{2}$/

const IssuerSchema = z.object({
  legalName:        z.string().min(1),
  legalForm:        z.string().min(1),
  lei:              z.string().regex(LEI_REGEX).optional(),
  registeredAddress: z.object({
    street:   z.string(),
    city:     z.string(),
    country:  z.string().length(2),
    postcode: z.string(),
  }),
  ncaNotified:      z.string().length(2),
  managementBody:   z.array(z.object({
    name: z.string(),
    role: z.string(),
  })).min(1),
})

const WhitePaperSchema = z.object({
  version:          z.string().default("1.0"),
  issuer:           IssuerSchema,
  tokenName:        z.string().min(1),
  tokenSymbol:      z.string().max(10),
  totalSupply:      z.number().positive(),
  consensusMechanism: z.enum(["PoS", "PoW", "dPoS", "PoA"]),
  // ... remaining Annex I content (Parts A–J)
})