The XRP Domains is designed to be compatible with the XLS-20 (NFT) storage standard on the XRP Ledger.

Domain Name Standard

All domain names must be normalized using a process called UTS-46 normalization. This ensures that uppercase and lowercase names are considered the same (alice.xrp = ALICE.xrp = AliCe.xrp), and also removes any spaces, white spaces, dots, and other invalid characters that are prohibited.

All domain names entered into the system must follow standardized naming conventions to ensure a consistent appearance for all users. This helps to prevent duplication and confusion between similar-looking names, and enhances security for our users.

The domain name is stored on the XRP Ledger with the mapping NFTokenID with URI. This URI will contain the domain name with the following structure:


When resolving domain names, the XRP Domains system will parse this URI structure to ensure that the full domain name is obtained.

const url = xrpl.convertHexToString(URI);
const obj = XRPIDjs.parseURI(url);
//domain object hello.xrp
obj.tld // .xrp
obj.sub // sub
obj.nameless // hello

The URI will also will also return metadata (domain information) as JSON, ensuring compatibility with marketplaces such as,, and others. Please check the link below for more information.

Domain Registration

When buyers register a domain, they will need to go through five steps as outlined below:

Step 1: When a buyer submits a hello.xrp registration request, it should be validated by checking naming standards first and then verifying if hello.xrp has an owner.

Step 2: The user must connect their Xumm wallet and confirm a single payment transaction to purchase hello.xrp. It is important to ensure that the wallet has sufficient balance and is connected to the correct network (mainnet).

Step 3: Once the payment is successfully confirmed on the XRP Ledger, the system will generate an order to reserve the hello.xrp for the buyer. The system will not mint hello.xrp directly. Instead, it will be added to a queue and minted only when the user completes the payment. When the payment is confirmed, the system will grant the user permission and create the hello.xrp.

Step 4: After the payment is confirmed, the system will mint the hello.xrp (which typically takes 1-2 minutes), in case there is an error, the buyer can check in the "Domains Pending" section on the dApp and proceed to complete the minting process for hello.xrp. The system will record the domain name to the XRP Ledger and map the NFTokenID to the corresponding URI. Check also: Domain name standards

Step 5: Once the minting process is complete, the system will send a request to the buyer's Xumm wallet The buyer must Accept this request to transfer the hello.xrp io their wallet and establish ownership. Alternatively, they can confirm the request later by checking the "Incoming Domains" section on the dApp.

Domain Resolution

Domain resolution involves the same first step as Domain Registration, where the validity of the domain is checked. Next, the SDKs & APIs will be utilized to query and retrieve information about the domain's owner, as well as other details such as social information and wallet addresses. Read more

Domain Transfer

Domain transfer requires 2 steps as follows:

Step 1: The transferer will use the dApp to create an NFTokenCreateOffer command with the recipient's address set as the Destination, and set the Expiration to 10 days. The command will then be signed using the Xumm wallet. The transferor can also cancel this command by checking the "Outgoing Domains" section on the dApp.

Step 2: The recipient will see the transferred domain in the "Incoming Domains" section on the dApp. You must click on "Accept" and sign the transaction using their Xumm wallet to complete the domain transfer process.

Last updated