v0.4.10
Book-level validation in the data layer: best_bid_ask and band_ask_depth_usd now validate every level (finite price within [0, 1], finite size >= 0). Invalid levels are excluded with one counted warning; an all-invalid side reads as empty. This closes the last parser that could still raise through the MCP book tool or pass NaN into comparisons and paper fills. book_meta, get_book and resolved_winner join the same fail-closed contract.
Also: startup introspection now covers cancel_orders, post_only and get_clob_market_info (verified on py-clob-client-v2 1.0.2); http_get_json caps response bodies at 8 MB; paper account_trades counts BUY-side fees only, matching live semantics; real-client construction branches pinned by tests; Repository URL for PyPI.
Full details in CHANGELOG.md. 157 tests.