---
title: "ML-DSA: which blockchains use it"
url: "https://hardyindex.com/algorithms/ml-dsa"
---

# 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. No post-quantum scheme carries a proof of resistance.
- **Standard:** FIPS 204 (NIST, final).
- **Family:** lattice.
- **Also known as:** CRYSTALS-Dilithium, Dilithium, FIPS 204.

## Rated chains using it

- [Bittensor](https://hardyindex.com/chains/bittensor.md): account signatures, specified, not deployed, ML-DSA-65. A disabled candidate on the codex/hashed-accounts integration branch, not on the main branch or any network. Source (source code or release): https://github.com/RaoFoundation/subtensor/pull/3259
- [BNB Chain](https://hardyindex.com/chains/bnb-chain.md): account signatures, testnet, ML-DSA-44. Tested on a non-production network. Source (source code or release): https://github.com/bnb-chain/bsc
- [Cosmos Hub](https://hardyindex.com/chains/cosmos-hub.md): account signatures, specified, not deployed, ML-DSA-65. In Cosmos SDK v0.55. Gaia pins v0.53.8, so the Hub cannot use it. Source (source code or release): https://github.com/cosmos/cosmos-sdk/pull/26472
- [Cosmos Hub](https://hardyindex.com/chains/cosmos-hub.md): validator consensus, specified, not deployed, ML-DSA-65. In Cosmos SDK v0.55 with CometBFT v0.40. Gaia pins CometBFT v0.38.25. Source (source code or release): https://github.com/cosmos/cosmos-sdk/pull/26436
- [Dilithion](https://hardyindex.com/chains/dilithion.md): account signatures, mainnet, mandatory, 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. Source (read on-chain): https://explorer.dilithion.org/api/tx.php?txid=cb86f68488750f17e306112bef3b81ec8b242cd7b97142dd790d4a43e6fef021&chain=dil
- [Dilithion](https://hardyindex.com/chains/dilithion.md): account signatures, mainnet, mandatory, 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 (source code or release): https://github.com/dilithion/dilithion/blob/main/src/script/interpreter.cpp
- [Dilithion](https://hardyindex.com/chains/dilithion.md): identity layer, mainnet, mandatory, ML-DSA-65. Miner identity key registration requires three of four seed-node attestations, each a Dilithium signature, from height 40,000. Source (source code or release): https://github.com/dilithion/dilithion/blob/main/src/core/chainparams.cpp
- [Ethereum Classic](https://hardyindex.com/chains/ethereum-classic.md): contract level, proposed, 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. Source (specification or proposal): https://github.com/ethereumclassic/ECIPs/pull/557
- [Flare](https://hardyindex.com/chains/flare.md): account signatures, proposed, 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. Source (specification or proposal): https://dev.flare.network/pdf/whitepapers/20220722-HybridPostQuantumDigitalSignatureSchemeForTheEthereumVirtualMachine.pdf
- [IOTA](https://hardyindex.com/chains/iota.md): identity layer, mainnet, opt-in. IOTA Identity v1.7 credentials, not layer-1 transactions. Source (specification or proposal): https://docs.iota.org/developer/iota-identity/how-tos/post-quantum
- [Monad](https://hardyindex.com/chains/monad.md): account signatures, proposed. Listed as an initial scheme identifier in a Draft proposal; no parameter set named. Source (specification or proposal): https://forum.monad.xyz/t/flexible-and-upgradeable-account-authentication/526
- [NEAR Protocol](https://hardyindex.com/chains/near.md): account signatures, mainnet, opt-in, ML-DSA-65. Access-key scheme since protocol version 86. Source (source code or release): https://github.com/near/nearcore/releases/tag/2.13.0
- [Neo](https://hardyindex.com/chains/neo.md): account signatures, proposed. 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". Source (statement or write-up): https://github.com/neo-project/neo/issues/4239
- [Polkadot](https://hardyindex.com/chains/polkadot.md): validator consensus, proposed. CRYSTALS-Dilithium for GRANDPA, BABE and protocol messages. Source (statement or write-up): https://forum.polkadot.network/t/post-quantum-cryptography-roadmap-for-polkadot-and-jam/13232
- [QoreChain](https://hardyindex.com/chains/qorechain.md): account signatures, mainnet, mandatory, 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. Source (read on-chain): https://api.qore.host/cosmos/tx/v1beta1/txs/7DC4729A41FEF6061B5F3F329034B06E0F7FEB3B62F06748AA6FF84446FA5876
- [Quantum Resistant Ledger](https://hardyindex.com/chains/qrl.md): account signatures, testnet, ML-DSA-87. QRL 2.0 (Zond) testnet. Source (statement or write-up): https://www.theqrl.org/2/
- [Quantus Network](https://hardyindex.com/chains/quantus.md): account signatures, mainnet, mandatory, 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. Source (read on-chain): https://explorer.quantus.com/blocks/274955
- [Quantus Network](https://hardyindex.com/chains/quantus.md): account signatures, mainnet, mandatory, ML-DSA-87 and ML-DSA-65. pub type Signature = DilithiumSignatureScheme, with no classical variant; addresses are Poseidon hashes of the public key. Source (source code or release): https://github.com/Quantus-Network/chain/blob/main/runtime/src/lib.rs
- [Sei](https://hardyindex.com/chains/sei.md): account signatures, specified, not deployed, ML-DSA-44. Specified in Draft SIP-5; no implementation exists. Source (specification or proposal): https://github.com/sei-protocol/sips/blob/main/sips/sip-5.md
- [Stellar](https://hardyindex.com/chains/stellar.md): contract level, proposed, ML-DSA-44 and ML-DSA-65. Verification as Soroban host functions. Source (statement or write-up): https://stellar.org/blog/foundation-news/introducing-the-quantum-preparedness-plan
- [Sui](https://hardyindex.com/chains/sui.md): account signatures, proposed, ML-DSA-65. Source (statement or write-up): https://www.sui.io/blog/making-sui-quantum-ready
- [Terra Classic](https://hardyindex.com/chains/terra-classic.md): validator consensus, proposed. 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. Source (specification or proposal): https://github.com/fragwuerdig/core/blob/docs/pq/docs/pq-roadmap-rfc/09-open-decisions-decision-log.md
- [Terra Classic](https://hardyindex.com/chains/terra-classic.md): account signatures, proposed. 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. Source (specification or proposal): https://github.com/fragwuerdig/core/blob/docs/pq/docs/pq-roadmap-rfc/05-roadmap-phases.md
- [Tezos](https://hardyindex.com/chains/tezos.md): account signatures, testnet, 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 (source code or release): https://gitlab.com/tezos/tezos/-/merge_requests/20680
- [Tidecoin](https://hardyindex.com/chains/tidecoin.md): account signatures, specified, not deployed, ML-DSA-44, ML-DSA-65, ML-DSA-87. In the 1.0 release candidates, gated on the same activation. Source (source code or release): https://github.com/tidecoin/tidecoin/releases/tag/v1.0.0rc2
- [Tron](https://hardyindex.com/chains/tron.md): account signatures, specified, not deployed, ML-DSA-44. Specified in TIP-899 and staged, not activated. Source (specification or proposal): https://github.com/tronprotocol/tips/issues/899
- [XDC Network](https://hardyindex.com/chains/xdc-network.md): account signatures, proposed. Proposed by XDC Innovation Labs, not by an XDC governing body, through account abstraction. Source (statement or write-up): https://xdc.network/quantum-roadmap
- [XRP Ledger](https://hardyindex.com/chains/xrp-ledger.md): account signatures, testnet. Deployed on AlphaNet, a pre-Devnet test network. Source (statement or write-up): https://ripple.com/insights/post-quantum-readiness-on-the-xrp-ledger/

## Sources

- [FIPS 204: Module-Lattice-Based Digital Signature Standard](https://csrc.nist.gov/pubs/fips/204/final), NIST. Accessed 19 October 2026.
