Lux Docs
Precompile

Post-Quantum Precompiles

ML-KEM, ML-DSA, SLH-DSA, threshold lattice, and PQ rollup verification

Post-quantum precompiles provide NIST-standardized cryptographic operations at native EVM speed, protecting against future quantum computing threats.

Precompile Addresses

The authoritative PQ block is the LP-4200 0x012200 range. (The earlier 0x0300/0x0600 quasar stubs were retired in favor of this block.)

AddressNameStandardDescription
0x012201ML-KEMFIPS 203Module-LWE key encapsulation
0x012202ML-DSAFIPS 204Single-party lattice signature
0x012203SLH-DSAFIPS 205Hash-based (stateless) signature
0x012204PulsarFIPS 204 byte-equalModule-LWE threshold signature
0x012205P3Q--Rollup-commit PQ verifier; kind-byte dispatch to Pulsar/Corona/Magnetar (NOT a STARK, NOT general consensus PQ)
0x012206Corona--Ring-LWE threshold signature
0x012207MagnetarFIPS 205 byte-equalSLH-DSA threshold signature
0x012208HQC--Code-based KEM (family-disjoint backup)
0x012220STARK-FRI--Strict-PQ STARK / FRI / SHAKE verifier

P3Q (0x012205) is the rollup-commit verifier — see /go-live; STARK-FRI (0x012220) is the trustless STARK verifier.

ML-DSA (FIPS 204)

Lattice-based digital signatures. Three security levels:

Parameter SetSecurity LevelSignature SizePublic Key
ML-DSA-44NIST Level 22,420 bytes1,312 bytes
ML-DSA-65NIST Level 33,309 bytes1,952 bytes
ML-DSA-87NIST Level 54,627 bytes2,592 bytes

Lux uses ML-DSA-65 (192-bit security) by default.

ML-KEM (FIPS 203)

Lattice-based key encapsulation mechanism for establishing shared secrets.

Parameter SetSecurity LevelCiphertextPublic Key
ML-KEM-512NIST Level 1768 bytes800 bytes
ML-KEM-768NIST Level 31,088 bytes1,184 bytes
ML-KEM-1024NIST Level 51,568 bytes1,568 bytes

SLH-DSA (FIPS 205)

Stateless hash-based signatures. Conservative choice -- security relies only on hash function properties.

Parameter SetSecuritySignature Size
SLH-DSA-SHA2-128fNIST Level 117,088 bytes
SLH-DSA-SHA2-192fNIST Level 335,664 bytes
SLH-DSA-SHA2-256fNIST Level 549,856 bytes

Hybrid (PQ Identity page, 0x2220-0x2221)

Classical+post-quantum hybrids live on the PQ-identity page, NOT at 0x0610. The hybrid-KEM precompile is at 0x...2221 (X25519+Kyber, LP-2221); hybrid signing is described conceptually on the 0x2220 PQ-identity page.

SlotSchemeClassicalPost-Quantum
0x...2220Hybrid ECDSA+ML-DSA (PQ identity)secp256k1ML-DSA
0x...2221Hybrid KEM (LP-2221)X25519ML-KEM (Kyber)

Both halves must verify for the hybrid to pass. Graceful degradation is not supported -- this is intentional for maximum security.

On this page