$DUSK #dusk @Dusk

I went digging through Dusk’s transaction docs because I kept seeing “accepted,” “executed” and “finalized” treated like they meant the same thing.

They don’t.

On Dusk’s /on/transactions/propagate endpoint, a 202 Accepted response only means the node accepted the transaction for routing. It doesn’t prove the transaction entered the mempool, propagated to peers, executed successfully, or reached finality.

Then it gets more interesting.

The lifecycle is much longer: broadcast → validation → mempool → candidate block → block acceptance/execution → confirmation → finality.

And execution itself doesn’t necessarily mean success. Dusk can emit a transaction-executed event with an error when the contract action fails or reverts. So “executed” and “successful” aren’t interchangeable either.

That distinction feels especially important for financial applications, where treating an early status as success could mean acting on something that isn’t actually final.

The part I keep coming back to is 202 Accepted.

A transaction can look accepted to an application while Dusk’s own integration docs explicitly separate routing from execution and finality.

I wonder how many integrations treat 202 Accepted as success when Dusk explicitly separates routing, execution and finality?

What does “Accepted” mean to you? 👀
$ALPINE $ACE
🧐 Finality
43%
💫 Execution
29%
👀 Mempool
14%
🧠 All three
14%
7 Stimmen • Abstimmung beendet