What caught my attention in Dusk’s docs isn’t the privacy layer—it’s how small the atomic unit of an L1 transaction still is.

Dusk’s current transaction model carries one optional action: a transfer, memo, contract call, deployment, or blob. A June 2026 Rusk issue proposes batch transactions because multi-step user intents currently have to be split into separate transactions, each independently signed and subject to inclusion.

That matters more for financial infrastructure than it sounds.

Think issuance → payment → delivery, or a multi-leg settlement rule. If those steps are separate, the protocol does not currently guarantee they land together. One can succeed while another fails, potentially leaving an intermediate state.

There’s an important nuance: DuskVM supports inter-contract calls, so application-level composition is already possible. The gap I’m watching is lower-level transaction atomicity, not whether Dusk can run complex contracts.

To me, this is an interesting trade-off: Dusk is pushing toward regulated, programmable finance, while one core transaction primitive is still deliberately simple.

I’m curious whether native batching becomes part of the protocol—or whether Dusk keeps that complexity inside contracts and execution layers.

@Dusk $DUSK #dusk