# Namespaces

<figure><img src="https://2381352238-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8HLCZlJ7Ep94FnlQr8aR%2Fuploads%2F3v8Tv6YzAmSDZy2zh5Gj%2FTwitter%20post%20-%202.png?alt=media&#x26;token=1ad80298-7555-4cd8-9022-50dc5e7e9c10" alt=""><figcaption></figcaption></figure>

## Namespaces

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

As of this writing over 100 different communities have started namespaces simply by inscribing names. This has created a bit of a mess—namespace operations help builders, marketplaces, and indexers, track all names, across all namespaces, with a standard syntax. Just like BRC20 has a syntax for fetching all tokens, SNS has a standard for fetching all names.&#x20;

Here are few noteworthy examples and their namespace inscription:&#x20;

<table><thead><tr><th width="139">Namespace</th><th width="264.3333333333333">About</th><th>Namespace operation</th></tr></thead><tbody><tr><td>.sats</td><td>Names on Bitcoin. First is first.</td><td><a href="https://www.ord.io/15529498">https://www.ord.io/15529498</a></td></tr><tr><td>.ord</td><td>Built on Bitcoin with ordinals</td><td><a href="https://www.ord.io/15529517">https://www.ord.io/15529517</a></td></tr><tr><td>.gm</td><td>Good morning Bitcoiners</td><td><a href="https://www.ord.io/15529507">https://www.ord.io/15529507</a></td></tr></tbody></table>

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

## Create a namespace

<figure><img src="https://2381352238-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8HLCZlJ7Ep94FnlQr8aR%2Fuploads%2FJtMnZFnE61skrmBn6nhQ%2FTwitter%20post%20-%201.png?alt=media&#x26;token=ec7a7037-d90f-406c-b77a-1e44ab45086a" 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 `ns` 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 SNS 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

```json5
{
    "p": "sns",
    "op": "ns",
    "ns": "sats",
    "about": "Names on Bitcoin. First is first.",
    "avatar": "6373fce7c218e344d78e6c1802651ee1557eb6ebd2292b2ba24d449792227869i0",
}
```

<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 SNS protocol</td></tr><tr><td>op</td><td>Yes</td><td>New namespace operation </td></tr><tr><td>ns</td><td>Yes</td><td>Defines the namespace, for example <code>sats</code> defines the .sats 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.


---

# 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.satsnames.org/sats-names/sns-spec/namespaces.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.
