1
Connect Passkey with PRF
Ready
Connect an existing passkey or create a new one. The PRF extension provides hardware-bound entropy for key derivation.
2
Connect Ethereum Wallet
Waiting
Connect your wallet to bind keys to your Ethereum address, or derive a secp256k1 keypair from the mnemonic.
Two options:
• Connect Wallet — Use existing ETH address, sign to prove ownership
• Derive K1 from PRF — Generate secp256k1 keypair from mnemonic (path: m/44'/60'/0'/0/0)
• Connect Wallet — Use existing ETH address, sign to prove ownership
• Derive K1 from PRF — Generate secp256k1 keypair from mnemonic (path: m/44'/60'/0'/0/0)
3
Derive ML-DSA-44 Key (PQBIP39)
Waiting
Derive a post-quantum ML-DSA-44 keypair from the BIP39 mnemonic using path m/44'/9003'/0'/0/0.
PRF (32 bytes) → BIP39 Mnemonic → PBKDF2 → BIP32 → ML-DSA-44
4
Sign & Verify
Waiting
Sign a message with your ML-DSA-44 private key and verify the signature.
5
Deploy ERC-4337 Account Contract
Waiting
Deploy the ZKNOX_ERC4337_account contract with your hybrid (ECDSA + ML-DSA) keys.
Contract Addresses
Public Keys
Leave empty to derive from connected wallet
Auto-filled from Step 3 (1312 bytes)
Compile with:
forge build then get bytecode from artifacts↻
Recover from Mnemonic
If you have a 24-word mnemonic from a previous derivation, recover your keys without the passkey.
ML-DSA-44 = 9003, ML-DSA-65 = 9004, secp256k1 = 60