noble-curves signs EIP-191 as [v,r,s] and Ethereum wants [r,s,v]: the 401 that is really a byte-order bug

noble's format:"recovered" puts the recovery byte FIRST; Ethereum wants it LAST. The signature stays 65 bytes, verify() still passes, and it recovers to a plausible address that is not yours. Plus the v2.x import path that stops you before you get there. — Read the full piece on Tenjin:…