{"uid":"cap_unfzFSr9dccxCPujry6Vo","slug":"xrp-ledger-pre-send-payment-check-ca089390","name":"XRP Ledger Pre-Send Payment Check","description":"Pre-send check for an XRP Ledger payment: whether the destination is activated, requires a destination tag, blocks or pre-approves senders, can hold the token (trust line, limit, freeze, issuer approval), is blackholed, and whether the source can afford it. Returns ok_to_send, send_with_caution, or will_fail with reasons. Useful before any irreversible XRP Ledger payment.","url":"https://bruk-agent-api.fly.dev/v1/send-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":["destination"],"properties":{"amount":{"type":"string","description":"Amount to send, decimal."},"issuer":{"type":"string","pattern":"^r[1-9A-HJ-NP-Za-km-z]{24,34}$","description":"Token issuer r-address. RLUSD defaults to Ripple's issuer."},"source":{"type":"string","pattern":"^r[1-9A-HJ-NP-Za-km-z]{24,34}$","description":"Sending r-address, to check balance and sender pre-approval."},"network":{"enum":["mainnet","testnet"],"type":"string","description":"XRP Ledger network. Default mainnet."},"currency":{"type":"string","description":"XRP (default), RLUSD, or a token code."},"destination":{"type":"string","pattern":"^r[1-9A-HJ-NP-Za-km-z]{24,34}$","description":"Receiving r-address."},"destination_tag":{"type":"string","pattern":"^[0-9]+$","description":"Destination tag planned for the payment."},"mpt_issuance_id":{"type":"string","pattern":"^[0-9A-Fa-f]{48}$","description":"48-hex MPT issuance id. Use instead of currency and issuer. Amount is in display units."}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","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.005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_YtIK2ELJeMs38opb72vCl","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Validates whether an XRP Ledger payment is safe to send by checking destination account status, token trust lines, sender affordability, and other risk factors before an irreversible transaction.","exampleAgentPrompt":"Before I send 500 RLUSD to rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh on mainnet from my wallet rN7n3473SaZBCG4dFL83w7PB5eMmQVEBMj, can you run a pre-send check to make sure the payment won't fail — including whether the destination is activated, can hold RLUSD, and whether I can afford it?","exampleUseCases":[{"title":"Pre-flight check before RLUSD transfer","prompt":"I'm about to send 1000 RLUSD to rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe from my wallet rN7n3473SaZBCG4dFL83w7PB5eMmQVEBMj — can you verify the destination can actually receive RLUSD and that my balance is sufficient before I commit?"},{"title":"Destination tag requirement check","prompt":"I need to send 200 XRP to rLHzPsX6oXkzU2qL12kHCH8G8cnZv1rBJh — will this payment go through, and does this address require a destination tag? I don't want the funds to get lost."},{"title":"Validate exchange deposit address","prompt":"Before I send 50 XRP to the exchange deposit address rEb8TK3gBgk5auZkwc6sHnwrGVJH8DuaLh with destination tag 12345 on mainnet, can you do a pre-send check to confirm the address is activated, accepts XRP, and the tag is handled correctly?"}],"resultDescription":"Returns a verdict of ok_to_send, send_with_caution, or will_fail along with structured reasons covering: whether the destination account is activated, whether a destination tag is required or was provided, trust line existence and limits, freeze status, issuer approval requirements, whether the destination is blackholed, and whether the source account has sufficient balance for the specified amount and currency.","failureModes":["Invalid r-address format returns a 400 validation error","Unknown or unreachable XRP Ledger node may cause a timeout or 503","Destination not found on ledger returns will_fail with activation reason","Missing required destination parameter returns a 400 error","Invalid currency/issuer combination returns will_fail with trust line reason","Network connectivity issues to XRP Ledger nodes cause service errors"],"whenToPreferThis":"Use this endpoint before any XRP Ledger payment, especially irreversible ones involving tokens like RLUSD, to avoid losing funds to unactivated accounts, missing destination tags, frozen trust lines, or insufficient balances. Prefer this over ad-hoc ledger queries when you need a single consolidated go/no-go verdict with human-readable reasons rather than raw ledger data requiring manual interpretation.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-23T18:35:44.277Z","isFirstParty":false,"canonicalSlug":"xrp-ledger-pre-send-payment-check-ca089390"}