# XRP Ledger Pre-Send Payment Check

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

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.

## Facts

- Endpoint: GET https://bruk-agent-api.fly.dev/v1/send-check?utm_source=zero.xyz
- Price: $0.005/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-pre-send-payment-check-ca089390
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_unfzFSr9dccxCPujry6Vo

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-pre-send-payment-check-ca089390
```

Example prompt: 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?

## When to prefer this

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.

## Known failure modes

- 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

## How this service works

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.

## Output

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.

## 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": [
      "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"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/xrp-ledger-pre-send-payment-check-ca089390/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)
