ML-DSA
The Module-Lattice-Based Digital Signature Algorithm, standardised by NIST as FIPS 204 in August 2024 from CRYSTALS-Dilithium. Parameter sets ML-DSA-44, ML-DSA-65 and ML-DSA-87 trade signature size for security level.
- Quantum status
- Believed quantum-resistant
- Standard
- FIPS 204, final
- Family
- lattice
- Also known as
- CRYSTALS-Dilithium, Dilithium, FIPS 204
Rated chains using it
- Bittensor Specified, not deployed
Account signatures, ML-DSA-65. A disabled candidate on the codex/hashed-accounts integration branch, not on the main branch or any network. Source code or release
- BNB Chain Testnet
Account signatures, ML-DSA-44. Tested on a non-production network. Source code or release
- Cosmos Hub Specified, not deployed
Account signatures, ML-DSA-65. In Cosmos SDK v0.55. Gaia pins v0.53.8, so the Hub cannot use it. Source code or release
- Cosmos Hub Specified, not deployed
Validator consensus, ML-DSA-65. In Cosmos SDK v0.55 with CometBFT v0.40. Gaia pins CometBFT v0.38.25. Source code or release
- Dilithion Mainnet, mandatory
Account signatures, ML-DSA-65. Read through the explorer API on 23 October 2026: the spend in block 110,588 has a 5,265-byte scriptSig, a 2-byte length, a 3,309-byte signature, a 2-byte length and a 1,952-byte public key. Read on-chain
- Dilithion Mainnet, mandatory
Account signatures, ML-DSA-65. OP_CHECKSIG calls pqcrystals_dilithium3_ref_verify with an empty context; the Makefile builds the reference code with DILITHIUM_MODE 3. Source code or release
- Dilithion Mainnet, mandatory
Identity layer, ML-DSA-65. Miner identity key registration requires three of four seed-node attestations, each a Dilithium signature, from height 40,000. Source code or release
- Ethereum Classic Proposed
Contract level, ML-DSA-65. An EVM verification precompile for contract wallets, in an unsubmitted draft ECIP by an outside author, GravityLab LLC. Not assigned a number or merged. Specification or proposal
- Flare Proposed
Account signatures, Deterministic CRYSTALS-Dilithium Level 2 (round three). Proposed in a 2022 Flare Research paper for a hybrid EVM transaction type in general, not proposed for Flare's chains; never taken into Flare governance or implemented. Specification or proposal
- IOTA Mainnet, opt-in
Identity layer. IOTA Identity v1.7 credentials, not layer-1 transactions. Specification or proposal
- Monad Proposed
Account signatures. Listed as an initial scheme identifier in a Draft proposal; no parameter set named. Specification or proposal
- NEAR Protocol Mainnet, opt-in
Account signatures, ML-DSA-65. Access-key scheme since protocol version 86. Source code or release
- Neo Proposed
Account signatures. Dilithium is named as a research candidate in the issue's task list. Pull request 4307 adding ML-DSA-65 was closed unmerged, and on it a member called Dilithium "a first good start". Statement or write-up
- Polkadot Proposed
Validator consensus. CRYSTALS-Dilithium for GRANDPA, BABE and protocol messages. Statement or write-up
- QoreChain Mainnet, mandatory
Account signatures, ML-DSA-87. Read on 23 October 2026: a bank transfer at height 3,725,984 carries a 4,627-byte PQCHybridSignature extension that verifies against the sender's registered 2,592-byte key. Required on the Cosmos lane since release 3.1.71; a key registration from an account with no key is exempt. Read on-chain
- Quantum Resistant Ledger Testnet
Account signatures, ML-DSA-87. QRL 2.0 (Zond) testnet. Statement or write-up
- Quantus Network Mainnet, mandatory
Account signatures, ML-DSA-87 and ML-DSA-65. Read through the mainnet RPC on 23 October 2026: block 274,955 carries a transfer signed with the Dilithium65 variant, a 3,309-byte signature and 1,952-byte public key, and block 274,953 a batch signed with the Dilithium87 variant, 4,627 and 2,592 bytes. Read on-chain
- Quantus Network Mainnet, mandatory
Account signatures, ML-DSA-87 and ML-DSA-65. pub type Signature = DilithiumSignatureScheme, with no classical variant; addresses are Poseidon hashes of the public key. Source code or release
- Sei Specified, not deployed
Account signatures, ML-DSA-44. Specified in Draft SIP-5; no implementation exists. Specification or proposal
- Stellar Proposed
Contract level, ML-DSA-44 and ML-DSA-65. Verification as Soroban host functions. Statement or write-up
- Sui Proposed
Account signatures, ML-DSA-65. Statement or write-up
- Terra Classic Proposed
Validator consensus. Selected as the consensus target profile in a pre-formal RFC posted for informal discussion in May 2026. No parameter set is named and no code exists. Specification or proposal
- Terra Classic Proposed
Account signatures. The same RFC proposes a hybrid path in which classical and ML-DSA transaction signatures are accepted side by side. Its details are listed as open decisions. Specification or proposal
- Tezos Testnet
Account signatures, ML-DSA-44. tz5 addresses, gated by the tz5_account_enable feature flag added in merge request 20680. In the active mainnet protocol but disabled: the flag reads false on mainnet. Enabled on Quantumnet. tz5 keys cannot be consensus keys. Source code or release
- Tidecoin Specified, not deployed
Account signatures, ML-DSA-44, ML-DSA-65, ML-DSA-87. In the 1.0 release candidates, gated on the same activation. Source code or release
- Tron Specified, not deployed
Account signatures, ML-DSA-44. Specified in TIP-899 and staged, not activated. Specification or proposal
- XDC Network Proposed
Account signatures. Proposed by XDC Innovation Labs, not by an XDC governing body, through account abstraction. Statement or write-up
- XRP Ledger Testnet
Account signatures. Deployed on AlphaNet, a pre-Devnet test network. Statement or write-up
Sources
- FIPS 204: Module-Lattice-Based Digital Signature Standard , NIST. Accessed 19 October 2026.
Published beside the Hardy Score and not an input to it. How each chain is scored is set out in the methodology.