Aqua ProtocolAqua Protocol
Aqua Protocol
Aqua ProtocolOpen-source cryptographic trust infrastructure for the AI era — verifiable identity, access control, and tamper-proof provenance.

Documentation

PrologueConceptsAqua Protocol Tooling & Components

Documentation

PrologueConceptsAqua Protocol Tooling & Components
Docs
Aqua Protocol Tooling & Components

Aqua Protocol Tooling & Components

Overview of Aqua Protocol v1.2 tools and components

4 min read

Aqua Protocol Tooling & Components

This document provides a comprehensive overview of all the tools and components available in the Aqua Protocol ecosystem version 1.2.

Aqua CLI

Aqua CLI is a command line utility that enables you to create, verify, witness, and sign aqua chains. There are two implementations available:

Rust Implementation (Recommended)

The Rust CLI is the stable implementation and the recommended choice for getting started with the Aqua protocol.

Installation:

  • Via cargo: cargo install aqua-cli
  • Building from source:
    Code
    bash
    1git clone git@github.com:inblockio/aqua-cli-rs.git
    2cargo build --release
    3cd target/release/ && cp aqua-cli /usr/bin

Repository: https://github.com/inblockio/aqua-cli-rs

Key Features:

  • Verify aqua chain JSON files
  • Generate aqua chains
  • Generate validation reports
  • Sign and witness aqua chains

Available Commands:

  • -a or --authenticate: Verify an aqua JSON file
  • -s or --sign: Sign an aqua JSON file
  • -w or --witness: Witness an aqua JSON file
  • -f or --file: Generate an aqua JSON file
  • -v or --verbose: Provide logs about the process
  • -o or --output: Save output to file (JSON, HTML, or PDF)
  • -l or --level: Define validation strictness (1 or 2)
  • -d or --delete: Remove revision from an aqua JSON file
  • -c or --count: Specify number of revisions to remove

Environment Variables:

  • aqua_domain: Random alphanumeric value
  • aqua_network: "sepolia", "holesky", or "mainnet"
  • verification_platform: "alchemy", "infura", or "none" (default: "none")
  • aqua_alchemy_look_up: true or false

Example Usage:

Code
bash
1aqua-cli -a chain.json
2aqua-cli -s chain.json --output report.json
3aqua-cli -w chain.json --output report.json
4aqua-cli -f document.pdf
5aqua-cli --file image.png --verbose

JavaScript Implementation

The JavaScript implementation is used to quickly prototype ideas.

Repository: https://github.com/inblockio/aqua-verifier-js

:::warning If you are just getting started, use the Rust CLI. The JS version is primarily used to prototype ideas. :::

Environment Setup:

  1. Install Node.js (latest version)
  2. Ensure you have Yarn or npm installed

Installation:

Code
bash
1git clone git@github.com:inblockio/aqua-cli-js.git
2cd aqua-cli-js && npm i && npm build

Configuration: Create a credentials.json file with the following structure:

Code
json
1{
2 "mnemonic": "sample sample sample sample sample sample sample sample sample sample sample author matter",
3 "nostr_sk": "xxxxxxxxxxxxxxxx",
4 "did:key": "xxxxxxxxxxxxxx"
5}

Usage Commands:

Notarize:

Code
bash
1./notarize.js [OPTIONS] <filename>

Options:

  • --sign [cli|metamask|did]: Sign with Ethereum seed phrase, MetaMask, or DID key
  • --witness-eth: Witness to Ethereum on-chain with MetaMask
  • --witness-nostr: Witness to Nostr network
  • --witness-tsa: Witness to TSA DigiCert
  • --link <filename.aqua.json>: Add a link to an AQUA chain as a dependency

Verify:

Code
bash
1./verify.js [OPTIONS] <page title>
2# or
3./verify.js [OPTIONS] --file <offline file.json or file.xml>

Options:

  • -v: Verbose
  • --server: The URL of the server (e.g., https://pkc.inblock.io)
  • --ignore-merkle-proof: Ignore verifying the witness merkle proof
  • --file: The file to read from for the data

Aqua Container (Aquafier)

Aqua Container is a Rust web application with a React frontend that implements the Aqua protocol. It enables data to be signed, witnessed, and verified through a web browser interface.

Try it online: https://aquafire.aqua-protocol.org/

Technical Details:

  • Backend: Axum web server in Rust
  • Frontend: React (TypeScript)
  • Database: SQLite with Diesel ORM
  • Communication: HTTP protocol
  • File size limit: 20 MB maximum
  • Docker container available for quick deployment

Repository: https://github.com/inblockio/aqua-verifier-rs

The container is built using the same libraries as the CLI, providing all CLI capabilities with a graphical interface.

Aqua Verifier (Chrome Extension)

The Aqua Verifier is a Chrome extension that can be used to verify aqua chains directly in your browser. This is the easiest and fastest way to get started with the Aqua protocol.

Installation: Available on the Chrome Web Store

Personal Knowledge Container (PKC)

The Personal Knowledge Container was a prototype implementation of Aqua protocol v1.1.

:::note For information about PKC, please refer to version 1.1 documentation. :::

Aqua Guardian

Aqua Guardian is a security gateway designed to exchange Aqua-Chains and enforce policies of Aqua-Contracts. It provides secure connectivity between Guardians and verifies the integrity of Aqua storage containers.

:::warning The Aqua Guardian still uses Aqua protocol version 1.1, making it incompatible with protocol 1.2 and all tools that use protocol 1.2 (such as Aqua Container and Aqua CLI). :::

Why Two CLI Implementations?

The JavaScript implementation enables rapid prototyping of new ideas, while the Rust implementation provides stability and production-ready features. This dual approach allows the team to experiment quickly while maintaining a reliable tool for end users.

Getting Started

For most users, we recommend starting with either:

  1. Aqua Verifier Chrome Extension - For the quickest and easiest start
  2. Aqua CLI (Rust) - For command-line users who want full control
  3. Aqua Container Sandbox - For a web-based graphical interface

All tools support the core Aqua protocol operations: creating, signing, witnessing, and verifying aqua chains to ensure data integrity.

Edit this pageReport an issue
Previous
Concepts

Documentation

  • Getting Started
  • API Reference

Community

  • GitHub

Copyright © 2026 Aqua. All rights reserved.

On this page

Aqua CLIRust Implementation (Recommended)JavaScript ImplementationAqua Container (Aquafier)Aqua Verifier (Chrome Extension)Personal Knowledge Container (PKC)Aqua GuardianWhy Two CLI Implementations?Getting Started