CLI Reference
Create zero-knowledge self-destructing notes from your terminal, scripts, Dockerfiles, and CI pipelines.
Installation
brew tap quantum-encoding/tap && brew install voidnote go install github.com/quantum-encoding/voidnote-cli@latest Pre-built binaries for macOS, Linux (amd64/arm64), and Windows are available on the releases page.
Authentication
Log in once. The CLI stores credentials in ~/.config/voidnote/credentials.
voidnote login
VOIDNOTE_TOKEN=<api-token> voidnote send ...
voidnote send
Encrypt content and return a share link. Content is never sent in plaintext.
# pipe stdin
echo "deploy key: abc123" | voidnote send# 3 views, expires in 6 hours
voidnote send --views 3 --expires 6h# send a file
voidnote send < secrets.env# output just the URL (useful for scripting)
voidnote send --quiet < secret.txt| Flag | Default | Description |
|---|---|---|
| --views | 1 | Max views before destruction (1–100) |
| --expires | 24h | Expiry: 1h, 6h, 24h, 3d, 7d, 30d |
| --api-key | — | API key (overrides VOIDNOTE_API_KEY env / stored credentials) |
| --quiet | false | Print only the URL, no decoration |
| --json | false | Output result as JSON {"url","token","expiresAt"} |
voidnote read
Fetch and decrypt a note by URL. Counts as one view.
# print to stdout — paste the full URL including #key
voidnote read "https://voidnote.net/n/<token>#<key>"# save to file
voidnote read <url> --out secrets.env# pipe into a command
voidnote read <url> | source /dev/stdinvoidnote stream coming soon
Live encrypted real-time channels — pipe any output through an ephemeral encrypted channel using just a URL. Stream support is in development and will be available shortly.
voidnote credits
Check your balance and manage credits. 1 credit = 1 note.
# show current balance
voidnote credits# initiate a crypto payment order (prints address + amount)
voidnote credits buy --bundle starter --chain polygon --token USDT# submit tx hash after sending — credits added immediately
voidnote credits submit --order <order-id> --tx <tx-hash># open the buy page in your browser (card / Apple Pay / Google Pay)
voidnote credits buy --card| Bundle | Credits | Price | Per note |
|---|---|---|---|
| test | 20 | $1 | $0.05 |
| starter | 100 | $5 | $0.05 |
| standard | 500 | $20 | $0.04 |
| pro | 1,000 | $35 | $0.035 |
Accepted: USDT · USDC · ETH · BTC · TRX on Polygon, Base, Arbitrum, Ethereum, Bitcoin, Tron.
Card payments (Visa, Mastercard, Apple Pay) via --card.
Other commands
| Command | Description |
|---|---|
| voidnote login | Authenticate and store credentials |
| voidnote logout | Remove stored credentials |
| voidnote status | Show auth status and credit balance |
| voidnote credits | Show balance; buy with buy and submit subcommands |
| voidnote list | List your recent notes (title, expiry, views remaining) |
| voidnote version | Print CLI version and check for updates |
CI / CD examples
GitHub Actions — send secrets to a teammate without storing them in logs:
- name: Share deploy key
run: |
echo "${{ secrets.DEPLOY_KEY }}" \
| voidnote send --views 1 --expires 1h --quiet
env:
VOIDNOTE_API_KEY: ${{ secrets.VOIDNOTE_API_KEY }} Dockerfile — inject secrets at runtime without baking them into the image:
RUN curl -sL https://dl.voidnote.net/cli/install.sh | sh
ARG VOID_URL
RUN voidnote read "$VOID_URL" > /run/secrets/app.env Environment variables
| Variable | Description |
|---|---|
| VOIDNOTE_TOKEN | API token — overrides stored credentials (use in CI) |
| VOIDNOTE_API_URL | Override API base URL (self-hosted instances) |
| NO_COLOR | Disable colour output (standard NO_COLOR convention) |