#dusk $DUSK @Dusk
Hey, you know… one question about @DuskFoundation has stayed with me: if an exchange receives “202 Accepted” for my withdrawal, why is the job not finished?
We are used to reading a response as “done.” But on a blockchain, submission and settlement are different moments.
On Dusk L1, “202 Accepted” only means a node accepted the transaction for routing. It does not prove that the transaction entered the mempool, reached peers, executed successfully, or became final.
Dusk separates those steps. “transactions/included” signals local mempool admission. “transactions/executed” means the transaction ran inside an accepted block, where the “err” field must be null. Finality arrives when a “blocks/statechange” event is marked “finalized.” Before that, an accepted block may still be reverted.
Hypothetically, suppose I withdraw DUSK from an exchange. Its system signs the Moonlight transaction, stores its bytes and ID, then broadcasts it. The 202 response confirms routing—not completion. The exchange must verify execution and finalized block status.
But I stopped here for a moment.
Maybe finality is not only a consensus feature. It is an operational responsibility.
So when is a withdrawal,truly complete: when the API answers, or when reversal is no longer possible? I’m still thinking about this. 🤔
Hey, you know… one question about @DuskFoundation has stayed with me: if an exchange receives “202 Accepted” for my withdrawal, why is the job not finished?
We are used to reading a response as “done.” But on a blockchain, submission and settlement are different moments.
On Dusk L1, “202 Accepted” only means a node accepted the transaction for routing. It does not prove that the transaction entered the mempool, reached peers, executed successfully, or became final.
Dusk separates those steps. “transactions/included” signals local mempool admission. “transactions/executed” means the transaction ran inside an accepted block, where the “err” field must be null. Finality arrives when a “blocks/statechange” event is marked “finalized.” Before that, an accepted block may still be reverted.
Hypothetically, suppose I withdraw DUSK from an exchange. Its system signs the Moonlight transaction, stores its bytes and ID, then broadcasts it. The 202 response confirms routing—not completion. The exchange must verify execution and finalized block status.
But I stopped here for a moment.
Maybe finality is not only a consensus feature. It is an operational responsibility.
So when is a withdrawal,truly complete: when the API answers, or when reversal is no longer possible? I’m still thinking about this. 🤔