> For the complete documentation index, see [llms.txt](https://docs.valuechain.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.valuechain.xyz/part-i-introduction/3.-d-apps-design-philosophy.md).

# 3. D²Apps: Design Philosophy

#### 3.1 Determinism at the application level

A Web2 backend simply runs and returns results. Whether it would return the same result on a different machine rarely matters. In a decentralized system it does matter: every node must independently reach exactly the same result. So determinism is needed not only in the protocol but in the application logic itself.ValueChain calls applications built to this standard **D²Apps: Deterministic Decentralized Applications**. A D²App produces verifiable, deterministic outcomes, so every node can check it the same way. Because it does not have to be expressed as general-purpose EVM bytecode, it can run as optimized native logic, such as an order-matching engine.

#### 3.2 Generalizing the model

ValueChain gives developers three things for building D²Apps:

* **a deterministic execution environment** for high-frequency, high-integrity applications;
* **a framework and SDK (the D²App Development Kit)** for turning conventional application logic into verifiable D²Apps. It is designed to be developer-friendly, to support massive concurrency, and to work with any programming language;
* **flexible appchain structures** that let each application isolate, scale and optimize its own logic without weakening the shared state of the network.

#### 3.3 Appchain or EVM?

Appchains are not the default. **Most applications should deploy as ordinary smart contracts on the EVM system chain.** They get full EVM composability and existing tooling.Dedicated appchains are for workloads that need both very high performance and decentralization, where general-purpose VM execution is the bottleneck. On-chain order-book trading is the clearest example. SoDEX's Spot and Perpetual exchanges run as appchains for exactly this reason. Their launch serves as a working demonstration of the D²App model at production scale.
