Vanity Addresses (0x24 Prefix)
Every token deployed through LP24 has an address starting with 0x24. This is enforced by the Factory using CREATE2 with a specially-constructed salt that commits to a recent blockhash.
Salt Layout (32 bytes)
| Bytes | Field | Type | Description |
|---|---|---|---|
[0:8] | anchor_block | uint64 (big-endian) | Block number whose hash is committed to |
[8:16] | blockhash_prefix | bytes8 | First 8 bytes of blockhash(anchor_block) |
[16:32] | miner_nonce | bytes16 | Nonce mined offline that produces 0x24 prefix |
Mining Timeline
- Anchor block is mined — the deployer learns the blockhash
- Mine salt offline — try nonces until CREATE2 address starts with 0x24 (typically < 1 second)
- Submit transaction — must be included within
INCLUSION_WINDOWblocks of the anchor
| Parameter | Base | BSC |
|---|---|---|
| INCLUSION_WINDOW | 10 blocks (20s) | 44 blocks (~132s) |
| VANITY_PREFIX | 36 (0x24) | |
On-Chain Verification
The Factory performs four checks on the salt:
anchor_block > 0— salt is not emptyblock.number > anchor_block— anchor block has been minedblock.number <= anchor_block + INCLUSION_WINDOW— transaction is timelyblockhash(anchor_block)prefix matches salt bytes [8:16] — commitment is valid
After CREATE2 deployment, the Factory also verifies the first byte of the resulting address equals 0x24.
Why Vanity Addresses?
The 0x24 prefix serves as a visual identifier — any LP24 token can be instantly recognized by its address. The blockhash commitment prevents pre-computation of addresses, ensuring fair and timely deployment.