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, cryptographically verifiable trees of revisions that can be exchanged across systems and checked by anyone who holds them — no central authority required.
Aqua Protocol v4 is under active development. The published components — aqua-rs-sdk-core and aqua-template-registry — are an early community release with a deliberately limited functionality scope. Version numbers have not yet been increased, backward compatibility is not yet provided, and breaking changes are expected and may occur without notice. The full aqua-rs-sdk, which extends this core, is scheduled for a later publication. For production use today, refer to the stable v3 documentation.
What is Aqua Protocol?
Aqua Protocol is a framework for building distributed trust networks. It uses hash chains and cryptographic signatures to make data integrity and provenance verifiable without a trusted intermediary, and it is the 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 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 is made possible by crypto as in cryptography. The protocol neither is nor requires blockchain technology: records are secured by hash chains and digital signatures, and anyone holding the data can verify it independently.
How it works
At its core, Aqua creates portable hash-linked structures called Aqua trees (written AquaTree in code) 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:
| Component | What it does |
|---|---|
aqua-rs-sdk-core | The protocol core: anchor, object, and template primitives, 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 Aqua templates by publisher DID, as a Rust library and an HTTP service. A hosted instance runs at aqua-registry.inblock.io, provided without SLA. |
Neither crate is on crates.io yet (publication is planned). 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.
Where to go next
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
Aqua v3 (stable)
Aqua Protocol v3 is the stable, production-ready release, built around a JavaScript/TypeScript SDK. If you are building for production today, start with the v3 documentation. The v4 release documented here is the experimental successor and does not yet replace it.
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
See also
- Quick Start — first steps with the Rust core
- Core Concepts — the v4 data model at a glance
- Release Status & Versioning — scope and guarantees of this release
- aqua-rs-sdk-core — the published crate in detail
- Aqua v3 introduction — the stable release
