[[failure_types_table]]
.Onion error failure types
[options="header"]
|===
| Type | Symbolic name | Meaning
| `PERM\|1` | +invalid_realm+ | The `realm` byte was not understood by the processing node
| `NODE\|2` | +temporary_node_failure+ | General temporary failure of the processing node
| `PERM\|NODE\|2` | +permanent_node_failure+ | General permanent failure of the processing node
| `PERM\|NODE\|3` | +required_node_fea&#x2060;ture_&#x200b;missing+ | The processing node has a required feature which was not in this onion
| `BADONION\|PERM\|4` | +invalid_onion_version+ | The `version` byte was not understood by the processing node
| `BADONION\|PERM\|5` | +invalid_onion_hmac+ | The HMAC of the onion was incorrect when it reached the processing node
| `BADONION\|PERM\|6` | +invalid_onion_key+ | The ephemeral key was unparsable by the processing node
| `UPDATE\|7` | +temporary_channel_&#x200b;fail&#x2060;ure+ | The channel from the processing node was unable to handle this HTLC,
but may be able to handle it, or others, later
| `PERM\|8` | +permanent_channel_&#x200b;fail&#x2060;ure+ | The channel from the processing node is unable to handle any HTLCs
| `PERM\|9` | +required_channel_&#x200b;fea&#x2060;ture_missing+ | The channel from the processing node requires features not present in
the onion
| `PERM\|10` | +unknown_next_peer+ | The onion specified a `short_channel_id` which doesn't match any
leading from the processing node
| `UPDATE\|11` | +amount_below_minimum+ | The HTLC amount was below the `htlc_minimum_msat` of the channel from
the processing node
| `UPDATE\|12` | +fee_insufficient+ | The fee amount was below that required by the channel from the
processing node
| `UPDATE\|13` | +incorrect_cltv_expiry+ | The `cltv_expiry` does not comply with the `cltv_expiry_delta` required by
the channel from the processing node
| `UPDATE\|14` | +expiry_too_soon+ | The CLTV expiry is too close to the current block height for safe
handling by the processing node
| `PERM\|15` | +incor&#x2060;rect_or_unknown_&#x200b;pay&#x2060;ment_details+ | The `payment_hash` is unknown to the final node, the `payment_secret` doesn't
match the `payment_hash`, the amount for that `payment_hash` is incorrect, or
the CLTV expiry of the HTLC is too close to the current block height for safe
handling
| `18` | +final_incor&#x2060;rect_&#x200b;cltv_expiry+ | The CLTV expiry in the HTLC doesn't match the value in the onion
| `19` | +final_incor&#x2060;rect_&#x200b;htlc_amount+ | The amount in the HTLC doesn't match the value in the onion
| `UPDATE\|20` | +channel_disabled+ | The channel from the processing node has been disabled
| `21` | +expiry_too_far+ | The CLTV expiry in the HTLC is too far in the future
| `PERM\|22` | +invalid_onion_payload+ | The decrypted onion per-hop payload was not understood by the processing node
or is incomplete
| `23` | +mpp_timeout+ | The complete amount of the multipart payment was not received within a
reasonable time
|===
