Arweave Name System (ArNS)

Overview

Arweave URLs and transaction IDs are long, difficult to remember, and occasionally miscategorized as spam. The Arweave Name System (ArNS) aims to resolve these problems in a decentralized manner. ArNS is a censorship-resistant naming system stored on Arweave, powered by ARIO tokens, enabled through AR.IO gateway domains, and used to connect friendly domain names to permaweb apps, web pages, data, and identities.

It's an open, permissionless, domain name registrar that doesn’t rely on a single TLD.

This system works similarly to traditional DNS services, where users can purchase a name in a registry and DNS Name servers resolve these names to IP addresses. The system shall be flexible and allow users to purchase names permanently or lease them for a defined duration based on their use case. With ArNS, the registry is stored permanently on Arweave via AO, making it immutable and globally resilient. This also means that apps and infrastructure cannot just read the latest state of the registry but can also check any point in time in the past, creating a “Wayback Machine” of permanent data.

Users can register a name, like ardrive, within the ArNS Registry. Before owning a name, they must create an Arweave Name Token (ANT), an AO Computer based token and open-source protocol used by ArNS to track the ownership and control over the name. ANTs allow the owner to set a mutable pointer to any type of permaweb data, like a page, app or file, via its Arweave transaction ID.

Each AR.IO gateway acts as an ArNS Name resolver. They will fetch the latest state of both the ArNS Registry and its associated ANTs from an AO compute unit (CU) and serve this information rapidly for apps and users. AR.IO gateways will also resolve that name as one of their own subdomains, e.g., https://ardrive.arweave.net and proxy all requests to the associated Arweave transaction ID. This means that ANTs work across all AR.IO gateways that support them: https://ardrive.ar-io.dev, https://ardrive.g8way.io/, etc.

Users can easily reference these friendly names in their browsers, and other applications and infrastructure can build rich solutions on top of these ArNS primitives.

Name Registration

There are two different types of name registrations that can be utilized based upon the needs of the user:

  • Lease: a name may be leased on a yearly basis. A leased name can have its lease extended or renewed but only up to a maximum active lease of five (5) years at any time.

  • Permanent (permabuy): a name may be purchased for an indefinite duration.

Registering a name requires spending ARIO tokens corresponding to the name’s character length and purchase type.

Name Registry

The ArNS Registry is a list of all registered names and their associated ANT Process IDs. Key rules embedded within the smart contract include:

  • Genesis Prices: Set within the contract as starting conditions.
  • Dynamic Pricing: Varies based on name length, purchase type (lease vs buy), lease duration, and current Demand Factor.
  • Name Records: Include a pointer to the Arweave Name Token process identifier, lease end time (if applicable), and undername allocation.
  • Reassignment: Name registrations can be reassigned from one ANT to another.
  • Lease Extension: Anyone with available ARIO Tokens can extend any name’s active lease.
  • Lease to Permanent Buy: Anyone with available ARIO Tokens can convert a name’s lease to a permanent buy.
  • Undername Capacity: Additional undername capacity can be purchased for any actively registered name. There is no cap on the maximum amount of undernames that a top-level ArNS name can have associated with it.
  • Name Removal: Name records can only be removed from the registry if a lease expires, or a permanent name is returned to the protocol.

Name Validation Rules

All names registered shall meet the following criteria:

  1. Valid names include only numbers 0-9, characters a-z and dashes.
  2. Dashes cannot be leading or trailing characters.
  3. Dashes cannot be used in single character domains.
  4. 1 character minimum, 51 characters maximum.
  5. Shall not be an invalid name predesignated to prevent unintentional use/abuse such as www.

Lease Expirations

When a lease term ends, there is a grace period of two (2) weeks where the lease can be renewed before it fully expires. If this grace period elapses, the name is considered expired and returns to the protocol for public registration. Once expired, a name’s associated undername registrations and capacity also expire.

A recently expired name’s registration shall be priced subject to the “Returned Name Premium” mechanics detailed below.

Lease to Permabuy Conversions

An actively leased name may be converted to a permanent registration. The price for this conversion shall be treated as if it were a new permanent name purchase.

This functionality allows users to transition from leasing to permanent ownership based on changing needs and available resources. It generates additional protocol revenue through conversion fees, contributing to the ecosystem's financial health and reward system. Additionally, by maintaining fair value for name conversions, it ensures prices reflect current market conditions, promoting a balanced and fair environment.

Permanent Name Return

Users have the option to “return” their permanently registered names back to the protocol. This process allows users to relinquish their ownership, returning the name to the protocol for public re-registration. Only the Owner of a name can initiate a name return.

When a permanent name is returned, the name is subject to a "Returned Name Premium”, similar to expired leases. A key difference is that if the name is repurchased during the premium window, the proceeds are split between the returning owner and the protocol balance.

Primary Names

The Arweave Name System (ArNS) supports the designation of a "Primary Name" for users, simplifying how Arweave addresses are displayed across applications. A Primary Name is a user-friendly alias that replaces complex wallet addresses, making interactions and profiles easier to manage and identify.

Users can set one of their owned ArNS names as their Primary Name, subject to a small fee. This allows applications to use a single, human-readable identifier for a wallet, improving user experience across the network.

Arweave Name Token (ANT)

To establish ownership of a record in the ArNS Registry, each record contains both a friendly name and a reference to an Arweave Name Token, ANT. Name Tokens are unique AO Computer based tokens / processes that give their owners the ability to update the Arweave Transaction IDs that their associated friendly names point to.

The ANT smart contract process is a standardized contract that implements the specific Arweave Name Process specification required by AR.IO gateways who resolve ArNS names and their Arweave Transaction IDs. It also contains other basic functionality to establish ownership and the ability to transfer ownership and update the Arweave Transaction ID.

Name Tokens have an owner, who can transfer the token and control its modifiable settings. These settings include modifying the address resolution time to live (ttl) for each name contained in the ANT, and other settings like the ANT Name, Ticker, and an ANT Controller. The controller can only manage the ANT and set and update records, name, and the ticker, but cannot transfer the ANT. Note that ANTs are initially created in accordance with network standards by an end user who then has to ability to transfer its ownership or assign a controller as they see fit.

Owners of names should ensure their ANT supports evolve ability if future modifications are desired. Loss of a private key for a permanently purchased name can result in the name being "bricked”.

Secondary markets could be created by ecosystem partners that facilitate the trading of Name Tokens. Additionally, tertiary markets could be created that support the leasing of these friendly names to other users. Such markets, if any, would be created by third parties unrelated to and outside of the scope of this paper or control of the Foundation.

The table below indicates some of the possible interactions with the ArNS registry, corresponding ANTs, and who can perform them:

ANT Interactions
TypeANT OwnerANT ControllerAny ARIO Token Holder
Transfer ownership
Add / remove controllers
Set or change primary name
Reassign name to new ANT process
Return a permanent name
Set records (pointers)
Update records, name, ticker
Update descriptions and keywords
Create and assign undernames
Extend / renew lease
Increase undernames
Convert lease to permanent
ANT Interactions

Under_names

ANT owners and controllers can configure multiple subdomains for their registered ArNS name known as “under_names” or more easily written “undernames”. These undernames are assigned individually at the time of registration or can be added on to any registered name at any time.

Under_names use an underscore “_” in place of a more typically used dot “.“ to separate the subdomain from the main ArNS domain.

Addressing Variable Market Conditions

The future market landscape is unpredictable, and the AR.IO Network smart contract is designed to be immutable, operating without governance or manual intervention. Using a pricing oracle to fix name prices relative to a stable currency is not viable due to the infancy of available solutions and reliance on external dependencies. To address these challenges, ArNS is self-contained and adaptive, with name prices reflecting network activity and market conditions over time.

To achieve this, ArNS incorporates:

  1. A dynamic pricing model that adjusts fees using a "Demand Factor" based on ArNS purchase activity.
  2. A Returned Name Premium (RNP) system that applies a timed, descending multiplier to registration prices for names that have recently expired or been returned to the protocol.

This approach ensures that name valuations adapt to market conditions within the constraints of an immutable, maintenance-free smart contract framework.

Dynamic Pricing Model

ArNS employs an adaptive pricing model to balance market demand with pricing fairness for name registration within the network. This model integrates static and dynamic elements, adjusting prices based on name length and purchase options like leasing, permanent acquisition, and undername amounts. A key element is the Demand Factor (DF), which dynamically adjusts prices according to network activity and revenue trends, ensuring prices reflect market conditions while remaining accessible and affordable.

A detailed description of the variables and formulas used for dynamic pricing can be found in the Appendix.

Returned Name Premiums (RNP)

ArNS applies a Returned Name Premium (RNP) to names that re-enter the market after expiration or permanent return. This premium starts at a maximum value and decreases linearly over a predefined window, ensuring fair and transparent pricing for re-registered names.

The RNP multiplier is applied to the registration price of both permanently purchased and leased names.

Gateway Operator ArNS Discount

Gateway operators who demonstrate consistent, healthy participation in the network are eligible for a 20% discount on certain ArNS interactions.

To qualify:

  • The gateway must maintain a “Gateway Performance Ratio Weight” (GPRW) of 0.85 or higher.
  • The gateway must have a “Tenure Weight” (TW) of 0.5 or greater, indicating at least a 3-month prior commitment to the network.
  • A gateway marked as “Leaving” shall not be eligible for this discount.

Eligible ArNS Discounted Interactions:

  • Purchasing a name
  • Extending a lease
  • Upgrading a lease to permabuy
  • Increasing undernames capacity