clientOrderId. It is the identity of one trading intent.
The rule is simple: one intent, one id, forever.
- Mint a new id when the trader creates a new intent.
- Reuse the same id when you retry the same intent, no matter why the first attempt failed.
- Never reuse an id for a different intent.
409 and the earlier order stands. That is the guarantee doing
its job: a timeout, a crashed process, or a double-clicked button can re-send the request as many
times as it likes, and the trader still gets exactly one order.
This matters most when things go wrong. If a request times out, you do not know whether the
engine received it. With a stable clientOrderId you do not need to know. Retry with the same
id: either it places now, or it answers 409 because it already placed. Both outcomes are
correct, and neither doubles the trader’s position.