# XRP Ledger Payment Verification

> XRP Ledger Payment Verification is a paid API for AI agents from bruk-agent-api.fly.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-19).

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.

## Facts

- Endpoint: GET https://bruk-agent-api.fly.dev/v1/payment-check?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-19
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/xrp-ledger-payment-verification-f9731b51
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_unm1sOcw-25Cyc-3RngaJ

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability xrp-ledger-payment-verification-f9731b51
```

Example prompt: Can you verify that XRP Ledger transaction A1B2C3D4E5F67890A1B2C3D4E5F67890A1B2C3D4E5F67890A1B2C3D4E5F67890 on mainnet actually delivered 25 RLUSD to rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe with destination tag 12345 from issuer rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh?

## When to prefer this

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.

## Known failure modes

- 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

## How this service works

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.

## Output

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.

## Request schema (JSON Schema)

```json
{
 "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"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/xrp-ledger-payment-verification-f9731b51/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from bruk-agent-api.fly.dev](https://www.zero.xyz/host/bruk-agent-api.fly.dev/llms.txt)
