# Namespaces

<figure><img src="https://3721925129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHege6Rx8UFglTWALz36f%2Fuploads%2FIbG2kAFNhGMXfWItlx6O%2Fdns.png?alt=media&#x26;token=4dc83641-4fc9-4771-b0cf-093614020127" alt=""><figcaption></figcaption></figure>

## Namespaces

Namespace operations define a namespace, for example, **`.oifi`** is a namespace.&#x20;

**The DNS (Doge Name Services**) Namespace is derived from the SNS (Satoshi Name Services) Namespace found in Bitcoin. Namespace operations serve as a valuable tool for builders, marketplaces, and indexers, enabling them to monitor and manage names across various namespaces using a consistent syntax. Similar to the syntax used for retrieving all tokens in the #**DRC20** standard, DNS establishes a standardized approach for retrieving all names.

Here are few noteworthy examples and their namespace inscription: \ <br>

| Namespace | About                     | Namespace operation |
| --------- | ------------------------- | ------------------- |
| .doge     | name on Dogecoin          | \*\*\*              |
| .oifi     | name on OrdiFind.Com      | \*\*\*              |
| .dogim    | name on Dogim inscription | \*\*\*              |

There are many more. You can find them all by searching for the `dns` operation.&#x20;

## Create a namespace

<figure><img src="https://3721925129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHege6Rx8UFglTWALz36f%2Fuploads%2FF7OSt2g0MIVa5ldsS32E%2Fdns2.png?alt=media&#x26;token=42646a38-cf78-4a46-be19-420707d0d579" alt=""><figcaption></figcaption></figure>

Here are few reasons to inscribe a namespace operation for your community:&#x20;

* Help indexers and marketplaces "find" your namespace.
* Include a description so inscribers know the purpose of the namespace.
* Include a nice avatar or logo for marketplaces.

A few other important details about namespaces:&#x20;

* Like names, namespaces (specifically the `dns` value) are globally unique, and the first inscription of any namespace is the only valid instance. First is first.&#x20;
* The namespace inscription does not add, or remove, or limit anything related to how others inscribe names.
* You can inscribe any DNS name, on any namespace, before the namespace inscription has been created.&#x20;
* No special permissions are given to the namespace inscription holder.
* Namespace inscriptions have no speculative or secondary market value.

## Namespace operation

```
{
    "p": "dns",
    "op": "dns",
    "ns": "doge",
    "about": "Names on Dogecoin.",
    "avatar": "********",
}
```

<table><thead><tr><th width="102.33333333333331">Key</th><th width="111">Required?</th><th>Description</th></tr></thead><tbody><tr><td>p</td><td>Yes</td><td>Helps indexers identify the DNS protocol</td></tr><tr><td>op</td><td>Yes</td><td>New namespace operation </td></tr><tr><td>dns</td><td>Yes</td><td>Defines the namespace, for example <code>doge</code>defines the .doge namespace. Do not include the period <code>.</code></td></tr><tr><td>about</td><td>No</td><td>A short description. Aim for under 50 characters. </td></tr><tr><td>avatar</td><td>No</td><td>A logo or image symbolizing the namespace. Use Inscription ID.</td></tr></tbody></table>

{% hint style="warning" %}
Do not include the period, or dot, in the operation.&#x20;
{% endhint %}

{% hint style="info" %}
You're welcome to put any UTF-8 character in your namespace but we recommend keeping things simple. Emoji, rare unicode characters, etc. are probably a bad idea and may have poor support by indexers or marketplaces.
{% endhint %}

### ⚠️ Registration limitations

These rules apply to all namespaces and names:&#x20;

* Only the first instance of each name/namespace is valid.&#x20;
* Only one name operation per ordinal inscription.&#x20;
* Any UTF-8 character is valid.
* Capitalization does not matter. All names/namespaces will be indexed as lowercase.&#x20;
* No spaces are permitted within a name.
