The chain that survives the
elliptic curve era.
La chaîne qui survit à l'ère
de la courbe elliptique.
A Layer 1 built from first principles for a world where Shor's algorithm is no longer hypothetical. ML-DSA-87 signatures. SHA-3 hashing. BFT proof-of-stake. WASM execution. No retrofits, no legacy curves, no theatre. Une Layer 1 conçue depuis zéro pour un monde où l'algorithme de Shor n'est plus une hypothèse. Signatures ML-DSA-87. Hachage SHA-3. Proof-of-stake BFT. Exécution WASM. Pas de rustines, pas de courbes héritées, pas de théâtre.
Most chains are encrypted with math that has an expiry date. La plupart des chaînes sont chiffrées avec des mathématiques qui ont une date d'expiration.
The threat is not theoretical. NIST has standardized post-quantum signature schemes. The migration window for trillions of dollars of on-chain value will not be measured in years — it will be measured in which chain was ready first.
CURS3D was built around a single constraint: every cryptographic primitive in the protocol must remain secure against a sufficiently large quantum adversary. Not as an opt-in. Not as a wrapper. As the only mode.
Everything else — consensus, execution, fees — follows the same principle. Pick the conservative, peer-reviewed primitive. Ship it. Document it. Move on.
La menace n'est pas théorique. Le NIST a standardisé les schémas de signatures post-quantiques. La fenêtre de migration pour des milliers de milliards de valeur on-chain ne se mesurera pas en années — elle se mesurera en quelle chaîne était prête en premier.
CURS3D a été conçu autour d'une seule contrainte : chaque primitive cryptographique du protocole doit rester sûre face à un adversaire quantique suffisamment puissant. Pas en option. Pas comme un wrapper. Comme seul mode de fonctionnement.
Tout le reste — consensus, exécution, fees — suit le même principe. Choisir la primitive conservatrice et révisée par les pairs. La livrer. La documenter. Passer à la suite.
One scheme breaks tomorrow. The other doesn't. Un schéma se brise demain. L'autre, non.
secp256k1 / ECDSA
CRYSTALS-Dilithium L5
Four layers. Conservative choices. No surprises. Quatre couches. Des choix conservateurs. Aucune surprise.
Single-slot finality with deterministic safety. Fork-choice is decided, not eventual. Validators stake the native asset and are slashed for equivocation.
Finalité en un seul slot avec sécurité déterministe. Le fork-choice est décidé, pas éventuel. Les validateurs stakent l'actif natif et sont slashés en cas d'équivocation.
Smart contracts compile from any language that targets WASM. Deterministic gas metering. EIP-1559-style fee market with base fee burned and priority tip to proposer.
Les smart contracts compilent depuis tout langage ciblant WASM. Gas metering déterministe. Marché de fees EIP-1559 avec base fee brûlée et pourboire au proposeur.
Lattice-based post-quantum signatures (FIPS-204, the finalised version of CRYSTALS-Dilithium-L5) for native CURS3D transactions. Keccak/SHA-3 hashing throughout — headers, merkle trees, address derivation. EVM transactions still use secp256k1 ECDSA by design (MetaMask compatibility); both sit in the same chain.
Signatures post-quantiques sur réseaux euclidiens (FIPS-204, version finalisée de CRYSTALS-Dilithium-L5) pour les transactions natives CURS3D. Hachage Keccak/SHA-3 partout — en-têtes, arbres merkle, dérivation d'adresses. Les transactions EVM utilisent secp256k1 ECDSA par conception (compatibilité MetaMask) ; les deux cohabitent sur la même chaîne.
Mesh-based block and transaction propagation over libp2p 0.54: TCP transport, Noise handshake (X25519, classical), yamux multiplexing, gossipsub-v1.1, and mDNS for local-network discovery. A post-quantum KEM at the transport layer is on the roadmap, not the current state.
Propagation maillée des blocs et transactions via libp2p 0.54 : transport TCP, handshake Noise (X25519, classique), multiplexage yamux, gossipsub-v1.1, et mDNS pour la découverte sur réseau local. Un KEM post-quantique au niveau transport est sur la roadmap, pas dans l'état actuel.
Sub-second finality, under load. Finalité sous la seconde, sous charge.
Real testnet, real network. Live numbers when reachable, demo placeholders otherwise. Vrai testnet, vrai réseau. Chiffres en direct quand l'API répond, placeholders DEMO sinon.
5 validators are producing and finalizing every slot via the deterministic stake-weighted slot-leader, across 4 providers and 2 architectures (Oracle ARM Marseille ×2, IONOS x86_64 Berlin, Hostinger x86_64 ×2). BFT 2/3 of 5 = tolerates 1-2 validators down without halting finality. The chart auto-pulls live values when the API is reachable; if it is not, the bars stay greyed out and labelled "DEMO" so you never see fake numbers. 5 validateurs produisent et finalisent chaque slot via le slot-leader stake-weighted déterministe, répartis sur 4 hébergeurs et 2 architectures (Oracle ARM Marseille ×2, IONOS x86_64 Berlin, Hostinger x86_64 ×2). BFT 2/3 de 5 = tolère 1-2 validateurs down sans bloquer la finalité. Le graphique récupère les valeurs en direct quand l'API répond ; sinon les barres restent grisées et étiquetées « DEMO » pour ne jamais montrer de chiffres truqués.
- Slot durationDurée du slot10s
- Active validatorsValidateurs actifs—
- Latest heightDernier bloc—
- Tests passingTests verts248
- Protocol versionVersion protocole—
Code first. Marketing last. Le code d'abord. Le marketing en dernier.
Everything you see here is shipping software. The testnet is a real multi-node network you can connect to right now, with the same binary the validators run. Tout ce que vous voyez ici est du logiciel livré. Le testnet est un vrai réseau multi-nœuds auquel vous pouvez vous connecter maintenant, avec le même binaire que celui des validateurs.
# Connect a node to testnet-1 $ curs3d init --chain-id curs3d-testnet-1 $ curs3d keys add validator # ML-DSA-87 keypair $ curs3d node start \ --p2p.seeds "seed-01.curs3d.fr:26656" # Query the chain $ curs3d query status
use curs3d_sdk::{Client, KeyPair}; async fn main() -> Result<()> { let client = Client::connect("https://rpc.curs3d.fr").await?; let kp = KeyPair::ml_dsa_87(); let tx = client.tx() .transfer("curs1q…", 1_000_000) .sign(&kp) .broadcast().await?; println!("hash = {}", tx.hash); Ok(()) }
import { Client, mlDsa } from "@curs3d/sdk"; const c = await Client.connect("https://rpc.curs3d.fr"); const kp = mlDsa.l5(); const tx = await c.tx .transfer("curs1q…", 1_000_000n) .sign(kp) .broadcast(); console.log(tx.hash);
$ curl https://rpc.curs3d.fr/v1/status { "chain_id": "curs3d-public-testnet", "block_height": 184726, "sig_scheme": "ml-dsa-87", "validators_active": 5, "protocol_version": 5, "finality_ms": 1180 }
Where post-quantum is not optional. Là où le post-quantique n'est pas optionnel.
Treasuries, sovereign reserves, multi-decade trusts. Any holding whose threat model spans the cryptographically-relevant quantum horizon.Trésoreries, réserves souveraines, fiducies pluri-décennales. Tout actif dont le modèle de menace dépasse l'horizon quantique cryptographiquement pertinent.
Verifiable credentials, decentralized identifiers, government-issued attestations. Signatures that must remain valid for the bearer's lifetime.Credentials vérifiables, identifiants décentralisés, attestations gouvernementales. Des signatures qui doivent rester valides toute la vie du porteur.
Inter-bank rails, RTGS bridges, post-trade settlement. Systems where retroactive forgery of historical state is an unacceptable risk class.Rails interbancaires, ponts RTGS, règlement post-trade. Systèmes où la falsification rétroactive d'états historiques est une classe de risque inacceptable.
Five validators. Four providers, two architectures. One ledger. Cinq validateurs. Quatre hébergeurs, deux architectures. Un seul registre.
{
"height": 184726,
"hash": "0x9a4c…e21f",
"proposer": "node3",
"sig_scheme": "ml-dsa-87",
"tx_count": 14,
"finalised_ms": 1180
}
From devnet to mainnet, shipped in public. Du devnet au mainnet, livré en public.
- Devnet upDevnet en ligne
- Dilithium PoC
- First blockPremier bloc
- WASM VM
- BFT consensus
- RPC layer
- 5 validators live (ARM × 2 + x86_64 × 3, 4 providers)5 validateurs en ligne (ARM × 2 + x86_64 × 3, 4 hébergeurs)
- Public faucet
- SDK alpha (TS/Rust)
- Open validator setSet ouvert
- External auditAudit externe
- Explorer 1.0
- Tokenomics liveTokenomics actif
- Governance v1Gouvernance v1
- BridgesPonts