XRPL-Utilities

Changelog

Append-only public record of every schema bump, new feature, and meaningful product change across the XR-Sentinel, XR-Telemetry, and XR-Pulse services.

Newest first. Each entry is dated YYYY-MM-DD and tagged with the affected service + schema version. For exact code changes, every commit is on the public repos linked from each service's /docs.

2026-05-05 MCP · launch

XRPL-Utilities MCP server live: 11 tools across all four services

The portfolio is now consumable via the Model Context Protocol. A fifth service at mcp.xrpl-utilities.io/mcp exposes Sentinel, Pulse, Telemetry, and Trust as 11 read tools any MCP client can call (Claude Desktop, Anthropic SDK, custom integrations). Source is open at github.com/XRPL-Utilities/xrpl-utilities-mcp; published to npm as @xrpl-utilities/mcp with sigstore provenance attestation.

The MCP server is a stateless passthrough proxy. It holds no wallets, takes no cut, and runs no proprietary logic — every paid call uses the caller's own x402 v2 payment header (XRP or RLUSD), settled inline via the t54 facilitator on XRPL mainnet. Same $0.10 per call, same treasury wallet, same schema-discipline guard pinging each backend's /agents.json on startup so a registry/manifest drift fails loud. Tools are namespaced (xrpl_sentinel_scan, xrpl_pulse_recent_events, xrpl_trust_list_domains, etc.) so they never collide with other MCP servers a user has connected.

To use locally with Claude Desktop, add to your config: "xrpl-utilities": { "command": "npx", "args": ["-y", "@xrpl-utilities/mcp", "--transport", "stdio"] }. To connect remotely, point any MCP client at https://mcp.xrpl-utilities.io/mcp. Submitted to mcp.so directory.

2026-05-04 Trust · 2026-11 + Pulse · 1.10.0

XLS-81 (Permissioned DEX) trade indexing + DID identity bridge

A live probe of mainnet surfaced four active XLS-81 permissioned offers from one domain owner — selling XRP for Circle USDC, Ripple RLUSD, and Quantoz EURQ. Same wallet runs an on-chain DID record pointing to a published .well-known/xrp-ledger.toml identifying the operator (org name + principal). Trust now indexes both signals.

The streaming subscribe loop's filter expanded from XLS-70/80 lifecycle to ALSO capture OfferCreate, OfferCancel, AMMCreate, AMMDeposit, AMMWithdraw, AMMVote, AMMBid, and Payment txs — gated on DomainID presence so we only capture permissioned activity (ordinary DEX traffic stays out of scope; whale_watcher already covers it). New domain.permissioned_market drill-down block enumerates owner-side offers/AMMs that target the domain. New domain.identity drill-down block decodes the owner's DID record and chases the .well-known/xrp-ledger.toml when the URI points at one — turning "anonymous wallet with credentials" into "named operator with public profile" the moment the operator publishes one.

XR-Pulse's permissioned-domain watcher recognizes the new XLS-81 tx types from Trust's /events, splits active_utility.signal into permissioned_domain_lifecycle (XLS-70/80) and permissioned_dex_event (XLS-81), and renders briefs with hex-decoded currency pairs ("1 XRP → 1.6 RLUSD" instead of raw hex). Schema bumps: Trust 2026-10 → 2026-11, Pulse 1.9.0 → 1.10.0.

2026-05-03 Trust · 2026-09

Derived institutional-issuer signal on every domain

Every domain record now carries institutional_issuer_count (count of distinct, non-self, XRPScan-labeled credential issuers) and institutional_issuers (sorted unique display names). Available in both the /domains list view and /domain/{id} drill-down because the warmer now fetches issuer labels too (deduped across all domains, 24h-cached). A cheap proxy for "this domain accepts credentials from N recognized stablecoin issuers, custodians, exchanges, or infrastructure operators." Self-issued credentials (where the issuer equals the domain owner) are intentionally excluded — that's a different signal. Today's first walk surfaces one domain accepting KYC credentials from Circle (USDC), Ripple (RLUSD), and Quantoz simultaneously; the directory row badges this directly.

2026-05-03 Trust · 2026-08

PermissionedDomain drill-down enrichment: decoded credential type, issuer labels, lifecycle

The /domain/{id} drill-down (and /scan by-domain_id) gain three new fields. Each accepted credential now carries credential_type_decoded (best-effort hex→ASCII; "4B5943""KYC") and issuer_label (XRPScan accountName when known). Each domain now carries a lifecycle block with created_at_iso, last_modified_at_iso, and modification_count, derived by walking the on-chain meta chain backwards from PreviousTxnID to the CreatedNode (typically 1–4 tx lookups, capped at 12 hops). The /domains list view also gains credential_type_decoded for free; per-credential issuer labels and lifecycle stay drill-down-only to keep the warmer cheap as XLS-80 adoption scales.

2026-05-03 Trust · v1 · 2026-05

XR-Trust v1 launched: public directory for XRPL Permissioned Domains

Fourth pillar of the XR-* portfolio. trust.xrpl-utilities.io serves a public directory and explorer for XRPL Permissioned Domains (XLS-80, mainnet-active since February 2026): list every active domain on the validated ledger, see what credentials each accepts, aggregate credential issuers across domains, and drill down by domain_id or owner_address. New /trust/ directory page on the .com with search, issuer filter, JSON download, empty-state copy that handles the early-adoption phase honestly. Free for the marketing-site origin; $0.10 per call via x402 for agents. v1 is intentionally minimal — member-count estimation, self-attested domain ownership (T.7), Sentinel/Telemetry/Pulse cross-references, and Pulse's permissioned_domain_lifecycle event source are deferred to v2. Schema 2026-05.

2026-05-03 Sentinel · 2.6.0

Schema-version stamping, currency_net_flows overflow flag, bulk-scan agent docs

Every paid /scan response now carries a top-level schema_version field so caching agents can pin which manifest version each cached blob was generated under. features.currency_net_flows buckets exceeding 1e15 (XRPL issuer-side accounting artifacts where the issuer's "obligation" leg is the negation of all outstanding tokens) get a sibling _overflow: true flag so display layers know to render them as artifacts rather than meaningful flow. Bulk-scan async invoice flow promoted from human-only to advertised agent capability in agents.json.

2026-05-03 Telemetry · 1.1.0

Renamed baseline_usd → implied_floor_usd_assumptions; schema-version stamping

utility_floor.baseline_usd renamed to implied_floor_usd_assumptions to make the field name as honest as the docs — the old name read like a price prediction or fair-value claim when screenshotted out of context. The deprecated alias is retained for one schema cycle so the shipped frontend doesn't break; it will be removed in 1.2.0. Every snapshot payload now stamps a top-level schema_version.

2026-05-03 Pulse · 1.8.0

Three new institutional feeds, schema-version stamping, recipient clarifier

Source expansion: probed the institutional / regulator / standards candidate set; added the three that returned working RSS (FCA UK, ESMA EU, FSB) to the news ingestor with the same Ripple/XRP/RLUSD/XRPL keyword filter. The 11 candidates that did NOT return parseable RSS (BaFin, FINMA, FATF, IOSCO, HKMA, MAS-v2, IMF, RippleX Medium, Ripple Insights/Press) are documented under /stats.dropped_sources_v1_1 with the specific failure mode for each — no roadmap stubs. capabilities.sources restructured from a flat (and stale) array to a tiered object with regulatory_primary / central_bank / standards_body / crypto_press. /events/recent payloads now stamp schema_version. Payment block gains recipient_resolution: per_invoice_via_facilitator so callers know why no static recipient is advertised here.

2026-05-02 Sentinel · 2.5.0

Issuer enrichment: blackhole posture, supply, domain

When the target wallet looks like an IOU issuer (existing _looks_like_issuer gate), /scan now issues one extra account_info RPC alongside the existing gateway_balances call and surfaces blackhole status (lsfDisableMaster + RegularKey burn-address detection), owner-object count, and the XRPScan domain on file. Response gains an optional top-level issuer_profile string (a 2-3 sentence narrative scoped strictly to on-chain evidence — no off-ledger context) and features.account_flags with the structured flags. Both fields are omitted entirely for non-issuer wallets.

2026-05-02 Org · LLC + ™

XRPL-Utilities LLC formed; ™ rollout across .com and .io

Wyoming LLC formed. Common-law trademark notation (™) added to the brand and pillars (XR-Sentinel™, XR-Pulse™, XR-Telemetry™) across the xrpl-utilities.com surface (header, mobile drawer, footer, first prominent pillar mention per page) and on each .io service's agents.json, /schema, and FastAPI app metadata. Footer legal block replaced with a 3-line institutional anchor (© LLC / TM ownership / safe harbor including the "Void in CA/CO" jurisdictional clause). /terms/ rewritten as the new 8-section ToS (effective 2026-05-02).

2026-04-30 Sentinel · 2.2.0

Scan history endpoint, _delta block, second-order signals

Schema 2.0.0 → 2.2.0. Sentinel gained 7 cheap feature signals plus the issuer_summary via gateway_balances, a persistent aiosqlite-backed scan recorder, a paid POST /scan/history endpoint, an optional _delta block on /scan responses when a prior recorded scan exists, and three second-order signals (SCORE_TRAJECTORY_BOT_ONBOARDING, CADENCE_TIGHTENING, COUNTERPARTY_BURST). Catalog grew 17 → 20 signals.

2026-04-25 Portfolio · v1

Public launch of the XRPL-Utilities portfolio

Three services live: XR-Sentinel (behavioral pattern classifier), XR-Telemetry (XRPL macro snapshot + algebraic implied floor), and XR-Pulse (normalized event feed combining public-source news + on-chain whale activity). All three expose /agents.json, /.well-known/agents.json, and /llms.txt for agent discovery, settle through the t54 x402 facilitator on XRPL mainnet, accept XRP or RLUSD, and ship with verify-then-work-then-settle payment finality.