← All posts
AUG 3, 2026 · 12 MIN READ · XRPL TRANSACTION RELIABILITY

XRPL Transaction Failure Codes and Fees: What Actually Costs XRP

By XORA Research · Published

Only two of XRPL's six transaction result families, tes and tec, can appear as the final result in a validated ledger. A validated result in either family destroys the transaction's fee and consumes its Sequence or Ticket, even though a tec result means the intended action failed. The other four families do not charge XRP with that result, but a provisional response can change, so the ledger rather than the submission response is the source of truth.

The six XRPL transaction result code families and numeric bands Six labelled rows show tel from negative 399 to negative 300, tem from negative 299 to negative 200, tef from negative 199 to negative 100, ter from negative 99 to negative 1, tes at zero, and tec beginning at 100. Only tes and tec are highlighted as validated ledger result families. Six code families, only two validated ledger outcomes PREFIX NUMERIC BAND FINAL LEDGER ROLE tel −399 to −300 Local error, not included tem −299 to −200 Malformed, not included tef −199 to −100 Failure, not included ter −99 to −1 Retry later, not included yet tes 0 Validated success tec 100+ Validated, cost claimed Numeric values aid orientation. Production logic should use the text codes.
The code bands are protocol categories, not a frequency distribution. Green marks the only two families that can be recorded as final transaction results in validated ledger metadata.

The numeric map is for orientation. Current xrpld source starts tec at 100 and reserves the positive claim band through 255, while individual assignments can evolve. Applications should branch on text codes rather than hardcoded integers.

Open Xora → Calculate XRP yield →

Six families, one settlement boundary

The XRPL finality guide states the boundary directly: a validated ledger can contain successful tes results and failed tec results, and no transaction with another result is included. That makes 2 of 6 families, or 33.3% of the family taxonomy, eligible to be final ledger outcomes. It does not mean that one third of transactions validate or fail.

FamilyMeaning at submissionIn validated ledger with this result?Fee and Sequence at that pointNext action
tesApplied successfully on the server's provisional viewYes, if consensus validates itFee burned, Sequence or Ticket usedVerify validated metadata before acting
tecIntended action failed, but cost may be claimedYes, if consensus validates itFee burned, Sequence or Ticket usedInspect metadata, fix cause, build a new transaction
terNot applied yet and potentially retryableNoNo burn or consumption yetTrack; the server may retry automatically
tefCould not apply under the relevant ledger conditionsNoNo new burn or consumptionDiagnose finality, authorization, or sequence state
temMalformed under protocol rulesNoNo burn or consumptionCorrect fields, then sign a new transaction
telLocal server limit or conditionNoNo burn or consumption yetTrack the hash; retry through a trusted server if appropriate

The wording “at that point” matters. The response from submit is provisional. A transaction can return terQUEUED, be applied later, and finish as either tes or tec. A transaction can even return provisional tesSUCCESS and later fail after consensus changes the transaction order. The authoritative check is a validated transaction response and its meta.TransactionResult, not the first engine response.

Why a tec failure still burns XRP

tec means “transaction engine, claimed cost.” The official code reference says a validated tec transaction destroys the fee and consumes a sequence number. The current xrpld source mapping is even terser: tecCLAIM is described as “Fee claimed. Sequence used. No action.”

This is intentional spam resistance. A transaction that reached consensus consumed network work even if its payment path was dry, its destination required a tag, or the sender lacked reserve for a new object. Charging only successful business actions would make failed execution an inexpensive load vector.

“No action” is a useful default, not a universal metadata promise. The tec documentation warns that some outcomes can perform bookkeeping or cleanup. For example, tecOVERSIZE may remove unfunded offers. Read AffectedNodes before assuming every ledger object is unchanged.

XRPL result family settlement accounting A six family taxonomy branches into two families eligible for validated ledger inclusion and four families that are not included with their current result. Every included transaction burns its signed Fee amount under normal rules and uses its signed Sequence or Ticket. Settlement accounting follows inclusion, not submission count 6 result families tel · tem · tef · ter · tes · tec 4 of 6 are not included tel · tem · tef · ter 0 fee burned with that result 2 of 6 can be included tes · tec 33.3% of family taxonomy 1 signed Fee amount burned per included transaction Sequence or Ticket used on inclusion
Two families can settle, while four cannot appear with that prefix in a validated ledger. This classification says nothing about transaction traffic proportions.

The current base fee and the two congestion thresholds

At publication, the current minimum network cost for a standard reference transaction was 10 drops, equal to 0.00001 XRP. A publication date query to Ripple's public server also returned 10 drops for the base fee, minimum queue fee, and open ledger fee, with a load factor of 1. The fee method is the correct live check before signing.

Base cost is not a permanent quote. A fee below a server's local load threshold can be ignored without relay. A fee that clears local load but not the open ledger threshold can enter the queue and return terQUEUED. Paying the open ledger threshold can make a transaction eligible for the current open ledger, but it still does not make its result final.

Most transactions use the 10 drop reference cost before scaling. Exceptions include multisigned transactions, which scale with signature count, and special types such as AccountDelete, AMMCreate, and EscrowFinish with a fulfillment. The ledger destroys the exact signed Fee when a normal transaction is included, even if the signer overpaid. XRP does not go to a validator or operator.

Low balance exception: terINSUF_FEE_B is an initial, nonledger result when the account cannot fund its signed fee. If the transaction was already distributed and the balance falls before consensus, tecINSUFF_FEE can be validated and destroy all XRP still available, even when that is less than the signed fee.

A worked recovery cost model in XRP

For standard reference transactions under minimum load, let F = 10 drops = 0.00001 XRP. Excluding the low balance exception above, total XRP destroyed is the sum of the signed fees for distinct transactions that finish in validated ledgers. Local rejections, malformed submissions, and provisional retries contribute zero until one of those transactions is actually included.

Recovery pathRaw responses seenValidated inclusionsCost at F
Malformed amount, rebuilt successfullytem, then tes110 drops, 0.00001 XRP
Queued, then same transaction succeedster, then tes110 drops, 0.00001 XRP
Dry path, corrected path succeedstec, then new tes220 drops, 0.00002 XRP
Two validated failures, third version succeedstec, tec, tes330 drops, 0.00003 XRP
Three validated failures, fourth version succeeds3 × tec, then tes440 drops, 0.00004 XRP

The model counts inclusions, not network sends. Rebroadcasting the same signed transaction does not create another spend each time. Its account sequence makes it processable at most once. By contrast, rebuilding after a validated tec needs a fresh Sequence or Ticket because the failed inclusion already consumed the previous one.

Recovery cost by validated transaction count at the 10 drop base fee Four green bars show one validated transaction costs 10 drops or 0.00001 XRP, two cost 20 drops or 0.00002 XRP, three cost 30 drops or 0.00003 XRP, and four cost 40 drops or 0.00004 XRP. Standard transaction recovery cost at F = 10 drops 0 10 20 30 40 drops 10 drops 1 included 0.00001 XRP 20 drops 2 included 0.00002 XRP 30 drops 3 included 0.00003 XRP 40 drops 4 included 0.00004 XRP
At the 10 drop reference cost, each additional validated tec or tes adds 0.00001 XRP. Load scaling and special transaction costs change F, not the accounting rule.

Recovery playbook by result family

  1. For tes, verify before crediting. Wait for validated: true, then inspect metadata. Success means the transaction followed protocol rules, but the business effect may still differ from an operator's assumption.
  2. For tec, treat the fee and sequence as spent only after validation. Read the exact code and affected nodes. Fix the cause before building a new transaction with current ledger state.
  3. For ter, wait and track. The server may retry automatically. terQUEUED is not another charged attempt, and a new transaction can conflict with the original.
  4. For tef, diagnose rather than loop. Authentication, past sequence, ledger expiry, or an already applied transaction may be involved. tefALREADY is a reason to find the earlier validated outcome, not duplicate the payment.
  5. For tem, rebuild. Correct the malformed fields and sign again. The original transaction is normally final as invalid unless protocol rules later change.
  6. For tel, separate server policy from protocol validity. Another trusted server or a later time may produce a different provisional result, but continue tracking the signed hash because local servers can cache and retry candidates.

The reliable submission procedure recommends adding LastLedgerSequence to every transaction, persisting the hash, sender, Sequence, latest validated ledger, and expiry before submission, then checking validated history. For automated systems, the documented starting point is four ledgers beyond the latest validated ledger. Only after the expiry ledger is validated, the server has continuous history, and the hash is absent can an application classify the candidate as never included.

Operational rule: never convert an uncertain result into a second payment. First reconcile the original hash, its Sequence or Ticket, LastLedgerSequence, and the sender's validated transaction history.

Risk limits the cost model cannot remove

The model isolates protocol fee cost. It does not price losses from sending to the wrong destination, using a missing exchange tag, accepting a poor exchange path, signing an excessive fee, or duplicating an application level credit. It also does not cover custody, key compromise, network access, market, liquidity, or counterparty risk.

Fee and result semantics can evolve through amendments and validator fee voting. Check the live fee response, current transaction type rules, and validated metadata rather than freezing the 10 drop example into a permanent assumption. For a broader fee scaling model, see XRPL transaction fees explained.

FAQ

Which XRPL transaction result codes are final?

A tesSUCCESS or tec result is final only when it appears in a validated ledger. A tem result is normally final unless protocol rules change. Other provisional results require ledger tracking, transaction hash checks, and LastLedgerSequence expiry before an application can safely conclude what happened.

Does an XRPL tec result mean no fee was charged?

No. A validated tec result means the intended action failed, but the transaction cost was destroyed and the sequence number or Ticket was consumed. Some tec outcomes can also perform limited bookkeeping, so inspect the validated metadata.

Does every failed XRPL transaction use a sequence number?

No. A transaction uses its sequence number or Ticket only if it is included in a validated ledger. That covers validated tes and tec outcomes. A tel, tem, tef, or ter response does not consume it unless the transaction is later included with a different final result.

Should an XRPL transaction with a ter result be retried?

Treat ter as not applied yet, not as a final failure. The server may retry it automatically. Track the original hash until it validates or its LastLedgerSequence has passed across continuous validated history, then rebuild only if the verified outcome permits it.

What is the minimum XRPL transaction fee?

At publication, the minimum cost for a standard reference transaction was 10 drops, equal to 0.00001 XRP. Network load can raise the cost required for immediate inclusion, and multisigned transactions plus several special transaction types have higher minimum costs.

Sources checked

Put XRP to work after the transaction is final

A low ledger fee does not make any product return automatic or remove custody, liquidity, market, operational, or counterparty risk. Review how assets are held and how withdrawals work before moving funds. You can compare scenarios in the XRP yield calculator, read the XRP yield methods guide, and inspect XORA's security model.

Put your XRP to work with XORA and earn up to 22% APY value, never guaranteed, instead of leaving it idle on an exchange. The offer is up to 22% APY value: 15% native XRP yield, treasury-subsidised during a disclosed bootstrap, plus estimated XORA reward value. Rates and reward value are variable, principal is at risk, and past performance does not assure future results.

Put your XRP to work with XORA → Read the security model →