{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/dnsofmoney-com/json-schema/dnsofmoney-com-send-request-schema.json",
  "title": "SendRequest",
  "description": "Send money to a pay:name alias.",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/dnsofmoney-com-openapi.json#/components/schemas/SendRequest",
  "properties": {
    "alias": {
      "type": "string",
      "title": "Alias",
      "description": "Target alias, e.g. 'pay:jd' or just 'jd'"
    },
    "amount": {
      "type": "number",
      "exclusiveMinimum": 0.0,
      "title": "Amount",
      "description": "Amount in currency units"
    },
    "currency": {
      "type": "string",
      "maxLength": 8,
      "title": "Currency",
      "default": "USD"
    },
    "memo": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 256
        },
        {
          "type": "null"
        }
      ],
      "title": "Memo"
    },
    "idempotency_key": {
      "type": "string",
      "maxLength": 128,
      "minLength": 1,
      "title": "Idempotency Key",
      "description": "Prevents double-send"
    },
    "sender_address": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 64
        },
        {
          "type": "null"
        }
      ],
      "title": "Sender Address",
      "description": "Optional XRPL address of sender (for tracking/memo only)"
    },
    "source_currency": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 8
        },
        {
          "type": "null"
        }
      ],
      "title": "Source Currency",
      "description": "XRPL-native asset the sender pays in, e.g. 'RLUSD' (cross-currency)"
    },
    "max_source_amount": {
      "anyOf": [
        {
          "type": "number",
          "exclusiveMinimum": 0.0
        },
        {
          "type": "null"
        }
      ],
      "title": "Max Source Amount",
      "description": "Max source-asset units the sender will spend (slippage ceiling)"
    }
  },
  "type": "object",
  "required": [
    "alias",
    "amount",
    "idempotency_key"
  ]
}