Skip to content
Minerva. Post-quantum, proof of work.

Documentation · Protocol

Minerva Network Architecture

network/docs/architecture/overview.md · commit e561109 · 2026-10-23

Minerva Network is a mineable EVM L1 with standard 0x addresses and PQ-native Minerva smart accounts.

Minerva-native means No EOA anywhere. The 0x address shown to the user must be a Minerva wallet address, not a legacy externally owned account.

Layers

  • Node: CoreGeth-family PoW EVM client configured for Minerva chain ID 77137 on devnet and 77138 on testnet.
  • Native precompile: ML-DSA-65 verification at 0x0000000000000000000000000000000000004D00.
  • Contracts: MinervaAccount, MinervaAccountFactory, SecurityModeRegistry, AccountReadinessRegistry, and the devnet-only MinervaAdminVault simulator.
  • RPC gateway: proxies Ethereum JSON-RPC and adds Minerva helper methods.
  • Faucet: native MinervaPQTxV1 treasury for bounded local devnet MRV distribution.
  • Explorer-lite: reads blocks, transactions, addresses, and smart-account code through RPC.

Default Account Rule

Default Minerva Accounts are PQ Native.

They do not have an ECDSA owner, ECDSA admin key, or legacy onlyOwner control path. The account stores an ML-DSA-65 public key and verifies ML-DSA signatures through the native precompile before execution or key rotation.

Minerva-Native Reset

The old compatibility testnet is deleted and must not be treated as the production direction. It proved mining, RPC, contracts, and wallet integration, but it still depended on EOA gas payers.

The active devnet milestone is the PQ-native transaction layer documented in docs/architecture/pq-native-transaction-layer.md. It makes the Minerva wallet address the sender, charges gas to the Minerva Account balance, installs account system contracts at genesis, and disables legacy Ethereum transaction types on Minerva-native networks.

Native Boundary

Minerva-native devnet runs with:

  • genesis/system deployment for account contracts
  • MinervaPQTxV1 for faucet, raw wallet submission, and smart-account deployment gas
  • miner rewards sent to a Minerva wallet address
  • legacy transaction rejection by consensus (minervaNativeOnly fork); MINERVA_EOA_TXS=0 remains a deprecated local policy

Legacy EOA tooling may exist only in explicitly non-native experiments and guardrails. It is not part of the default Minerva Account model.

Hash-Based PQ Research

Minerva vendors Vitalik Buterin's SPHINCS- snapshot under third_party/sphincsminus (upstream https://github.com/vbuterin/sphincsminus).

This is research code only. It is useful for evaluating a future SPHINCS/SLH-DSA-style fallback, but it is not currently registered in CoreGeth, not accepted by MinervaAccount, and not used by wallet defaults. The local evidence command is:

pnpm research:sphincs-minus:smoke

PQ Admin Simulator

MinervaAdminVault is a devnet-only proof contract for future protocol/admin controls. Its treasury and policy functions require msg.sender to be a configured Minerva Account, so a non-controller sender cannot execute privileged actions. pnpm devnet:pq-admin-smoke proves those actions through ML-DSA authorization and executePQ; when the faucet service is running, it also uses the PQ vault to top up the faucet hot wallet before exercising a faucet claim.

Current Devnet Registration

The Minerva-owned verifier lives in Go at:

clients/minerva-node/precompile/mldsa65

The local CoreGeth fork registers it through:

clients/minerva-node/coregeth/core/vm/contracts_minerva.go

That adapter exposes the verifier at 0x0000000000000000000000000000000000004D00 on every Minerva network from its minervaMLDSA65PrecompileBlock fork, decodes (bytes publicKey, bytes message, bytes context, bytes signature), and returns (bool valid).

The stock-Geth fallback documented for debugging does not include this precompile. The supported devnet path is the local Minerva CoreGeth fork and is covered by pnpm coregeth:test and pnpm devnet:acceptance.