#dusk $DUSK @Dusk One detail worth understanding about Dusk's architecture: it's not a single execution environment, it's two, built for different purposes.
DuskVM (originally called Rusk VM in the 2021 whitepaper) is the native environment — Rust/WASM contracts that execute directly on Dusk L1, with built-in access to zero-knowledge proof verification and the protocol's privacy primitives. This is where Zedger-style compliance logic and confidential transactions live natively.
DuskEVM is the newer layer — Solidity contracts, EVM wallets, standard Ethereum tooling. It settles on DuskDS and can reach into the L1's privacy-oriented workflows when an application needs them.
The choice isn't about one being "better" — it's about what you're building. Teams porting existing EVM applications or wanting standard tooling go DuskEVM. Teams building something that needs deep integration with Dusk's native privacy and compliance machinery go DuskVM.
It's a practical split: familiarity on one side, native capability on the other, both settling on the same base layer.
DuskVM (originally called Rusk VM in the 2021 whitepaper) is the native environment — Rust/WASM contracts that execute directly on Dusk L1, with built-in access to zero-knowledge proof verification and the protocol's privacy primitives. This is where Zedger-style compliance logic and confidential transactions live natively.
DuskEVM is the newer layer — Solidity contracts, EVM wallets, standard Ethereum tooling. It settles on DuskDS and can reach into the L1's privacy-oriented workflows when an application needs them.
The choice isn't about one being "better" — it's about what you're building. Teams porting existing EVM applications or wanting standard tooling go DuskEVM. Teams building something that needs deep integration with Dusk's native privacy and compliance machinery go DuskVM.
It's a practical split: familiarity on one side, native capability on the other, both settling on the same base layer.