Trap messages

Three classics that fool humans and parsers alike.

1 — Wrong checksum

Tag 10 must be the sum mod 256 of all bytes before 10=. Change one digit in the body → peer rejects or drops.

2 — BodyLength lie

Tag 9 must match the real body size. 9=5 on a fat NOS → disconnect or Resend chaos.

3 — PossDup without respect

43=Y on a Resend means do not double-trade. Your app must idempotently ignore or reconcile.

8=FIX.4.4|9=…|35=8|43=Y|49=BOB|56=ALICE|34=99|…|150=2|11=ORD-001|…|

Case file — Alice processed a dup fill and doubled position. Tag 43 was Y. Lesson learned.