# 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 %}

###


---

# 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://handles.gitbook.io/handles/spec/handles-protocol/inscribing-handles.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.
