> ## Documentation Index
> Fetch the complete documentation index at: https://docs.namoshi.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Registry & Registrars

> Documentation for the core registry and domain registrars

## Namoshi Registry

The Registry (`ENSRegistry.sol`) is the central component of the Namoshi protocol.

* **Address**: `0x9fA2e2370dF8014EE485172bF79d10D6756034A8`

### Core Functions

* `owner(bytes32 node)`: Returns the owner of a node.
* `resolver(bytes32 node)`: Returns the resolver address for a node.
* `setSubnodeOwner(bytes32 node, bytes32 label, address owner)`: Creates or updates a subnode.

***

## Base Registrar

The Base Registrar (`BaseRegistrarImplementation.sol`) owns the root nodes for `.btc` and `.citrea` and manages domain ownership as ERC-721 tokens.

* **Address**: `0xDB814a8C706e040F6615F37509ae3a38721577e8`
* **Supported TLDs**: `.btc`, `.citrea`

### Core Functions

* `reclaim(uint256 id, address owner)`: Updates the registry record to match the NFT owner.
* `nameExpires(uint256 id)`: Returns the expiration timestamp of a name.

***

## ETH Registrar Controller

The Controller (`ETHRegistrarController.sol`) is the primary interface for users to register and renew names.

* **Address**: `0xa08728ca65b6b980059dB463AD2714dfffa848cf`

### Core Functions

* `rentPrice(string name, uint256 duration)`: Calculates the cost in cBTC for a registration.
* `register(string name, address owner, uint256 duration, ...)`: Registers a new name.
* `renew(string name, uint256 duration)`: Renews an existing name.
