Primary Chain, Native Tokens, and Tokenomics
Defines Lux native currency (LUX), tokenomics, and core chain identifiers for the network.
LP-134 canonical naming (2025-12-15): This LP predates the M-Chain / F-Chain split. Per LP-134 (Lux Chain Topology), MPC ceremonies for bridge custody of external wallets (BTC, ETH, SOL, etc.) now run on M-Chain (CGGMP21, FROST, Pulsar-general). FHE compute and TFHE bootstrap-key generation run on F-Chain. The name "T-Chain" is removed entirely — teleport / cross-chain messaging is B-Chain (
bridgevm, LP-6000). Where this LP says "T-Chain MPC" / "T-Chain threshold" / "T-Chain FHE" / "T-Chain custody", read it as M-Chain (for MPC) or F-Chain (for FHE).
Normative topology + fee model: LP-0130. LP-0130 canonizes the 10-chain roster (P, X, C, D, Q, Z, A, B, M, F) and the LUX-as-fee-currency-everywhere rule that this LP anchors; where the two touch, LP-0130 is the fee-model source of truth and this LP is the currency/denomination anchor.
Abstract
This LP defines the native tokens of the Lux Network, including the LUX currency, and outlines the tokenomics of the network. It also establishes a standardized identification system for the various chains within the Lux ecosystem.
Motivation
Lux requires a canonical definition of its native currency and a consistent scheme for identifying core chains to ensure interoperability, tooling compatibility, and clear economics. A formal specification prevents ambiguity across wallets, explorers, SDKs, and token‑related protocols.
Specification
- Native token ticker:
LUX. - Total supply: 2,000,000,000,000 LUX (2T) at genesis; distribution as defined below.
- Decimals: 18 on C-Chain (EVM
weiconvention,uint256); 6 on P-Chain and X-Chain (native UTXO, microLUX base,uint64). See §Denominations. - Chain identifiers: single‑character codes reserved network‑wide —
P,C,X,A,B,Q,Z,D,M,F. ThresholdTsplit intoM(MPC) andF(FHE).G/GraphVM is experimental — not yet a primary‑network chain.D,B,Mare operator‑gated (LP-0012 §5). - Fees: All on‑chain transaction fees are denominated in LUX.
- Governance: LUX may be used in protocol governance per future LPs.
Native Token
The native token of the Lux Network is LUX.
LUX Currency
LUX is the primary currency of the Lux Network and is used for:
- Staking: Users can stake LUX to secure the network and earn rewards.
- Transaction Fees: All transaction fees on the network are paid in LUX.
- Governance: LUX holders can participate in the governance of the network.
Denominations
LUX is denominated differently on the UTXO chains versus the EVM chain. The
P-Chain and X-Chain use 6 decimals; the C-Chain uses 18 decimals
(EVM wei convention). Both denominate the same LUX — only the
fixed-point scale and integer width differ. This is the normative source
for LUX denomination; other LPs reference it rather than restating.
| Chain | Decimals | Base unit | 1 LUX = | Integer type |
|---|---|---|---|---|
| P-Chain (UTXO) | 6 | microLUX (µLUX) | 1,000,000 µLUX | uint64 |
| X-Chain (UTXO) | 6 | microLUX (µLUX) | 1,000,000 µLUX | uint64 |
| C-Chain (EVM) | 18 | wei-LUX | 10^18 wei-LUX | uint256 |
UTXO unit ladder (canonical in node/utils/units):
| Unit | µLUX | LUX |
|---|---|---|
| microLUX (base) | 1 | 0.000001 |
| milliLUX | 1,000 | 0.001 |
| LUX | 1,000,000 | 1 |
| kiloLUX | 10^9 | 1,000 |
| megaLUX | 10^12 | 10^6 |
| gigaLUX | 10^15 | 10^9 |
| teraLUX | 10^18 | 10^12 |
Why 6 and not 9 decimals on UTXO chains. P/X balances are stored as
uint64 (max 18,446,744,073,709,551,615 ≈ 1.84 × 10^19). Genesis supply is
2 × 10^12 LUX. At 9 decimals that is 2 × 10^21 base units, which
overflows uint64 (2 × 10^21 > 1.84 × 10^19) — total supply could not be
represented. At 6 decimals the supply is 2 × 10^18 base units, inside
uint64 with ≈9.2× head-room. 6 decimals also matches USDC, easing
stablecoin and exchange tooling. (Avalanche's 9-decimal nAVAX works only
because its cap is 720M AVAX; Lux's 2T cap forces 6.)
nLUX is deprecated. Older P-Chain API fields/comments say "nLUX"
(nanoLUX). The base unit is microLUX; NanoLux in node/utils/units
is retained only as an alias equal to MicroLux for source-level backward
compatibility. New code, docs, and API consumers MUST treat the P/X base
unit as microLUX (6 decimals).
Cross-chain conversion (X/P ↔ C). Moving LUX between a UTXO chain
(6 dec) and the C-Chain (18 dec) scales by x2cRate = 10^12: 1 µLUX
(X/P base) = 10^12 wei-LUX (C base). Imports/exports MUST apply this factor
so the same nominal LUX is preserved across the denomination boundary.
Tokenomics
- Max supply: 2,000,000,000,000 LUX (2 Trillion), preserved across genesis + reconciliation.
- Genesis allocation (live, immutable):
- C-Chain: single treasury account
0x9011E888251AB053B7bD1cdB598Db4f9DEd94714holds 2T at genesis. There are no per-account C-Chain allocations — the EVM chain meters gas on every signed tx, so long-term holdings belong on P/X. (genesis/pkg/genesis/keys.go:65TreasuryAddress,:68TreasuryAmount = 2T;:308buildCChainGenesisTreasuryallocates the treasury only.) C-Chain genesis has already executed and cannot be changed. - P-Chain: per-account allocations to mnemonic-derived BIP44 keys, 50M each (staking, validator coordination).
- X-Chain: per-account allocations to the same BIP44 keys, 50M each (settlement, asset exchange).
- Other Chains (A, B, Q, Z, D, M, F): specialized execution chains with no native balances. (D, B, M are operator‑gated — LP-0012 §5.)
- C-Chain: single treasury account
- Supply reconciliation: genesis mints 2T (C treasury) + 100B (P+X, 1000 keys × 50M × 2 chains) = 2.1T live today. A single fork tx at 2025‑12‑25 (
DexSettleActivationTime = 1766704800, the same activation that turns on 0x9999 DEX settlement and syncs contracts to the new Safe owner) burns 100B from the treasury, restoring max supply to exactly 2T. The carve comes out of0x9011, never added on top.
Staking Requirements
- Minimum Validator Stake: 1,000,000 LUX (1M)
- Minimum Delegator Stake: 25,000 LUX (25K)
- Max Delegation Ratio: 10x validator stake
- NFT Staking Tiers:
- Genesis NFT: 500K LUX minimum, 2x rewards (limited to 100 validators)
- Pioneer NFT: 750K LUX minimum, 1.5x rewards (limited to 500 validators)
- Standard: 1M LUX minimum, 1x rewards (unlimited)
- Bridge Validators (B-Chain): 100M LUX minimum + KYC verification
Chain Identification
The following single-character identifiers are assigned to the core chains of the Lux Network:
- P: Platform Chain — Validator management, staking, chain coordination
- C: Contract Chain — EVM execution, smart contracts, DeFi
- X: Exchange Chain — UTXO-based asset exchange, high-throughput transfers
- A: Attestation Chain — AI workloads, model verification, training ledgers
- B: Bridge Chain — Cross-chain asset movement, bridging infrastructure
- Q: Quantum Chain — Post-quantum cryptography, quantum-safe operations
- Z: Zero-Knowledge Chain — ZK proofs, privacy, confidential compute
- D: DEX Chain — Order-book matching and settlement receipts
- M: MPC Chain — MPC custody, threshold signatures, distributed signing (per LP-134)
- F: FHE Chain — Fully-homomorphic encrypted compute, TFHE bootstrap keys (per LP-134)
Reserved LP Ranges for Chains
Per LP-99, LP numbers are organized by chain:
- 0000-0999: Core/Meta — Network-wide specs, governance, tooling
- 1000-1999: P-Chain — Platform, validators, staking
- 2000-2999: C-Chain — EVM, smart contracts, DeFi
- 3000-3999: X-Chain — Exchange, UTXO, trading
- 4000-4999: Q-Chain — Quantum-resistant cryptography
- 5000-5999: A-Chain — AI, attestation, compute
- 6000-6999: B-Chain — Bridge, cross-chain
- 7000-7999: M-Chain — Threshold, MPC, custody (chain topology; primitives live in 4xxx)
- 8000-8999: Z-Chain — ZK proofs, privacy, FHE
- 9000-9999: DEX/Finance — Trading protocols, DeFi standards
Rationale
- Short, human‑readable chain codes simplify UX and reduce error rates in cross‑chain references.
- A fixed ticker and total supply at genesis creates a stable foundation for economic modeling and tooling.
Backwards Compatibility
This is a foundational specification. No prior on‑chain deployments are changed. Tooling and docs that used ad‑hoc names SHOULD migrate to the identifiers and ticker defined here.
Security Considerations
- Clear chain identifiers reduce misrouting risk in cross‑chain operations.
- Centralizing fee denomination in LUX simplifies economic and security analysis of incentives.
Test Cases
- Parsers must map
P/C/X/A/B/Q/Z/D/M/F(and experimentalG) to the intended chains. - Wallets and explorers display balances and fees in
LUX. - Link and config schemas accept only the specified chain codes.
Implementation
Tokenomics Configuration
Location: ~/work/lux/node/config/
GitHub: github.com/luxfi/node/tree/main/config
Key Files:
tokenomics.go- Complete tokenomics configurationflags.go- Network configuration flags
Testing:
cd ~/work/lux/node/config
go test -v ./...
LUX Token Implementation
Native Asset: ~/work/lux/node/vms/components/lux/
GitHub: github.com/luxfi/node/tree/main/vms/components/lux
Key Files:
asset.go- LUX asset definitionstransferables.go- Transfer logicutxo.go- UTXO handling
Staking and Rewards
Location: ~/work/lux/node/vms/platformvm/
GitHub: github.com/luxfi/node/tree/main/vms/platformvm
Files:
validator/validator.go- Validator managementreward/calculator.go- Staking rewardsstate/state.go- Staking state
Gas Configuration
Location: ~/work/lux/node/gas/
GitHub: github.com/luxfi/node/tree/main/gas
Files:
gas.go- Gas pricing and limits
API Endpoints
Balance Queries:
- P-Chain:
platform.getBalance(address) - X-Chain:
xvm.getBalance(address, assetID) - C-Chain:
eth_getBalance(address)
Staking Queries:
platform.getCurrentValidators()- Active validatorsplatform.getTotalStake()- Total staked LUXplatform.getCurrentSupply()- Total LUX supply
Copyright
Copyright and related rights waived via CC0.