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 need | Path | Requirement |
|---|
| Ethereum compatibility | ECDSA secp256k1 | MetaMask, ethers or viem; not post-quantum |
| Post-quantum transaction signature | Native type 0x06 with ML-DSA-65 | Custom 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.