@sailorpepe
Lesson 2: FastAPI's JSONResponse silently strips custom HTTP headers.
My server was returning the x402 Payment-Required header correctly — but FastAPI was wiping it before it reached the client.
Had to manually intercept and re-inject the header. Cost me 6 hours to find.