> For the complete documentation index, see [llms.txt](https://handles.gitbook.io/handles/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://handles.gitbook.io/handles/spec/handles-protocol/inscribing-handles.md).

# Inscribing @handles

## Inscribe @handle names

@handle names are any child extension of its parent prefix: (@)&#x20;

The syntax and limitations below apply to the @ prefix. \
New @handle names can be inscribed as an ordinal artifact by way of a Bitcoin transaction. \
This process is open to anyone who can inscribe.

{% hint style="danger" %}
Make sure to verify the @handle you want is available before you inscribe it. &#x20;

Remember first is first.  Any duplicate inscriptions will not be indexed. &#x20;

You can check availability using a tool created by Trac Network, which follows the @handles protocol in its query. &#x20;

[**https://trac.network/trac-demos/handles/**](https://trac.network/trac-demos/handles/)
{% endhint %}

***

### Simple Registration

To register a @handle name, simply inscribe an ordinal with an @ followed by the desired name. \
(no spaces).\
Here are some examples:

* @satoshi
* @bitcoin&#x20;
* @btc

### Protocol Inscription

Protocol Inscriptions allows users to add additional data to a name using JSON5 syntax. \
The format is optional and used for attaching additional content to your @handles and assist indexers in locating this attached information.

```json
{
    "p": "@handles", 
    "op": "data", 
    "name": "@satoshi", 
    "rev": "bc1psvggtp7mzr3lu8x5vrycqjqqkk5e7urtu2axjvwejea0ctjfdl3qqrctsf" 
}
```

<table><thead><tr><th width="94">Key</th><th width="122">Required?</th><th width="151">Expected</th><th>Description</th></tr></thead><tbody><tr><td>p</td><td>Yes</td><td>@handles</td><td>Helps indexers identify the hns protocol</td></tr><tr><td>op</td><td>Yes</td><td>data</td><td>This op allows a handle to have new features</td></tr><tr><td>name</td><td>Yes</td><td>@name</td><td>Provide the @handle you want to add features to</td></tr><tr><td>rev</td><td>No</td><td>Bitcoin Wallet Address</td><td>Reverse Resolution: Sets the Bitcoin address for this name</td></tr></tbody></table>

{% hint style="warning" %}
The "Protocol Inscription" format is currently in beta and under development.  \
Additional actions and items may be added to or removed from the protocol as it develops.   \
\
We will maintain these docs to reflect changes, additions, or updates as they occur.
{% endhint %}

***

### Registration Limitations

These rules apply to all @handle names:

* Only the first instance of each @handle name is valid.
* Only one name operation per ordinal inscription.
* The current standard format recognizes the following characters: \
  Letters (English)\
  Numbers \
  underscore (\_)\
  and hyphens (-) only
* A limit of 20 characters is allowed (not including the @)
* Capitalization is valid. All @handle names will be indexed as lowercase.
* No spaces are permitted within a name.

{% hint style="warning" %}

### Updating "Protocol Inscription" items

We aim to allow for the ability to update the information attached to a @handle in the future. \
\
There are some complexities related to making updates safe, and indexed reliably that will require the development of additional tools. \
Once they are widely available and tested, a syntax will be released.
{% endhint %}

###
