> For the complete documentation index, see [llms.txt](https://docs.ctx.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ctx.xyz/protocol-overview/what-is-context/semantic-name-service.md).

# Semantic Name Service

**Context Protocol Registry**

The Registry in the Context Protocol is a crucial component that serves as a Semantic Name Service. It is a decentralized system that assigns names to context documents, which are essentially on-chain data spaces used for storing JSON files.

**Functionality**

The primary function of the Registry is to provide a mapping between names and context documents. Each name in the Registry corresponds to a specific linked list of transactions, and this name is unique. This means that once a name is assigned to a context document, it cannot be used for another document. This unique mapping allows users to easily locate and access the data stored in a context document by using its assigned name.

**Decentralization**

The Registry is decentralized, meaning it is not controlled by any single entity. Instead, it is maintained by the users of the Context Protocol. This decentralization enhances the security and reliability of the Registry, as it is not vulnerable to single points of failure.

**Interoperability**

The Registry promotes interoperability and data portability. Since each name in the Registry corresponds to a Context document, and each Context document can be linked to one or more schemas, it is possible to link a single piece of data to multiple schemas. This makes it easier for developers to build and scale their applications, as they can leverage the same data across different schemas.

**Data Versioning**

In addition to its naming function, the Registry also supports data versioning. Each time a Context document is updated, a new version of the data is created and stored. This allows users to track the evolution of their data over time, enhancing data traceability.

**Conclusion**

In summary, the Registry in the Context Protocol is a decentralized Semantic Name Service that assigns unique names to Context documents. It promotes data interoperability and portability, supports data versioning, and is maintained by the users of the Context Protocol. It is a key component of the Context Protocol, enabling users to easily locate and access their data.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.ctx.xyz/protocol-overview/what-is-context/semantic-name-service.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
