# 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.
