
Expiry, canceling and blocking
3 minDifficulty Checked 2026-11-10- The sender or the receiver can cancel a check at any time. After expiry, anyone can.
- An expired check cannot be cashed, but it stays on the ledger until someone cancels it.
- An account can block incoming checks. With Deposit Authorization on, it can still cash checks.
A check does not have to live forever.
Expiry. The sender can put an end time on a check. After that time, it cannot be cashed. The check does not vanish, though. It sits on the ledger as a dead note until someone cleans it up.
Canceling. Canceling removes the check and moves no money.
- Before expiry: the sender can cancel. So can the receiver.
- After expiry: anyone can cancel it.
When a check is removed, the sender gets back the small reserve it was holding, 0.2 XRP today.
So if you wrote a check and changed your mind, cancel it. If someone sent you a check you do not want, you can cancel that too, or ignore it.
Blocking. A check from a stranger cannot take your money or give you anything unless you cash it. But stray checks still clutter your account. You can switch on a setting that refuses all incoming checks.
Checks and locked-down accounts. Some accounts turn on Deposit Authorization. They reject payments from senders they have not approved. Those accounts can still cash a check, because cashing is their own action. That makes a check a polite way to pay someone who does not accept payments from strangers.
Before you cash a check from someone you do not know, look at what it pays. A check for an unknown token gives you that token and a trust line for it.
Expiration. Expiration on CheckCreate is in seconds since the Ripple Epoch. Creating a check with a past Expiration fails with tecEXPIRED. Cashing an expired check fails with tecEXPIRED too. The Check entry remains until a CheckCancel removes it.
CheckCancel. One field: CheckID.
- Not expired, and the sender is neither source nor destination:
tecNO_PERMISSION. - No such check:
tecNO_ENTRY. - All-zero
CheckID:temMALFORMED.
Removing the entry frees one item of the sender's owner reserve.
Blocking incoming checks. The DisallowIncoming amendment (enabled 2023-08-21) added the asfDisallowIncomingCheck account flag, set with AccountSet. While it is on, a CheckCreate naming that account as Destination fails with tecNO_PERMISSION. Without the flag, any account can create a check to any other account. That is usually harmless. xrpl.org notes that such objects can block an account from being deleted later and can be part of scams.
Deposit Authorization. An account with Deposit Authorization enabled can still receive XRP or tokens by sending CheckCash. Checks, escrows and payment channels all use a two-step model where the destination sends its own transaction to receive.
Finding checks. Call account_objects with type set to check. The result includes checks the account sent and checks sent to it:
Destinationis the receiver.Accountis the sender.- Each entry's
indexis itsCheckID.
Results may be paginated with a marker.
Related: Wallets, keys and safety, Collecting safely.
- ChecksRead 2026-11-10
- CheckCancelRead 2026-11-10
- Deposit AuthorizationRead 2026-11-10
- Look Up ChecksRead 2026-11-10
- Known AmendmentsRead 2026-11-10
