# .element Registry

## Formal Pattern Registration

Inscribing a *`.element` inscription using the following format:*

```
<name>.<pattern>.<field>.element
```

{% hint style="warning" %}
The first deployment of an element is the only one that has claim to the name. Names are not case sensitive (DOGE = doge).&#x20;
{% endhint %}

{% hint style="danger" %}
The NAME field (\<name>.\<pattern>.\<field>.element) can not be reused to represent other elements.&#x20;

Examples:

Valid: dmt.11.element

Valid: vitalik.12.element

Valid: satoshi.1.11.element

Valid: hal.2.11.element

Invalid: dmt.3.11.element

Invalid: gary.11.element
{% endhint %}

<table><thead><tr><th width="132"> Parameter</th><th width="101" data-type="checkbox">Required</th><th width="100" data-type="checkbox">Optional</th><th>Description</th><th data-hidden data-type="checkbox">Required</th><th data-hidden>Description</th><th data-hidden data-type="checkbox">Optional</th></tr></thead><tbody><tr><td>name</td><td>true</td><td>false</td><td>Where <em><code>&#x3C;name></code></em> identifies the title of your element with the following characters excluded, whitespace is also excluded:<br><code>/.[]{}:;"'</code></td><td>true</td><td>Text: Identifies the title of your element (UTF16) with the following characters excluded. <br><code>/.\[]{}:;"'</code></td><td>false</td></tr><tr><td>pattern</td><td>false</td><td>true</td><td><p>Where <code>&#x3C;pattern></code> is the pattern discovered in the desired <code>&#x3C;field></code> of choice. The field consists of the following fields within block data of Bitcoin. We've excluded redundant and non-relevant block data fields such as 'confirmations'.</p><p>If the <code>&#x3C;pattern></code> field is left off, you are invoking the whole field and disregarding the pattern sequence identification within that field, thus treating the value of the field itself as the non-arbitrary root of information. Visit <a href="../nat-use-cases/usdnat-method-1-live">$NAT</a> for a live example. </p></td><td>false</td><td>Text: <code>p&#x3C;pattern></code> sequence within the <code>Field.</code> If the <code>&#x3C;pattern></code> field is left off, you are invoking the whole field and disregarding the pattern sequence identification within that field, thus treating the value of the field itself as the non-arbitrary root of information. Visit <a href="../nat-use-cases/usdnat-method-1-live">$NAT</a> for a live example. </td><td>true</td></tr><tr><td>field</td><td>true</td><td>false</td><td>&#x3C;field> represents a mapped dataset of the block data of Bitcoin. Use the following table as a reference.</td><td>true</td><td>Text: </td><td>false</td></tr></tbody></table>

### Field Parameter

<table><thead><tr><th width="88.5">Field</th><th>Block Data</th></tr></thead><tbody><tr><td>0</td><td><p></p><p>Block</p><pre><code>"block_hash" : "hex",
</code></pre></td></tr><tr><td>1</td><td><pre><code>"size" : n, 
</code></pre></td></tr><tr><td>2</td><td><pre><code>"strippedsize" : n,             
</code></pre></td></tr><tr><td>3</td><td><pre><code>"weight" : n,                  
</code></pre></td></tr><tr><td>4</td><td><pre><code>"height" : n, 
</code></pre></td></tr><tr><td>5</td><td><pre><code>"version" : n, 
</code></pre></td></tr><tr><td>6</td><td><pre><code>"versionHex" : "hex",
</code></pre></td></tr><tr><td>7</td><td><pre><code>"merkleroot" : "hex", 
</code></pre></td></tr><tr><td>8</td><td><pre><code>"time" : xxx, 
</code></pre></td></tr><tr><td>9</td><td><pre><code>"mediantime" : xxx, 
</code></pre></td></tr><tr><td>10</td><td><pre><code>"nonce" : n, 
</code></pre></td></tr><tr><td>11</td><td><pre><code>"bits" : "hex",
</code></pre></td></tr><tr><td>12</td><td><pre><code>"difficulty" : n, 
</code></pre></td></tr><tr><td>13</td><td><pre><code>"chainwork" : "hex",
</code></pre></td></tr><tr><td>14</td><td><pre><code>"nTx" : n,
</code></pre></td></tr><tr><td>15</td><td><pre><code>"hex" : "hex", 
</code></pre></td></tr><tr><td>16</td><td><pre><code>"txid" : "hex", 
</code></pre></td></tr><tr><td>17</td><td><pre><code>"tx_hash" : "hex", 
</code></pre></td></tr><tr><td>18</td><td><pre><code>"size" : n, 
</code></pre></td></tr><tr><td>19</td><td><pre><code>"vsize" : n,  
</code></pre></td></tr><tr><td>20</td><td><pre><code>"weight" : n,  
</code></pre></td></tr><tr><td>21</td><td><pre><code>"version" : n,
</code></pre></td></tr><tr><td>22</td><td><pre><code>"locktime" : xxx, 
</code></pre></td></tr><tr><td>23</td><td><pre><code>"blocktime" : xxx, 
</code></pre></td></tr><tr><td>24</td><td><p>Input</p><pre><code>"asm" : "str",
</code></pre></td></tr><tr><td>25</td><td><p>Input</p><pre><code>"hex" : "hex" 
</code></pre></td></tr><tr><td>26</td><td><pre><code>"sequence" : n,
</code></pre></td></tr><tr><td>27</td><td><pre><code>"txinwitness" : "hex",                     
</code></pre></td></tr><tr><td>28</td><td><pre><code>"value" : n, 
</code></pre></td></tr><tr><td>29</td><td><pre><code>"n" : n, 
</code></pre></td></tr><tr><td>30</td><td><p>Output</p><pre><code>"asm" : "str",
</code></pre></td></tr><tr><td>31</td><td><p>Output</p><pre><code>"hex" : "str", 
</code></pre></td></tr><tr><td>32</td><td><pre><code>"reqSigs" : n,
</code></pre></td></tr><tr><td>33</td><td><pre><code>"type" : "str", 
</code></pre></td></tr><tr><td>34</td><td><pre><code>"witness":boolean,
</code></pre></td></tr><tr><td>35</td><td><pre><code>"btc_fee": n,
</code></pre></td></tr><tr><td>36</td><td><pre><code>"is_coinbase": boolean,
</code></pre></td></tr><tr><td>37</td><td><pre><code>"coinbase":"hex"
</code></pre></td></tr></tbody></table>

{% hint style="info" %}
Note: If you find fields that need to be supported, new fields will be added to the end of the list.
{% endhint %}

***

[**Trac Core**](https://trac.network/) **will be providing indexing service of all .element inscriptions**\
\
[**Mscribe.io**](https://mscribe.io/) **will provide platform support and record keeping for registered .element inscriptions and Deployer inscriptions.**&#x20;
