# Registering & Renewing Names

When users want to obtain a domain for the first time, they must interact with a registrar. Registrars are smart contracts that own a domain, and have a defined process for handing out subdomains. The registrar a user needs to interact with depends on the domain they want to obtain; for instance, a user wanting a .eth name will have to interact with the .eth registrar. Each registrar defines its own API for name registrations (and renewals, where appropriate).

At present, there are no libraries for interacting with registrars; DApps wishing to do so must interact with the registrar contract using a generic PulseChain library such as pns-sdk or ethers.js. See the Contract API Reference for details on each registrar's interface.

## Deployed Registrars

* .pls: The Permanent Registrar.
* .test (testnets only): The test registrar.
* .addr.reverse: The reverse registrar.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pulse.domains/dapp-developer-guide/getting-started/registering-and-renewing-names.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
