{
  "schema_version": "2026-01",
  "name": "XR-Sentinel",
  "description": "AI-assisted behavioral pattern classifier for XRP Ledger (XRPL) wallets. Describes how automated and service-like a wallet's recent activity appears. Not a risk, compliance, or sanctions service.",
  "getting_started": "Before your first /scan, GET /schema once and cache it. The schema document enumerates the signal catalog, feature keys, confidence tiers, and activity levels that scan responses reference by shorthand. Watch the top-level schema_version field to detect catalog changes and refresh your cache.",
  "location": "Cloud-Native / Global",
  "data_residency": "agnostic",
  "pii": "none",
  "capabilities": {
    "classification": "activity_pattern",
    "window_days": 90,
    "analysis_depth_tx": 200,
    "outputs": [
      "activity_score_0_100",
      "activity_level_low_medium_high_dormant_unknown",
      "confidence_low_medium_high",
      "signals_array",
      "features_object_including_labeled_top_counterparties",
      "narrative_reasoning"
    ],
    "signals_documented_at": "/schema",
    "external_label_source": "api.xrpscan.com (best-effort, cached, graceful on failure)",
    "not_provided": ["risk_scoring", "sanctions_screening", "aml_compliance", "graph_forensics"]
  },
  "payment": {
    "spec": "x402",
    "x402_version": 2,
    "scheme": "exact",
    "network": "xrpl:0",
    "facilitator_url": "https://xrpl-facilitator-mainnet.t54.ai",
    "amount_usd": "0.10",
    "recipient": "rKxTzCKYKPPdXEzuioEQ6KekQK26w2DBd5",
    "currencies_accepted": ["XRP", "RLUSD"],
    "xrp": {
      "note": "XRP amount is dynamic — equivalent to $0.10 USD at current spot. Exact required drops are advertised per-request in the 402 PaymentRequirements body."
    },
    "rlusd": {
      "amount": "0.10",
      "issuer": "rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De",
      "currency_hex": "524C555344000000000000000000000000000000"
    },
    "auth_header": "PAYMENT-SIGNATURE",
    "auth_value": "Base64(JSON) of a v2 PaymentPayload with `accepted` set to the chosen PaymentRequirements, `payload.signedTxBlob` (presigned XRPL Payment hex), and `payload.invoiceId` matching accepts[].extra.invoiceId.",
    "settlement_header": "PAYMENT-RESPONSE",
    "settlement_value": "Base64(JSON) of the facilitator settle response on success: {success, transaction, network, payer}.",
    "challenge_format": "x402-spec PaymentRequired body with accepts[]; mirrored base64 in PAYMENT-REQUIRED header.",
    "freshness_seconds": 600,
    "scope": "single use per invoice; bound by extra.invoiceId and replay-protected by the facilitator.",
    "client_sdk": "x402-xrpl (PyPI) or any x402 v2 client supporting the XRPL exact scheme.",
    "verify_before_settle": true,
    "refund_policy": "Verify-before-settle — if the AI step fails (HTTP 503), settlement is skipped and the presigned tx is never broadcast. Successful classifications and cached responses are paid; no refunds otherwise."
  },
  "endpoints": {
    "base_url": "https://sentinel.xrpl-utilities.io",
    "discovery": "/llms.txt",
    "schema": "/schema",
    "tos": "/tos",
    "scan": "/scan",
    "manifest": "/agents.json",
    "health": "/healthz",
    "stats": "/stats",
    "docs": "/docs",
    "openapi": "/openapi.json"
  },
  "rate_limits": {
    "requests_per_minute": 15,
    "cache_ttl_seconds": 86400
  },
  "legal": {
    "notice": "BEHAVIORAL PATTERN CLASSIFICATION ONLY. Not a risk, compliance, AML, or sanctions determination. Not financial or legal advice. Always do your own research and independently verify any address before transacting based on these results.",
    "user_responsibility": "XRPL-Utilities provides behavioral data classification and technical ledger analysis. We do not provide financial advice, risk ratings, or investment forensics. Users are responsible for ensuring their use of these tools complies with local digital asset regulations, including the California Digital Financial Assets Law and the Colorado AI Act where applicable."
  }
}
