Top Level Domains
TLD Pricing

TLD Pricing

Overview

The default pricing strategy offers a variety of flexible options:

Enabling Registrations

When a TLD is first minted, subdomains cannot be publicly purchased -- only the TLD owner can mint subdomains for $1 if the public sale is not open. After length-based pricing is set, the TLD owner may then enable public registrations.

Global Registration Rules

The following are the Global Registration Rules, which are mandatory and cannot be altered by the TLD owner. These rules are in place to ensure consistency and fairness in the domain registration process.

Min. Price Requirement

The minimum price for domain registration and renewal is set at $1 per year. Any attempt to register or renew a domain at a price lower than this will result in the price being automatically adjusted to the minimum of $1.

Min. Reg & Renewal Period

The minimum registration or renewal period for a domain is 1 day.

Renewal Price Snapshot

Each subdomains' renewal price is locked-in for the life of the registration and cannot be increased by the TLD owner (only decreased). Any changes to TLD pricing will only affect newly registered domains.

Valid Subdomains

In order for a subdomain label to be considered valid, it must consist of lowercase alphanumeric characters, and cannot contain any null bytes or underscores. Currently domains must not contain any Unicode OR Punycode. We have chosen to limit all names to alphanumeric ASCII (opens in a new tab) to start, in order to avoid potential issues with EPP compatibility and existing registrars. In the future we may enable full Unicode, possibly with on-chain punycoding for backwards compatibility.

Length Pricing

The primary way to set SLD pricing is based on their length. Different prices can be set for subdomain lengths of 1,2,3,5 characters, etc. Pricing can be set for domain lengths up to 10 characters. If price is not set for a specified length then the next shortest pricing will be used. Each longer length pricing must be less than or equal to the pricing of the previous length.

💡

Shorter names are generally more desirable. Length pricing allows TLD owners to charge more for short subdomains.

Premium Names

Any specific subdomain can be priced independently of length pricing. Multiple domain/address combinations can be submitted in a single transaction. Prices are all submitted in whole dollar amounts and are per year. Premium domains can also be paired with discounts.

Reserved Names

Any specific subdomain can be reserved so that it is only to be minted by specific wallets. Pricing will still be determined by the length pricing, premium name pricing, and discounts. A subdomain can only be reserved against a single wallet. Reserving the same subdomain against another wallet will overwrite the reservation.

Discounts

Discounts are a flexible way to control pricing with optional start and ending times.

Discount Options

  • Discounts can be applied to either a single address or to all addresses using 0x0
  • Discounts can have optional start and end dates. This means that discounts can be set to only be valid for a certain period of time.
  • Discounts can be applied to either the registration or renewal of domains or both. This means that users can get a discount whether they're registering a new domain or renewing an existing one.
  • Discounts are applied on top of the base price. This means that the discount is not reflected in the renewal price snapshot for maximum price guarantee.
  • Discounts can range from 0% to 100%, but the annual price cannot be lower than $1. This ensures that the price remains reasonable even with the highest possible discount.
  • Discounts can be removed by setting a 0% discount with no start or end date.
  • If there is both an address-specific discount and a wildcard (0x0) discount, the address-specific discount will take precedence.

Implementation

  • When a user wants to register a domain, the smart contract checks if there is a valid discount available for the address used to register the domain (or a discount for wildcard 0x0).
  • If a discount is available, the smart contract applies the discount to the base price before calculating the final price for the registration or renewal.
  • The smart contract also keeps track of the start and end date of the discounts and only applies the discount if the current date is within the valid date range.
  • In case of both address-specific discount and wildcard discount being available, the smart contract will only apply the address-specific discount.
  • The smart contract also ensures that the final price after applying the discount is not lower than $1.

Annual Discounts

The TLD owner can set a percentage % discount for buyers that register a subdomain for 2 years or more. This is similar to a bulk discount from traditional Web2 domain registrars. The maximum discount that can be set is 50%, and the maximum time period is 10 years. Discounts for a set timeframe should be more than or equal to the previous year. Annual discounts are used by both premium names and length pricing.

⚠️

The minimum annual price for a domain is $1. The price cannot be reduced even with a discount.

Secondary Royalties

HNS.ID domains use the on-chain royalty standard EIP-2981 (opens in a new tab). TLD owners can set a secondary commission percentage that will be distributed at the time of sales through any marketplace that supports EIP-2981.

By default the payout address of the royalties will be sent to the address that is holding the TLD. This can be overridden by the token owner or any approved address.

Royalty percentage should be an integer and not greater than 10%.