Chain Parameters
All values sourced from currency_config.h.in and default.cmake in the C++ codebase. These are consensus-critical constants.
Tokenomics
| Parameter |
Value |
Notes |
COIN |
1,000,000,000,000 (10^12) |
Smallest unit to coin ratio |
CURRENCY_DISPLAY_DECIMAL_POINT |
12 |
Display precision |
CURRENCY_BLOCK_REWARD |
1,000,000,000,000 |
1.0 LTHN per block |
TX_DEFAULT_FEE |
10,000,000,000 |
0.01 LTHN |
TX_MINIMUM_FEE |
10,000,000,000 |
0.01 LTHN |
PREMINE_AMOUNT |
10,000,000,000,000,000,000 |
10,000,000 LTHN (10M) |
BASE_REWARD_DUST_THRESHOLD |
1,000,000 |
10^6 atomic units |
DEFAULT_DUST_THRESHOLD |
0 |
No dust threshold |
CURRENCY_NAME |
Lethean |
|
CURRENCY_NAME_ABR |
LTHN |
Ticker symbol |
Supply model
- Block reward: Fixed at 1 LTHN per block (no halving of reward, but see HF6 for block time doubling).
- Premine: 10,000,000 LTHN reserved at genesis.
- Fee model: Default and minimum fee of 0.01 LTHN. Fees are burned (sent to null address).
Address Prefixes
| Type |
Prefix (hex) |
Base58 starts with |
Description |
| Standard |
0x1eaf7 |
iTHN |
Non-auditable address |
| Integrated |
0xdeaf7 |
iTHn |
Standard + payment ID |
| Auditable |
0x3ceff7 |
iThN |
Auditable address |
| Auditable integrated |
0x8b077 |
iThn |
Auditable + payment ID |
Addresses are encoded using CryptoNote base58 with a 4-byte Keccak-256 checksum. The prefix is varint-encoded before the spend and view public keys (32 bytes each).
Block Timing
| Parameter |
Value |
Notes |
DIFFICULTY_POW_TARGET |
120 seconds |
PoW block target |
DIFFICULTY_POS_TARGET |
120 seconds |
PoS block target |
DIFFICULTY_TOTAL_TARGET |
60 seconds |
(POW + POS) / 4 |
CURRENCY_BLOCKS_PER_DAY |
~1440 |
86400 / 60 |
POS_START_HEIGHT |
0 |
PoS active from genesis |
Post-HF6 timing (future)
| Parameter |
Value |
Notes |
DIFFICULTY_POW_TARGET_HF6 |
240 seconds |
Doubled from 120s |
DIFFICULTY_POS_TARGET_HF6 |
240 seconds |
Doubled from 120s |
DIFFICULTY_TOTAL_TARGET_HF6 |
120 seconds |
(240 + 240) / 4 |
CURRENCY_BLOCKS_PER_DAY_HF6 |
~720 |
Halved from ~1440 |
Difficulty
| Parameter |
Value |
Notes |
DIFFICULTY_WINDOW |
720 |
Blocks in calculation window |
DIFFICULTY_LAG |
15 |
Lag offset |
DIFFICULTY_CUT |
60 |
Timestamps cut after sorting |
DIFFICULTY_BLOCKS_COUNT |
735 |
WINDOW + LAG |
DIFFICULTY_POW_STARTER |
1 |
Initial PoW difficulty |
DIFFICULTY_POS_STARTER |
1 |
Initial PoS difficulty |
Transaction Limits
| Parameter |
Value |
Notes |
CURRENCY_TX_MAX_ALLOWED_INPUTS |
256 |
Limited by surjection proof |
CURRENCY_TX_MAX_ALLOWED_OUTS |
2000 |
Maximum outputs per tx |
CURRENCY_TX_MIN_ALLOWED_OUTS |
2 |
Effective from HF4 (Zarcanum) |
CURRENCY_DEFAULT_DECOY_SET_SIZE |
10 |
Ring size pre-HF4 |
CURRENCY_HF4_MANDATORY_DECOY_SET_SIZE |
15 |
Ring size post-HF4 |
CURRENCY_HF4_MANDATORY_MIN_COINAGE |
10 |
Minimum blocks before spending |
CURRENCY_MINED_MONEY_UNLOCK_WINDOW |
10 |
Coinbase maturity (blocks) |
CURRENCY_MAX_TRANSACTION_BLOB_SIZE |
~122,800 bytes |
Full reward zone minus reserved |
Transaction versions
| Version |
Constant |
Context |
| 0 |
TRANSACTION_VERSION_INITAL |
Legacy format |
| 1 |
TRANSACTION_VERSION_PRE_HF4 |
Pre-Zarcanum |
| 2 |
TRANSACTION_VERSION_POST_HF4 |
Zarcanum confidential |
| 3 |
TRANSACTION_VERSION_POST_HF5 |
Confidential assets |
Block Limits
| Parameter |
Value |
Notes |
CURRENCY_MAX_BLOCK_NUMBER |
500,000,000 |
Maximum block height |
CURRENCY_MAX_BLOCK_SIZE |
500,000,000 |
Header blob limit (unused) |
CURRENCY_BLOCK_GRANTED_FULL_REWARD_ZONE |
125,000 bytes |
Penalty-free block size |
CURRENCY_COINBASE_BLOB_RESERVED_SIZE |
1,100 bytes |
Reserved in coinbase |
CURRENCY_REWARD_BLOCKS_WINDOW |
400 blocks |
Reward calculation window |
Block Versions
| Constant |
Value |
Notes |
BLOCK_MAJOR_VERSION_GENESIS |
1 |
Genesis block |
BLOCK_MAJOR_VERSION_INITIAL |
0 |
Initial version |
HF1_BLOCK_MAJOR_VERSION |
1 |
After HF1 |
HF3_BLOCK_MAJOR_VERSION |
2 |
After HF3 |
CURRENT_BLOCK_MAJOR_VERSION |
3 |
Current (HF4+) |
Timestamp Validation
| Parameter |
Value |
Notes |
CURRENCY_BLOCK_FUTURE_TIME_LIMIT |
7,200 seconds |
PoW: 2 hours into future |
CURRENCY_POS_BLOCK_FUTURE_TIME_LIMIT |
1,200 seconds |
PoS: 20 minutes into future |
BLOCKCHAIN_TIMESTAMP_CHECK_WINDOW |
60 blocks |
Median timestamp window |
P2P Network
Ports
| Network |
P2P |
RPC |
Stratum |
| Mainnet |
36942 |
36941 |
36940 |
| Testnet |
46942 |
46941 |
46940 |
Network Identity
| Parameter |
Value |
Notes |
CURRENCY_FORMATION_VERSION |
84 (mainnet), 100 (testnet) |
Base formation version |
P2P_NETWORK_ID_VER |
CURRENCY_FORMATION_VERSION + 0 |
Network ID version byte |
CURRENCY_GENESIS_NONCE |
CURRENCY_FORMATION_VERSION + 101011010121 |
Genesis block nonce |
Peer Management
| Parameter |
Value |
Notes |
P2P_LOCAL_WHITE_PEERLIST_LIMIT |
1,000 |
Verified peers |
P2P_LOCAL_GRAY_PEERLIST_LIMIT |
5,000 |
Unverified peers |
P2P_DEFAULT_CONNECTIONS_COUNT |
8 |
Outgoing connections |
P2P_DEFAULT_HANDSHAKE_INTERVAL |
60 seconds |
|
P2P_DEFAULT_PACKET_MAX_SIZE |
50,000,000 bytes |
50 MB |
P2P_DEFAULT_PEERS_IN_HANDSHAKE |
250 |
|
P2P_DEFAULT_CONNECTION_TIMEOUT |
5,000 ms |
|
P2P_DEFAULT_PING_CONNECTION_TIMEOUT |
2,000 ms |
|
P2P_DEFAULT_INVOKE_TIMEOUT |
120,000 ms |
2 minutes |
P2P_DEFAULT_HANDSHAKE_INVOKE_TIMEOUT |
10,000 ms |
|
P2P_DEFAULT_WHITELIST_CONNECTIONS_PERCENT |
70% |
Prefer verified peers |
P2P_IP_BLOCKTIME |
86,400 seconds |
24 hours |
P2P_IP_FAILS_BEFOR_BLOCK |
10 |
Failures before blocking |
P2P_FAILED_ADDR_FORGET_SECONDS |
300 seconds |
5 minutes |
P2P_IDLE_CONNECTION_KILL_INTERVAL |
300 seconds |
5 minutes |
Sync Parameters
| Parameter |
Value |
Notes |
BLOCKS_IDS_SYNCHRONIZING_DEFAULT_COUNT |
2,000 |
Block IDs per request |
BLOCKS_SYNCHRONIZING_DEFAULT_COUNT |
200 |
Blocks per download |
BLOCKS_SYNCHRONIZING_DEFAULT_SIZE |
2,000,000 bytes |
2 MB packet limit |
CURRENCY_PROTOCOL_MAX_BLOCKS_REQUEST_COUNT |
500 |
|
CURRENCY_PROTOCOL_MAX_TXS_REQUEST_COUNT |
500 |
|
COMMAND_RPC_GET_BLOCKS_FAST_MAX_COUNT |
4,000 |
Fast sync batch |
PoS Parameters
| Parameter |
Value |
Notes |
POS_SCAN_WINDOW |
600 seconds |
10 minutes |
POS_SCAN_STEP |
15 seconds |
|
POS_MODFIFIER_INTERVAL |
10 |
|
POS_MINIMUM_COINSTAKE_AGE |
10 blocks |
|
POS_STARTER_KERNEL_HASH |
00000000...6e4b |
Initial kernel hash |
BLOCK_POS_STRICT_SEQUENCE_LIMIT |
20 |
Max consecutive PoS blocks |
Alias System
| Parameter |
Value |
Notes |
MAX_ALIAS_PER_BLOCK |
1,000 |
|
ALIAS_NAME_MAX_LEN |
255 |
|
ALIAS_MINIMUM_PUBLIC_SHORT_NAME_ALLOWED |
6 |
Minimum characters |
ALIAS_VALID_CHARS |
0-9a-z-. |
Allowed characters |
ALIAS_COMMENT_MAX_SIZE_BYTES |
400 |
|
Mempool and Alt Blocks
| Parameter |
Value |
Notes |
CURRENCY_MEMPOOL_TX_LIVETIME |
345,600 seconds |
4 days |
CURRENCY_ALT_BLOCK_LIVETIME_COUNT |
~10,080 blocks |
~7 days |
CURRENCY_ALT_BLOCK_MAX_COUNT |
43,200 |
~30 days |
CURRENCY_FREE_TX_MAX_BLOB_SIZE |
1,024 bytes |
Free tx size limit |
CURRENCY_RELAY_TXS_MAX_COUNT |
5 |
Per relay batch |
Wallet
| Parameter |
Value |
Notes |
WALLET_FILE_SIGNATURE_V2 |
0x1111011201101011 |
File magic |
WALLET_FILE_SERIALIZATION_VERSION |
168 |
Current |
WALLET_FILE_LAST_SUPPORTED_VERSION |
165 |
Minimum supported |
WALLET_BRAIN_DATE_OFFSET |
1,543,622,400 |
Seed phrase epoch |
WALLET_BRAIN_DATE_QUANTUM |
604,800 |
1 week in seconds |
WALLET_BRAIN_DATE_MAX_WEEKS_COUNT |
800 |
~15 years |
OFFER_MAXIMUM_LIFE_TIME |
2,592,000 seconds |
30 days |