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)
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