# CheckCancel [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CancelCheck.cpp) Cancels an unredeemed [check](/es-es/docs/concepts/payment-types/checks), removing it from the ledger without sending any money. The source or the destination of the check can cancel a check at any time. If the check has expired, any address can cancel it. Checks ## Example JSON ```json { "Account": "rUn84CUYbNjRoTQ6mSW7BVJPSVJNLb1QLo", "TransactionType": "CheckCancel", "CheckID": "49647F0D748DC3FE26BDACBC57F251AADEFFF391403EC9BF87C97F67E9977FB0", "Fee": "12" } ``` ## Fields In addition to the [common fields](/docs/references/protocol/transactions/common-fields), transactions use the following fields: | Field | JSON Type | [Internal Type](/docs/references/protocol/binary-format) | Description | | --- | --- | --- | --- | | `CheckID` | String | UInt256 | The ID of the [Check ledger object](/es-es/docs/references/protocol/ledger-data/ledger-entry-types/check) to cancel, as a 64-character hexadecimal string. | ## Error Cases - If the object identified by the `CheckID` does not exist or is not a Check, the transaction fails with the result `tecNO_ENTRY`. - If the Check is not expired and the sender of the CheckCancel transaction is not the source or destination of the Check, the transaction fails with the result `tecNO_PERMISSION`. ## See Also - [Check entry](/docs/references/protocol/ledger-data/ledger-entry-types/check)