# Overview

The Contract Open Standard is a smart contract specification defined by the Relation Protocol. It has two basic requirements:

* The contracts should conform to the data format and interface specification defined by the [Open Standard API](/protocol/open-standard-api/introduction.md).
* The RDF data constructed by these contracts should conform to the [Schema Standard](/protocol/schema-standard/overview.md).

Relation Protocol defined a set of Base Contracts based on the Contract Open Standard to address the three following scenarios.

**Identity**: Describe users' identity via SBT contracts.

* Name Service contract

**Relationships**: Describe connections between different users via SBT contracts.

* Follow
* DAO

**Publication**: Describe users' public or privacy content published via SBT contracts.

* Content
* Privacy Content

<figure><img src="/files/kViKB9C5boZkjib5jUKY" alt=""><figcaption><p>Figure 5-1 Base Contracts</p></figcaption></figure>


---

# 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://relationlabs.gitbook.io/protocol/contract-open-standard/overview.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.
