> For the complete documentation index, see [llms.txt](https://doc.cryptostone.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.cryptostone.org/protocol-architecture/34_decentralized_mining_structure.md).

# 34 Decentralized Mining Structure

In CryptoStone, mining is not performed by a server on behalf of users. A user stakes STONX into the STONX pool of their choice, and once the PoM value reaches the required threshold of that pool over time, the user directly calls a contract function such as `claimGem()` to receive a Gem NFT.

1. The user holds STONX.
2. The user selects a STONX pool.
3. The user stakes STONX.
4. Mining Power is generated.
5. PoM accumulates over time.
6. When PoM reaches the required threshold, the user calls `claimGem()`.
7. The contract verifies whether mining conditions are met.
8. Attributes are generated using verifiable randomness.
9. A Gem NFT is issued.
10. The NFT is transferred to the user’s wallet.

In this process, no central server issues gemstones or assigns attributes. Mining conditions and results are determined by code.

Smart contracts do not execute automatically on their own. However, anyone can call the contract, and the contract verifies and executes results according to predetermined conditions. Therefore, CryptoStone’s mining structure can operate without a central server.

The developer believes the important point in this structure is not simply that “there is no server,” but that “even without a server, users can directly call the contract and receive mining results according to predetermined rules.”


---

# 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://doc.cryptostone.org/protocol-architecture/34_decentralized_mining_structure.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.
