Skip to content

Latest commit

 

History

History
92 lines (68 loc) · 4.21 KB

README.md

File metadata and controls

92 lines (68 loc) · 4.21 KB

Voltage

Bitcoin payments from your terminal.

CI Release License: MIT

voltage is the command-line client for the Voltage API. Create wallets, receive and send Lightning payments (and on-chain payments, where enabled), and manage quotes, webhooks, and checkout from a terminal, a script, or an AI agent.

  • Safe by default. A change is only described until you add --execute. Every payment carries an ID, and the CLI never resubmits one on its own.
  • Built for scripts. Tables on a terminal, stable JSON when piped, and exit codes that say what happened.
  • Your credentials stay yours. Browser login with your usual MFA, kept in your OS credential store by default. Secrets are redacted unless you ask for them.

Install

Download the archive for macOS, Linux, or Windows from the releases page, extract it, and put voltage on your PATH. Releases are signed and attested: verify a download.

Or build from source with Rust:

cargo install --git https://github.com/voltagecloud/voltage-cli --locked
voltage --version

Quick start

voltage login
voltage organizations list
voltage environments list --org ORG_ID
voltage profiles create prod --org ORG_ID --env ENV_ID --account you@example.com
voltage wallets list --profile prod

Replace ORG_ID, ENV_ID, and the other placeholders with real UUIDs. Then take a payment:

voltage payments receive --profile prod --wallet WALLET_ID \
  --currency btc --kind bolt11 --amount 1000 --unit sats --qr --execute

The invoice prints as a QR code as soon as it is ready. Leave out --execute to see the exact request first.

Use it in scripts

voltage payments list --profile prod --json | jq '.data.items[].status'
voltage payments send --profile prod --wallet WALLET_ID \
  --currency btc --invoice BOLT11_INVOICE --max-fee 10 --fee-unit sats --dry-run
VOLTAGE_EXECUTE=1 ./pay-invoices.sh
Exit code Meaning
0 Success, or accepted without --wait
1 The API rejected the request or a payment failed
4 Transport failure, or a payment whose outcome is unknown: check its ID before you retry
6 A change was described but not sent

All codes are in the exit code reference.

Documentation

Install Platforms, download verification, completions, credential stores
Log in and use profiles Browser login, API keys, scope, profiles, voltage context
Payments Receive, send, wait, quotes, prices
Requests Request bodies, filters, paging
Checkout Session and stream tokens, events
Scripting JSON, --execute in scripts, quiet output
Safety model Describe-by-default, dry runs, payment IDs, Ctrl-C, redaction
Output reference Tables, the JSON envelope, streams
Command reference Every command and its API route

Every command also has --help. The docs index lists everything.

Contributing

Report security issues as described in SECURITY.md. Build, test, and release instructions are in the development guide. Code conventions are in the style guide.

License

MIT. See LICENSE.