# M03-L02 — Lab contract

**Build:** Send local transaction, poll receipt, inspect status and block.

**Pass:** Hash appears first; receipt status=1 only after inclusion.

**Failure injection:** HTTP success from eth_sendRawTransaction does not mean payment success.

**Review question:** How do you model unknown outcome after timeout?

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