# M11-L04 — Lab contract

**Build:** Model CREATED,SIGNED,BROADCAST,UNKNOWN,CONFIRMED,FAILED.

**Pass:** Timeout enters UNKNOWN; reconciler resolves by tx hash/nonce.

**Failure injection:** Retrying payment as a new tx may double-send.

**Review question:** When is FAILED actually safe to assign?

Status: specification; only count as executable when source and tests are present and verified.
