The permissioned XRPL directory
A directory of every permissioned domain on XRPL, the credentials each one accepts, the issuers backing those credentials, and any identity the owner has published. Updates live. No scoring. No editorial filter. No endorsement.
Free from this page. Agents pay $0.10 per query over the x402 API at
trust.xrpl-utilities.io. The directory is materialized by a background indexer that re-walks the ledger every 6 hours; reads are instant.
XR-Trust implements x402 v2 with the
exact scheme on XRPL mainnet.
Verification and settlement are delegated to the
t54 XRPL facilitator.
POST /scan returns 402 Payment Required with the XRP option (RLUSD coming in a follow-up).
PAYMENT-SIGNATURE.
200 with the JSON and a PAYMENT-RESPONSE header.
Or skip the integration: call xrpl_trust_list_domains, xrpl_trust_get_domain, xrpl_trust_credential_issuers, or xrpl_trust_recent_events from any
MCP client (Claude Desktop etc.) via
@xrpl-utilities/mcp
or the hosted endpoint at mcp.xrpl-utilities.io/mcp. Same x402 model, just wrapped as MCP tools.
from x402_xrpl import X402RequestsSession from xrpl.wallet import Wallet session = X402RequestsSession( wallet=Wallet.from_seed(seed), rpc_url="https://xrplcluster.com", payment_requirements_selector="XRP", ) # look up a single domain by its 64-hex LedgerIndex record = session.post( "https://trust.xrpl-utilities.io/scan", json={"domain_id": "AB12…"}, ).json() for match in record["matches"]: print(match["owner_address"], match["accepted_credentials"])
domains[]: one normalized record per PermissionedDomain ledger objectdomain_id, owner_address, sequence, flags, previous_txn_id, previous_txn_lgr_seq: full XLS-80 ledger-object metadataowner_label: XRPScan label when available ({name, desc, domain, verified, twitter}), else nullaccepted_credentials[]: each entry carries {issuer, credential_type, credential_type_decoded, issuer_label}. Hex types are decoded to ASCII when printable (e.g. 4B5943 → KYC).institutional_issuer_count + institutional_issuers[]: count and display names of distinct XRPScan-labeled, non-self credential issuers accepted by the domainlifecycle (creation + last-modified meta walked from PreviousTxnID), permissioned_market (XLS-81 owner-side offers + AMMs), and identity (XLS-40 DID + parsed .well-known/xrp-ledger.toml when published)walk_status: one of complete, warming, truncated_total, or error_<status>total, limit, offset, next_offset, schema_version, generated_at: pagination + envelope/credentials/issuers returns issuers[] with {issuer_address, issuer_label, domains_referencing, credential_types_issued}
Reserved fields surfaced as null in v1, populated later: member_count_estimate, verified_attestation, health_score. Full field-level details at /schema.
Source. XR-Trust reads PermissionedDomain ledger objects directly from the validated XRPL ledger via a Clio data-layer node (ledger_data type=permissioned_domain). No third-party indexer, no editorial filter, no curated list. If it's on-ledger and validated, it's in the directory.
Materialization. A background warmer task walks the full PermissionedDomain set every six hours and atomically swaps the in-memory snapshot. The previous snapshot keeps serving while the next walk runs, so reads stay instant. Every response carries a walk_status field so you can tell whether the snapshot is complete, warming on first boot, or partial.
Drill-down vs enumeration. Looking up a single domain by its domain_id is O(1) regardless of warmer state. The service goes straight to ledger_entry. Whole-network enumeration relies on the materialized snapshot.
Owner labels. Where XRPScan recognizes a domain owner (banks, asset managers, infrastructure providers), the label appears on the directory row and the drill-down panel. Unlabeled owners surface their raw classic address.
Cross-product link. Every drill-down includes a one-click jump to XR-Sentinel to inspect the owner's on-chain behavioral pattern. Eventually the same panel will surface XR-Telemetry macro context and the XR-Pulse permissioned_domain_lifecycle event feed; both are queued for v2.
Inclusion in this directory does not imply legitimacy. Absence does not imply illegitimacy. We surface what the validated XRPL ledger says exists; we do not certify it.
XR-Trust describes what's on-chain. Compliance, verification, and trust judgments remain the responsibility of the consumer.