VOID Reference Implementation
A minimal example stack for building verifiable, opinionated, chain‑integrated decentralized apps.
What is VOID?
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!
What VOID is not
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.
How to use the VOID Reference Implementation Repo
Use the VOID Reference Implementation 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,events, andqueries. Continue through the documentation for more details on App setup, architecture, and running in a Node.