
Start a network from signed genesis
Genesis, import, snapshots and migration
One signed manifest fixes the network, eleven import sections carry state in, snapshots verify on load
You commit the network id, module parameters, guarantor set, opening accounts and state roots in one signed manifest, and every node re-verifies it at start. Bring state in through eleven fixed import sections, each reporting item counts and per-asset totals so you reconcile against a signed custody attestation before the manifest is accepted. Snapshots record a digest, and a snapshot that moves state across a migration loads only with a signed migration authorization.
What it does
Paxeer X starts a network from a signed genesis manifest that fixes the network id, the module parameters, the guarantor set, the opening accounts and the genesis state root. State carried in from an earlier system arrives through eleven fixed import sections, each of which reports its own item counts and per-asset totals so the result can be reconciled against a signed custody attestation before the manifest is accepted. Running nodes checkpoint into snapshot files whose digest must match the recorded manifest, and a snapshot that moves state across a migration is accepted only with an explicitly signed migration authorization. On the EVM base layer, the custody section of the chain genesis is generated separately and merged into the Paxeer genesis before the chain starts.
Key capabilities
- Signed genesis manifest with parameters, guarantors, accounts, module values and both state roots.
- Eleven import section kinds carrying items with per-asset totals for reconciliation.
- Custody attestation reconciliation that names the mismatching asset and the difference.
- Snapshot write and load with digest, state-root and module-blob checks.
- Signed migration authorization binding a new snapshot to the source snapshot digest.
- Custody genesis generation for the chain, with sequencer authorization and asset map.
Who it's for
Operators who bring up, restore or migrate a Paxeer X network, and the people who build its genesis.
Why it matters
One signed artifact commits every value that decides what a network is: its id, its guarantors, its module set and its opening balances. A node re-verifies that artifact at start, so it cannot quietly join a network built from different inputs. Restoring or migrating state is checked the same way: a snapshot whose contents do not reproduce the recorded roots is refused rather than loaded.
Differentiators
A snapshot that changes state across a migration carries a 315-byte authorization signed by the genesis signer, covering the source global sequence, the source canonical and receipt state roots and the source snapshot digest; the node verifies it against the genesis manifest's signer public key and its own configured network id before the snapshot is used.
Outcomes
- A node cannot join a network built from different inputs
- Reconciliation names the mismatching asset and the difference
- A snapshot that misses the recorded roots is refused, not loaded
Technical notes
- Manifest bounds: 64 parameters, 32 guarantors, 256 accounts, 128 module values of up to 256 bytes each, 126 asset records, 262,144 bytes encoded.
lxp_genesis_parseaccepts only the manifest input kind and rejects a manifest whose envelope version and declared protocol version differ. - Parameters, guarantors and accounts must be canonically sorted and de-duplicated. Every genesis account must be zero-balance, not locked, parentless, on the same asset, and its id must derive from its system name. Three fresh system accounts are required:
system:fees,system:paxeer-reserveandsystem:paxeer-withdrawals. - Modules are registered through a plan resolved from the manifest under four gates: always on, state-commitment version, custody profile, and an explicit enable flag.
- Import section kinds are fixed at eleven: balances, vault reserves, open holds, queued withdrawals, liquidity pools, insurance pools, perps positions, pending orders, funding state, DID-to-EVM bindings and historical commitments. Each holds at most 256 items and 32 asset totals.
- Snapshot files are written per global sequence as
%020llu.lxsand are never overwritten. The store refuses a write whose rebuilt digest differs from the manifest (LXP_ERR_SNAPSHOT_MISMATCH, −902) and a legacy snapshot that omits the module-blob section while a Programs module is registered (LXP_ERR_SNAPSHOT_BLOBS_MISSING, −906). Headers are taggedLXS2without a migration authorization andLXS3with one. - The genesis builder exposes two migration commands,
--migrate-asset-v2and--migrate-snapshot-issuance, alongside building artifacts with an optional--custody-profile. - Chain-side,
platform/hosted/paxeer/custody-genesis.pywrites thelayerxcustodygenesis section thatinit-chain.shmerges: network id, one sequencer authorization with a batch range, withdrawal delay (default 3600 s), forced-exit delay (default 0 s), liveness bound (default 86400 s, minimum one hour), both delays capped at 90 days, and an asset map ofASSET_ID:DENOM[:POINTER].deposit_root_authorityis required and must be a nonzero 32-byte value;init-chain.shrefuses a custody genesis without it, because nothing sets that parameter after genesis in this bring-up. Paxeer-side genesis import can be streamed withgenesis.stream-importandgenesis.import-file, both off by default. - Not yet in the node: the shadow divergence comparison and the legacy stream reader are built from
tools/, notsrc/. Shadow comparison records up to 128 divergences across seven kinds (acceptance, ordering, balance, fee, result code, receipt, time source); the legacy reader opens a regular file read-only and refuses paths containing://or.sql. Both are offline comparison tools, not node code paths.
More in Network
External-chain connections
Reach Ethereum, Solana and IBC chains
ExploreGovernance proposals, parameters and pause
Change parameters by on-chain vote
ExploreGovernance upgrades and hard forks
Upgrades halt by height, by governance vote
ExploreInterop adapter layer
Reach Paxeer X through your own protocol
ExploreBuild on Paxeer.
Give your agent a wallet, set its policy, and settle your first call on LayerX.