{"uid":"cap_BIedj_NW0uN-XPEl1Y0hD","slug":"xrp-ledger-payment-watch-webhook-fc858a56","name":"XRP Ledger Payment Watch (Webhook)","description":"Payment arrival alert: watches an XRP Ledger address for up to 24 hours and POSTs a signed webhook when a matching payment is final (validated, tesSUCCESS, delivered amount checked), or a watch.expired event if none arrives. Payments that land during restarts are still caught. Useful when waiting on an incoming payment without polling.","url":"https://bruk-agent-api.fly.dev/v1/payment-watch?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"hours":{"type":"integer","maximum":24,"minimum":1,"description":"Watch window in hours. Default 24."},"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."},"address":{"type":"string","pattern":"^r[1-9A-HJ-NP-Za-km-z]{24,34}$","description":"Receiving r-address to watch."},"network":{"enum":["mainnet","testnet"],"type":"string","description":"XRP Ledger network. Default mainnet."},"webhook":{"type":"string","pattern":"^https://","description":"Public https URL that receives POSTed JSON events."},"currency":{"type":"string","description":"XRP (default), RLUSD, or a token code."},"min_amount":{"type":"string","description":"Only match payments delivering at least this amount."},"destination_tag":{"type":"integer","minimum":0,"description":"Only match this destination tag."}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.05","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.05/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_kOARBasQM0_-uHsiLjATx","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.05","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Watches an XRP Ledger address for an incoming payment for up to 24 hours and POSTs a signed webhook event when a matching validated payment arrives, or when the watch window expires.","exampleAgentPrompt":"Watch my XRP address rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh on mainnet for up to 12 hours and POST a notification to https://myserver.example.com/hooks/xrp when any payment of at least 100 XRP arrives with destination tag 12345.","exampleUseCases":[{"title":"E-commerce order payment confirmation","prompt":"Watch my XRP address rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe on mainnet for up to 6 hours and POST to https://shop.example.com/webhooks/xrp-confirm when a payment of at least 50 XRP arrives with destination tag 9001 — I need to know the moment the customer's payment clears so I can fulfill the order."},{"title":"RLUSD invoice settlement alert","prompt":"Set a 24-hour watch on XRP address rN7n3473SaZBCG4dFL83w7PB5AMgGMGrFa for an incoming RLUSD payment of at least 500 on mainnet, and hit my webhook at https://invoices.mycompany.com/paid when it lands — I'm waiting on a client to settle an invoice."},{"title":"Testnet payment integration testing","prompt":"Monitor XRP testnet address rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh for 1 hour and send a webhook to https://staging.myapp.io/xrp-hook when any XRP payment arrives, so I can verify my payment flow works end-to-end before going live."}],"resultDescription":"The endpoint triggers an HTTPS POST to the provided webhook URL when a matching payment is finalized on the XRP Ledger (validated, tesSUCCESS, delivered amount verified). The webhook payload is signed and includes payment details. If no matching payment arrives within the watch window, a watch.expired event is POSTed instead. Payments that arrive during service restarts are still detected and reported.","failureModes":["Invalid r-address format — watch not created","Webhook URL not reachable or not HTTPS — event delivery fails","Watch window exceeds 24 hours — request rejected","Payment arrives but doesn't match currency/min_amount/destination_tag filters — no event fired","Service restart during watch — payments are still caught via ledger replay","Network mismatch (mainnet vs testnet) — payment not detected","Webhook endpoint returns non-2xx — delivery may not be retried"],"whenToPreferThis":"Use this endpoint when you need to be notified asynchronously the moment a specific XRP Ledger payment arrives, without polling the ledger yourself. Ideal for agent workflows that need to wait on payment confirmation before proceeding — especially when the wait could be minutes to hours. Prefer over manual polling when you want guaranteed delivery even across service restarts, and when you need fine-grained matching by currency, amount, or destination tag.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-23T18:37:22.139Z","isFirstParty":false,"canonicalSlug":"xrp-ledger-payment-watch-webhook-fc858a56"}