Quickstart — CLI
The verdifax-cli binary is the smallest possible client.
Useful for shell scripts, CI/CD pipelines, and ad-hoc attestation from
the terminal.
Install
# Build from source (requires Go 1.22+)
git clone https://github.com/verdifax/verdifax-orchestrator
cd verdifax-orchestrator
make build
# → bin/verdifax-cli is now ready
A Homebrew tap and prebuilt binaries for darwin/linux are on the roadmap.
Run the demo
./bin/verdifax-cli --demo
This runs a complete nine-stage pipeline against a built-in sample payload and prints the manifest hash to stdout.
Attest a file
./bin/verdifax-cli ./path/to/payload.txt
The CLI accepts a single file path. It reads the file, runs the pipeline, and prints the sealed manifest hash plus duration. Exit code is 0 on success, non-zero on stage failure.
Configuration
| Flag | Env var | Default |
|---|---|---|
--api-url | VERDIFAX_API_URL | http://localhost:9090 |
--api-key | VERDIFAX_API_KEY | (none) |
--program-id | VERDIFAX_PROGRAM_ID | required |
--route-id | VERDIFAX_ROUTE_ID | required |
--registry-record-hash | VERDIFAX_REGISTRY_RECORD_HASH | required |
Use in CI
# .github/workflows/attest.yml
- name: Attest model output
env:
VERDIFAX_API_URL: ${{ secrets.VERDIFAX_API_URL }}
VERDIFAX_API_KEY: ${{ secrets.VERDIFAX_API_KEY }}
VERDIFAX_PROGRAM_ID: ${{ vars.VERDIFAX_PROGRAM_ID }}
VERDIFAX_ROUTE_ID: ci-attestation
VERDIFAX_REGISTRY_RECORD_HASH: ${{ vars.VERDIFAX_REGISTRY_RECORD_HASH }}
run: |
HASH=$(./verdifax-cli ./model-output.txt)
echo "manifest_hash=$HASH" >> $GITHUB_OUTPUT
