Skip to main content

@helixid/cli

Command-line interface for HelixID operator workflows. Useful for low-volume issuance where running the full API is more infrastructure than you need, and for issuer setup generally.

npm install -g @helixid/cli

Binary: helix.

Commands

CommandPurposeRequired optionsOptional options
helix did createCreate a DID and encrypted wallet. For --method web, also creates the SP's initial status list by default.--method <web|hedera|key>, --wallet <path>--domain <domain>, --network <testnet|previewnet|mainnet>, --no-status-list, --status-list-length <bits>, --status-list-output <path>, --status-list-base-url <url>
helix issuer initValidate issuer wallet readiness.--wallet <path>None
helix status-list createCreate a signed BitstringStatusList credential file.--length <bits>, --output <path>, --base-url <url>, --wallet <path>None
helix vc issueIssue a HelixAgentCredential to an agent DID.--agent-did <did>, --scopes <csv>, --expires <duration>, --status-list <path>, --base-url <url>, --wallet <path>--output <path>, --max-delegation-depth <depth>
helix vc self-issueIssue a self-signed dev credential to a wallet.--scopes <csv>, --expires <duration>, --wallet <path>None
helix revokeRevoke a credential by flipping its status-list bit.--vc-id <vcId>, --status-list <path>, --wallet <path>None
helix wallet inspectInspect a wallet without printing the private key.--wallet <path>None

Typical operator setup

Create the issuer identity and its status list in one step:

helix did create --method web --domain issuer.example.com --wallet issuer.enc

Confirm the issuer wallet is ready to sign:

helix issuer init --wallet issuer.enc

Issue a scoped credential to an agent:

helix vc issue \
--agent-did did:key:z6Mk... \
--scopes read:orders,write:orders \
--expires 30d \
--max-delegation-depth 1 \
--status-list ./public/status/1.json \
--base-url https://issuer.example.com \
--wallet issuer.enc

Revoke it later:

helix revoke --vc-id <vcId> --status-list ./public/status/1.json --wallet issuer.enc
The issuer wallet is the trust anchor

--wallet issuer.enc holds the key that every credential in your trust domain is signed with. Treat it accordingly — a KMS, an HSM, or at minimum encrypted-at-rest storage with IAM-scoped access. helix wallet inspect deliberately never prints the private key. See the Security Model.

Set --max-delegation-depth explicitly on every credential you issue. See Delegation.