[#CPubKey-IsValid] = xref:CPubKey.adoc[CPubKey]::IsValid :relfileprefix: ../ :mrdocs: Check syntactic correctness. == Synopsis Declared in `<pubkey.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- bool IsValid() const; ---- == Description When setting a pubkey (Set()) or deserializing fails (its header bytes don't match the length of the data), the size is set to 0. Thus, by checking size, one can observe whether Set() or deserialization has failed. This does not check for more than that. In particular, it does not verify that the coordinates correspond to a point on the curve (see IsFullyValid() for that instead). Note that this is consensus critical as CheckECDSASignature() calls it! == Return Value true if the key has a nonzero size (syntactically valid). [.small]#Created with https://www.mrdocs.com[MrDocs]#