Complete registry of all custom EVM precompile addresses for the Lux Network and all ecosystem chains. Standard Ethereum precompiles (0x01-0x0A) are preserved. All 37 precompile packages are enabled on every EVM by default. Genesis determines activation timestamps.
Three packages were removed for exposing secret key material in public calldata:
aes (0x9210), chacha20 (0x9211), ecies (0x9201). See individual LP deprecation notes.
secp256r1 | P-256/NIST curve verify (EIP-7212, WebAuthn/Passkeys) | -- |sr25519 | Schnorrkel/Ristretto SR25519 verify (Substrate) | 011 |ed25519 | Edwards Ed25519 verify (Solana, TON, SSH) | 011 |curve25519 | Raw Curve25519 point ops (add, mul, MSM) | -- |babyjubjub | Baby Jubjub twisted Edwards (zkEVM circuits) | -- |mldsa | ML-DSA verify — FIPS 204 (ML-DSA) | 070 |mlkem | ML-KEM encap/decap — FIPS 203 (ML-KEM) | 072 |slhdsa | SLH-DSA verify — FIPS 205 (SLH-DSA (FIPS 205, formerly SPHINCS+)) | 071 |corona | Pulsar lattice threshold signatures | 073 |xwing | X-Wing hybrid KEM (X25519 + ML-KEM-768) | -- |blake3 | BLAKE3 hash (256-bit) | 011 |poseidon | Poseidon2 ZK-friendly hash (width 2-16) | 069 |pedersen | Pedersen commitment over BN254 | -- |frost | FROST EdDSA threshold verify | 019 |cggmp21 | CGGMP21 ECDSA threshold verify | 019 |x25519 | X25519 Diffie-Hellman key exchange | -- |AES-256-GCM (0x9210) and ChaCha20-Poly1305 (0x9211) precompiles have been removed.
Both accepted secret encryption keys in calldata, which is public on-chain.
Use the FHE precompile (0x0700) for encrypted computation.
vrf | ECVRF-EDWARDS25519-SHA512-ELL2 verify + proof-to-hash (RFC 9381) | 131 |hpke | HPKE seal only (RFC 9180, public-key encrypt) | -- |ring | Ring signature verify only (LSAG) | -- |ECIES (0x9201) has been removed: decrypt required secret keys in calldata,
and encrypt used non-deterministic randomness (consensus split risk).
HPKE seal covers the same public-key encryption use case.
ai | AI mining / on-chain inference | 009 |attestation | TEE attestation (NVTrust GPU, SGX, SEV-SNP, TDX) | -- |compute | AI compute marketplace (register, submit, claim, verify) | -- |quasar | Verkle tree verify | -- |quasar | BLS12-381 signature verify | -- |quasar | BLS12-381 aggregate | -- |quasar | Pulsar consensus verify | -- |quasar | Hybrid PQ verify | -- |bls12381 | G1 point addition | -- |bls12381 | G1 scalar multiplication | -- |bls12381 | G1 multi-scalar multiplication | -- |bridge | Bridge gateway | 017 |bridge | Cross-chain routing | 017 |bridge | Message verification | 017 |bridge | Bridge liquidity pools | 017 |fhe | TFHE operations (30+ ops: encrypt, add, mul, compare, ...) | 066 |zk | Generic ZK verify | 037 |zk | Groth16 verifier | 037 |zk | PLONK verifier | 037 |zk | fflonk verifier | 037 |zk | Halo2 verifier | 037 |pasta | Pallas + Vesta curve ops (Halo2/Nova) | -- |stableswap | Curve StableSwap invariant (GetDy, AddLiquidity, RemoveLiquidity, GetD) | -- |0x9999 is the canonical EVM-side money path for the DEX (receipt-settlement
PoolManager, LP-9999); the
D-Chain (dexvm, LP-032) matches and BLS-signs a DFillReceipt, and 0x9999
verifies that certificate inline and settles under Block-STM. 0x9010 is
DEPRECATED — retired to a single namespace-shared path (alias/disabled), see
LP-9999 §10.
dex | DEX V4 receipt-settlement PoolManager (canonical) | 9999 |dex | LXPool — v4 PoolManager — DEPRECATED → 0x9999 (see LP-9999 §10) | 9999 |dex | LXOracle — price aggregation | 032 |dex | LXRouter — swap router | 032 |dex | LXHooks — hook registry | 032 |dex | LXFlash — flash accounting | 032 |dex | LXBook — CLOB orderbook | 032 |dex | LXVault — custody + margin | 032 |dex | LXPrice — derived pricing | 032 |dex | LXLend — lending pool | 032 |dex | LXRepayer — self-repaying loans | 032 |dex | LXLiquidator — liquidation engine | 032 |dex | LXTransmuter — debt→collateral | 032 |dex | Teleport — cross-chain | 016 |graph | On-chain GraphQL query | -- |graph | GraphQL subscribe | -- |graph | GraphQL cache | -- |graph | GraphQL index | -- |kzg4844 | EIP-4844 KZG blob commitments | -- |Attestation is registered at 0x0300..01 as part of the AI range. See the AI section for the full entry.
Selector dispatch routes to 5 operations: VerifyNVTrust, VerifyTPM, VerifyCompute, CreateAttestation, GetDeviceStatus.
registry | Precompile discovery + BLS12-381 curve ops | -- |pqcrypto | mldsa + mlkem + slhdsa | Redundant — use explicit imports. Has own module registration (will be removed). |quantum | mldsa + mlkem + slhdsa + corona | Library only, no init — dead blank import |threshold | cggmp21 + frost + corona | Library only, no init — dead blank import |All precompiles are compiled into the EVM binary. Activation is controlled per-chain via genesis blockTimestamp or blockNumber in the chain upgrade config. A precompile with blockTimestamp: 0 is active from genesis.
Source: github.com/luxfi/precompile
37 packages (each with contract.go + module.go). 3 removed for key exposure: aes, chacha20, ecies.