Notifies peer that a message is invalid

compact int N (max 12) N bytes 1 byte compact int M (max 111) M bytes
command length command error code reason length reason string

command length and command form a vector of bytes that identify the type of the problem message. These bytes (less padded nulls) match the command field in the protocol message envelope.

reason length and reason string form a vector of bytes that is a string providing a human language explanation of the reason the message was rejected. This string is subject to change so client software SHOULD NOT use it programatically.

error code provides a succinct machine-interpretable reason why the message was rejected.

Reject Error Codes

Name Value Response To Description
REJECT_MALFORMED 0x01 any message cannot be deserialized
REJECT_INVALID 0x10 BLOCK, TX, FILTERSIZEXTHIN block or transaction is invalid, or xthin filter size is too small
REJECT_OBSOLETE 0x11 VERSION This node no longer supports your client protocol version
REJECT_DUPLICATE 0x12 unused
REJECT_NONSTANDARD 0x40 TX Transaction is non-standard, or not final as per BIP68
REJECT_DUST 0x41 TX Transaction has an output that is too small
REJECT_INSUFFICIENTFEE 0x42 TX Transaction does not pay enough to be relayed
REJECT_CHECKPOINT 0x43 unused
REJECT_WAITING 0x44 TX This transaction is not final