Welcome to Aqua Protocol
Portable, verifiable data trees built on cryptography — what Aqua Protocol v4 is and where to start
Aqua Protocol is an open protocol for data accountability and provenance. It records data as Aqua trees: portable trees of revisions secured by hash chains and cryptographic signatures, which can be exchanged across systems and checked by anyone who holds them. No central authority or trusted intermediary is required, which makes the protocol a foundation for applications that certify, attest to, and secure data in an open, decentralized way.
Trust can be built by relying on hashing and signature mechanisms alone or by delegating to a mutually trusted party. Aqua Protocol handles both scenarios, giving you flexibility in how you establish and verify trust.
Aqua Protocol v4 is alpha software. The published components — aqua-rs-sdk-core and aqua-template-registry — have a deliberately limited scope, and breaking changes may occur without notice. See Release Status & Versioning.
At its core, Aqua creates portable hash-linked structures called Aqua trees that record a gapless history of data revisions. Every revision is one of four kinds — object (typed data), template (the schema that defines a type), signature (a cryptographic endorsement), or anchor (a structural link between revisions and trees). Each revision after the first references its predecessor by hash, so a modification anywhere in the history is immediately detectable.
Aqua trees are plain JSON. They can be stored, exchanged, and verified anywhere: verification is a local computation over the tree (and any trees it links to), not a call to a service.
Key capabilities of the v4 core profile:
- Tamper-evident history: every revision after the first links to its predecessor by hash; a change to any byte anywhere breaks verification.
- Typed data: object revisions conform to templates (JSON Schema) identified by hash, so both sides of an exchange agree on structure.
- Cryptographic signatures: four suites: Ed25519, Ethereum EIP-191, ECDSA P-256, and WebAuthn P-256, with signer identities expressed as DIDs.
- Selective disclosure: tree-hashed revisions can be shared with individual fields redacted while the rest stays verifiable.
- Portable verification: trees can be exported self-descriptively, so they verify anywhere; the verifier needs the data, not an account on a platform.
The Core Concepts page builds the full mental model; the Protocol Reference is the readable companion to the normative specification.
What is available today
Two components are published, both under the Apache-2.0 license:
aqua-rs-sdk-core— the protocol core: revision primitives, the four signature suites, selective disclosure, and the verification pipeline. Also home of the protocol specification.aqua-template-registry— template distribution: publish, resolve, and subscribe to templates by publisher DID, as a Rust library and an HTTP service. Hosted instance at aqua-registry.inblock.io, without SLA.
Neither crate is on crates.io yet. Install the core as a git dependency:
1[dependencies]2aqua-rs-sdk-core = { git = "https://github.com/inblockio/aqua-rs-sdk-core" }Release Status & Versioning states exactly what this release contains, what it deliberately excludes, and which stability guarantees apply.
Why Aqua
Proof, not platforms. Records are secured by hash chains and cryptographic signatures. Verification requires no blockchain and no central authority: anyone holding the data can check it independently.
Provenance that travels. Each new revision links to the one before it, forming a portable, gapless history of origin and change. Integrity stays checkable wherever the data goes.
Open by design. An open standard with open-source implementations. Only hashes ever need to leave your hands, so the data itself stays private and under your control.
Community & contact
Aqua Protocol is open source and community-driven. Feedback, bug reports, code, and documentation contributions are welcome.
- GitHub: github.com/inblockio — source code, issues, and pull requests
- Email: info@inblock.io — reach the team directly
- X: x.com/inblockio — announcements and progress
Next steps
- Quick Start — create, sign, and verify your first Aqua tree in Rust
- Core Concepts — revisions, trees, templates, and the trust model
- aqua-rs-sdk-core — the aqua-rs-sdk-core crate: API surface and usage
- Template Registry — publish and resolve templates by publisher DID
- Audit Trails for AI Agents — record what an AI agent did as verifiable Aqua trees
- Protocol Reference — the readable reference to the normative protocol specification
- Use Cases — document verification, identity attestation, supply chain
- Release Status & Versioning — what this release contains, excludes, and guarantees
