A minimal example stack for building verifiable, opinionated, chain‑integrated decentralized apps.
VOID is a minimal pattern for building Verifiable, Opinionated, chain Integrated Decentralized apps. You write your app logic once as a state machine and run it inside a generic node/server. Your app can then be opinionated about many aspects of how it operates.
- Utilize either lightweight attestations (TEE/signature) or zero‑knowledge proofs to relay app state to users and/or back on-chain.
- Interactions with the app can still be conducted on-chain through lightweight contracts, making the app composable with other smart contracts as well as compatible with a user's existing wallet and favorite chain.
- The app can be written in any language using various tooling as long as its execution can be verified.
- App transactions can solely be based on transactions made on a representative contract on a single chain, or integrate with an oracle and respond to transactions being made on multiple chains (as if the app lived on multiple chains simultaneously).
- The app can re-sequence events to fully capture any value leak from priority fees (MEV capture).
- And much more!
VOID is Not a general‑purpose rollup or a monolithic chain. VOID is a design pattern that results in powerful decentralized apps that are more opinionated than can be achieved through typical contracts on an existing chain.
Use this repo to:
- Start from the example app
app-swap/(a simple AMM with deposits, swaps, LP, and withdrawals). - Reuse the shared tooling under
void/to run nodes, expose JSON-RPC, archive state, and (optionally) prove/attest state. - Run end-to-end tests and benchmarks locally.
Building your own app:
- Clone the repo and replace
app-swapwith your app logic while keeping a similar pattern ofstate_transitionfunction,storage,eventsandqueries. Continue through the documentation for more details on App setup, architecture, and running in a Node.
You will find documentation all throughout the repo in the form of README files. Feel free to click around the various folders or jump directly to what ever interests you: