Defines WLUX, the canonical ERC-20 wrapper for native LUX on all EVM chains. WLUX enables native LUX to be used in DeFi protocols that require ERC-20 interface compatibility. The contract is a 1:1 deposit/withdrawal wrapper with no fees, no admin keys, and no upgrade mechanism.
contract WLUX is ERC20 {
function deposit() external payable; // msg.value LUX -> WLUX
function withdraw(uint256 amount) external; // WLUX -> LUX
receive() external payable; // same as deposit()
}
WLUX is deployed at a deterministic address on every EVM chain using CREATE2:
Address: 0x4C4f4c55580000000000000000000000574c5558
Salt: keccak256("WLUX_V1")
The same address on C-Chain, Zoo, Hanzo, SPC, Pars, and all future L1 / L2 chains (per LP-018).
WLUX is the canonical pair token for:
The DEX precompile (LP-9010) natively wraps/unwraps LUX so users never interact with WLUX directly.
1. WLUX is immutable. No admin, no proxy, no upgrade path. The code is the contract.
2. The contract balance always equals totalSupply. Any discrepancy indicates a bug.
3. Reentrancy: withdraw() follows checks-effects-interactions. Balance is decremented before the LUX transfer.
4. WLUX inherits the security model of the underlying chain. It adds no additional trust assumptions.
github.com/luxfi/standard/contracts/token/WLUX.sol |github.com/luxfi/standard/script/DeployWLUX.s.sol |Copyright (C) 2020-2026, Lux Partners Limited. All rights reserved.
Licensed under the MIT License.