> For the complete documentation index, see [llms.txt](https://wiki.kylin.network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.kylin.network/getting-started/project-details/project-architecture/data-oracle/substrate-polkadot-integration.md).

# Democracy Pallet

The sudo or root command is necessary to create feeds at the time of this writing. The underlying truth is that it is not possible to separate DAO governance and oracles. This procedure is revised to allow for community support of this procedure and others that should undergo the process of community approval. Following the procedure, the community will endorse a proposal for the creation of a feed and eventually vote on the pertinence of this feed. The outcome of this vote should confirm that all tests, criteria, and concerns have been addressed and approved for interaction with the system.&#x20;

**Interface**&#x20;

* Propose: Submits a sensitive action, represented as a hash. Requires a deposit.&#x20;
* Second: Signals agreement with a proposal, moves it higher on the proposal queue, and requires a matching deposit to the original.&#x20;
* Vote: Votes in a referendum, either the vote is ”Aye” to enact the proposal or ”Nay” to keep the status quo.&#x20;
* Unvote: Cancel a previous vote, this must be done by the voter before the vote ends.&#x20;
* Delegate: Delegates the voting power (tokens \* conviction) to another account.&#x20;
* Undelegate: Stops the delegation of voting power to another account.

**Democracy Pallet Use Cases**&#x20;

* **Submit data feed** \
  \&#xNAN;*(a) Submit as a proposal* \
  *(b) Obtain community endorsements* \
  *After the proposal period ends, a data feed (Dynamic NFT) is created and is put up for sale on a decentralized data market. Possibility of this step financing the vote. i.e., Anyone satisfying the criteria for the vote could get paid to vote. See democracy pallet enhancements.* \
  *(c) Select APIs* \
  *(d) Select OCW aggregation buffer algorithm* \
  *(e) Select reporters aggregation buffer algorithm* \
  *(f) Select Kylin Oracle runtime aggregation buffer algorithm* \
  *(g) Create Service level agreement. Include APIs and algorithms, test runs, and data schema validation as part of this step* \
  *(h) Community vote on data feed creation Publication of config upon successful vote. Users can select config for their feed according to their preferences.* \
  *(i) User/dapps request to query feed* \
  *(j) Users sign SLA agreeing to configuration, terms, and conditions* \
  *(k) Possibility to delete data Feed* \
  *Service level agreement resiliation*
* **Register API** \
  \&#xNAN;*(a) Submitted as a proposal* \
  *(b) Obtain community endorsements* \
  *(c) Create Service level agreement* \
  *(d) Vote on API provider Vote is based on reputation or any other pertinent info.* \
  *(e) Users sign SLA agreeing to configuration, terms, and conditions*
* **Register Reporter** \
  \&#xNAN;*(a) Submitted as a proposal* \
  *(b) Obtain community endorsements* \
  *(c) Create Service level agreement* \
  *(d) Vote on reporter Vote is based on reputation or any other pertinent info.* \
  *(e) Users sign SLA agreeing to configuration, terms, and conditions*
* **Register keeper/arbitrator** \
  (a) Submitted as a proposal (b) Obtain community endorsements (c) Create Service level agreement (d) Vote on keeper/arbitrator Vote is based on reputation or any other pertinent info. (e) Users sign SLA agreeing to configuration, terms, and conditions (f) Permissions i. Blacklisting reporters ii. Emergency stop of feed


---

# 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:

```
GET https://wiki.kylin.network/getting-started/project-details/project-architecture/data-oracle/substrate-polkadot-integration.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.
