Skip to content

Repository files navigation

VODA

A worldwide accumulation of knowledge where every claim carries its own re-derivable proof — so AI agents, starting with code, build on facts they can verify from first principles instead of sources they have to trust.

VODA is the ecosystem: a lake of ponds, each a signed, content-addressed collection of Drops — claims whose verdict is either a byte-exact quote from a source or a deterministic, sandboxed check that re-derives it. No operator to trust, no service to call: verify any Drop, any pond, or the whole lake from nothing but the published bytes and a public key. Built on ACSA (the standard — 100% Accurate, Complete, Sure, Assumptionless) and spoken over SAVA (the protocol — Drops, ponds, heads, keyless verification). This repo is the engine that builds and verifies both. Live network: voda.onl.

Try it — 30 seconds, no install, no trust required

Verify one real fact — an on-chain vault reading, signed and check-grounded — with a single downloaded file:

curl -sA "Mozilla/5.0" https://voda.onl/lake/sava_verify.py -o sava_verify.py
curl -sA "Mozilla/5.0" https://voda-onl.github.io/defi-vaults-pond/drops/sdai-total-assets-25787296.json -o drop.json
python3 sava_verify.py drop drop.json \
  --trust 2b265c2f46b432c14bcf769b8d1e5db038b5a6fc5045ed215a103d04b542821f \
  --execute-checks --json
# {"result": 0, "verdict": "verified", "source_fidelity": "checked-by-execution", ...}

sava_verify.py is stdlib-only (no dependencies, no network calls of its own) — inspect it before you trust it; that's the point. result: 0 means the claim's check re-ran, in a sandbox, on your machine, and reproduced verified from the bytes alone. Edit one digit in drop.json and re-run: it rejects.

Verify the whole lake the same way:

curl -sA "Mozilla/5.0" https://voda.onl/lake/acsa_consume.py -o acsa_consume.py
python3 acsa_consume.py https://voda.onl/lake/nt-bootstrap.json --execute-checks --json

nt-bootstrap.json pins every admitted pond's own key — the lake is keyless: it never claims authority over a pond's content, only relays where to find it and what key to check it against.

What's in this repo

  • src/acsa/sava/ — the protocol: canonical JSON (RFC 8785), content addressing, Ed25519 signing/verification, Drop and pond-head construction (produce_pure.py), Merkle trees, the pond-admission gate.
  • src/acsa/checks/ — the sandbox a check-grounded Drop's verdict runs in: an AST allow-list, resource caps, seccomp, Landlock, and a machine-stability gate (a check must reproduce the same verdict across multiple hash seeds before it's admissible).
  • src/acsa/loop/Pond, contribute(), write_pond(): the authoring path for minting new Drops into a pond.
  • src/acsa/nt/ — NT (Nullius Testimony): keyless consumption and peer-crawl discovery across the lake.
  • packages/acsa-verify/ — the standalone verifier core, published on its own to PyPI independent of this repo; the same logic vendored into the files served at voda.onl/lake/.
  • packages/voda-arith/, packages/voda-yieldy/ — applications built on the engine: a verifiable-reward task environment, and the integration that minted the pond you just verified above.

Also in this repo: an earlier, still-functional local CLI (acsa ingest / query / bundle export) for ingesting quote-grounded claimsets into a private SQLite lake and exporting offline-verifiable "bottles." It predates the live SAVA network above and doesn't publish anywhere — see AGENTS.md for its full command reference if you need it.

The principle is the point

Every contributor, human or agent, follows docs/acsa-principle.md: tests first, evidence for every "done," no silent assumptions, unknowns labeled [Not established]. The standard isn't separate from the product — it's the discipline that built it, and the sandbox/stability/signing machinery above is that discipline made mechanical.

Docs

Running tests

uv sync --all-packages   # once, on a fresh clone
uv run pytest            # main suite

Domain

voda.onl

License

Apache License 2.0. See LICENSE and NOTICE for the copyright attribution.

About

The ACSA engine — SAVA (self-verifying), Confluence (self-preserving), NT (self-running). Reference tools, sandbox, and tests.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages