Self-hosting
A ZeqVM node is a single Node process + Postgres. Fork it, seat your genesis, and your node ticks at the 1.287 Hz system clock with its own entangled state, its own vault, its own Ed25519 identity.
Repo hulyasmath/zeq-framework Stack Node 22+ · Postgres 16 Precision ≤0.1%
The two bootstrap pointers (and nothing else)
There are exactly two values that live outside the ZSC vault, because
they unlock it. They belong in your shell rc, OS keychain, or a Docker
secret — never in a repo-tracked file. The framework does not use
.env files.
| Pointer | Why it can't live in the vault |
|---|---|
ZEQ_FIELD_KEY (64-hex) | The master key that encrypts every vault row — the vault can't decrypt itself. |
DATABASE_URL | Where the vault's table lives. |
Every other secret — session keys, provider keys, peer rosters — is
sealed into zsc_secrets (AES-256-GCM at rest, audit-chained reads) via
POST /api/zsc/set or infra/zsc-seal.mjs, and hydrated into the
process at boot by the launcher.
Launch
git clone https://github.com/hulyasmath/zeq-framework
cd zeq-framework && pnpm install
# converge the schema (idempotent — no migration journal, schema is source)
pnpm --filter @workspace/db push
# launch — the launcher decrypts the vault and spawns the bundle
ZEQ_FIELD_KEY=<64-hex> DATABASE_URL=postgres://... \
node infra/zeq-dev-launch.mjs
To pre-pin your fork's public URL (otherwise it auto-detects on the first request):
DATABASE_URL=postgres://... node infra/setup-zeq.mjs https://your-fork.example
Join the mesh
Seal a verifier roster into your vault and your node cross-attests with its peers — same registry version means provably the same physics:
ZSC_VALUE="https://zeqstate.com,https://zeqond.com" \
node infra/zsc-seal.mjs ZEQ_VERIFIER_PEERS --purpose verifier_mesh
Check it: GET /api/mesh shows your node and every peer, with live
status and registry match.
Verify your node
curl -s https://your-fork.example/api/health # git SHA + status
curl -s https://your-fork.example/api/zeq/conformance # bit-identical physics
zeq chain verify # offline chain verification
The full operator runbook — genesis seating, backup drills, key rotation — lives at Operate → Self-hosting and Operate → ZSC bootstrap.