{"uid":"cap_unm1sOcw-25Cyc-3RngaJ","slug":"xrp-ledger-payment-verification-f9731b51","name":"XRP Ledger Payment Verification","description":"Verifies that an XRP Ledger payment settled as expected: validation, result code, destination, destination tag, currency, issuer, and the amount actually delivered, which exposes partial-payment tricks. Useful when confirming that a customer or counterparty really paid.","url":"https://bruk-agent-api.fly.dev/v1/payment-check?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET","HEAD","DELETE"],"type":"string"},"queryParams":{"type":"object","required":["tx"],"properties":{"tx":{"type":"string","pattern":"^[0-9A-Fa-f]{64}$","description":"64-character transaction hash."},"amount":{"type":"string","description":"Expected delivered amount, decimal, e.g. 25 or 25.5."},"issuer":{"type":"string","pattern":"^r[1-9A-HJ-NP-Za-km-z]{24,34}$","description":"Expected token issuer r-address."},"network":{"enum":["mainnet","testnet"],"type":"string","description":"XRP Ledger network. Default mainnet."},"currency":{"type":"string","description":"Expected currency, e.g. XRP or RLUSD."},"destination":{"type":"string","pattern":"^r[1-9A-HJ-NP-Za-km-z]{24,34}$","description":"Expected receiving r-address."},"destination_tag":{"type":"string","pattern":"^[0-9]+$","description":"Expected destination tag."}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_EnkwUr84T1ClRinU8FCXz","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Verifies that an XRP Ledger transaction settled correctly by checking validation status, result code, destination, destination tag, currency, issuer, and delivered amount to detect partial-payment attacks.","exampleAgentPrompt":"Can you verify that XRP Ledger transaction A1B2C3D4E5F67890A1B2C3D4E5F67890A1B2C3D4E5F67890A1B2C3D4E5F67890 on mainnet actually delivered 25 RLUSD to rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe with destination tag 12345 from issuer rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh?","exampleUseCases":[{"title":"Confirm customer payment before shipping","prompt":"A customer says they paid me 50 XRP — the transaction hash is DEADBEEF1234567890DEADBEEF1234567890DEADBEEF1234567890DEADBEEF12 on mainnet and my receiving address is rN7n3473SaZBCG4dFL83w7PB9zBPmVJZhv. Can you verify it actually delivered 50 XRP to me?"},{"title":"Detect partial payment attack on RLUSD invoice","prompt":"I received a payment for invoice #992 — tx hash is AAAA1111BBBB2222CCCC3333DDDD4444EEEE5555FFFF6666000077778888ABCD on mainnet. Verify it delivered exactly 100 RLUSD from issuer rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh to my address rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe with destination tag 5001."},{"title":"Counterparty settlement check on testnet","prompt":"Our counterparty claims they settled a test transaction — hash is FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210 on testnet. Please check that it reached rGWrZyax5eXbi5gs49MRZKmj2en9jp9Wg with destination tag 99 and delivered 200 XRP."}],"resultDescription":"Returns a structured validation report confirming whether the transaction is validated on the ledger, its result code (e.g. tesSUCCESS), whether the destination address and tag match expectations, whether the currency and issuer match, and critically the actual delivered amount — which exposes partial-payment discrepancies where the delivered amount differs from the instructed amount.","failureModes":["Invalid or malformed 64-character transaction hash returns an error","Transaction not found on the specified network (mainnet vs testnet mismatch)","Transaction exists but failed (non-tesSUCCESS result code reported)","Delivered amount does not match expected amount (partial payment detected)","Destination or destination tag mismatch flagged in response","Issuer address does not match expected issuer for token payments","Network unavailable or XRPL node unreachable causes timeout"],"whenToPreferThis":"Use this endpoint when you need to programmatically confirm that an XRP Ledger payment truly settled as expected — particularly when guarding against partial-payment exploits where the delivered amount is less than instructed. Prefer this over manual ledger inspection when building automated payment confirmation workflows, e-commerce checkout verification, or counterparty settlement checks. It is especially valuable for token (RLUSD, IOU) payments where issuer verification matters.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-23T18:30:13.622Z","isFirstParty":false,"canonicalSlug":"xrp-ledger-payment-verification-f9731b51"}