EVM integration

Ethereum-compatible execution with an optional native PQ route.

Talero runs EVM contracts through REVM and supports a native ML-DSA-65 transaction format. The effective public-testnet policy remains classic_allowed; the native route is not mandatory.

REVM PragueEOF ECDSA compatible Native type 0x06 Runtime-gated

Choose the trust model explicitly. An application that requires PQ authorization must not silently fall back to an Ethereum ECDSA transaction.

Transaction paths

Path Formats Signature Tooling Current policy
Classic Ethereum Legacy, EIP-2930, EIP-1559 ECDSA secp256k1 MetaMask, ethers, viem Allowed; not post-quantum
Native Talero Type 0x06 ML-DSA-65 Talero-specific tooling Implemented but optional; confirm runtime availability

The two address families update the same WorldState. ML-DSA-65 does not provide Ethereum-style signer recovery, so a native type 0x06 transaction is not a standard Ethereum transaction.

Check policy before signing

Read talero_txCapabilities. On the observed public testnet it reports PQ support available, required: false, allowsLegacy: true and an effective classic_allowed policy. Applications should fail closed if the returned policy does not satisfy their requested assurance.

EVM parameters

Parameter Value
Engine/spec REVM / PragueEOF
Gas target 45,000,000
Block gas limit 90,000,000
KZG point evaluation Unavailable in the current runtime
BLS12-381 precompiles Unavailable in the current runtime

Experimental ML-DSA-65 verifier

The verifier is registered at 0x0000000000000000000000000000000000000903. Its cost is 120,000 gas plus 32 gas per calldata byte, with a 4,096-byte message maximum and a 16,384-byte input maximum. Integrators must validate the returned ABI boolean and output length; EVM call success alone is not proof of a valid signature.

Account boundary

Classic EVM accounts remain secured by ECDSA secp256k1. Calling the ML-DSA verifier or interacting with a PQ-aware contract does not change the account’s own signature scheme.