Wallet

One wallet surface. Two signature routes.

Use Ethereum wallets on the classic route or native ML-DSA-65 authorization on type 0x06, with finality semantics applications can display precisely.

MetaMask compatible pathNative 0x06 pathPrivacy-gated readsAdvisory status

Public-safe is not unrestricted. Privacy, safe-mode, read-only, quota, role and gateway policies can still mask or deny a listed surface.

Choose the transaction path

User needPathRequirement
Ethereum compatibilityECDSA secp256k1MetaMask, ethers or viem; not post-quantum
Post-quantum transaction signatureNative type 0x06 with ML-DSA-65Custom SDK; not an Ethereum transaction

The two paths coexist under classic_allowed, use distinct address families and share one WorldState.

Finality display

Use talero_finalizedHead as the canonical finality read. Treat talero_getWalletFinalityStatus, estimates and BFT status as diagnostic or advisory. A lag signal must not be displayed as guaranteed irreversible settlement.

Privacy and submission

Balance and transaction-count reads can be masked or denied by the privacy gate. Transaction submission can be denied by read-only or deployment policy. Wallets should surface these policy outcomes rather than infer missing data.