VerdifaX

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

FlagEnv varDefault
--api-urlVERDIFAX_API_URLhttp://localhost:9090
--api-keyVERDIFAX_API_KEY(none)
--program-idVERDIFAX_PROGRAM_IDrequired
--route-idVERDIFAX_ROUTE_IDrequired
--registry-record-hashVERDIFAX_REGISTRY_RECORD_HASHrequired

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

Continue