Manage payments, SMS, wallets, and API monetization from the terminal. Built for humans and AI agents.
Mirror repo notice — if you're viewing this at
github.com/FinAegis/cli, that repo is a read-only split ofpackages/zelta-cli/from the FinAegis core banking monorepo. Please file issues and PRs against the monorepo.
# npm (recommended, requires PHP 8.4+ on PATH)
npm install -g @finaegis/cli
# Composer
composer global require finaegis/cliThe CLI authenticates with a Sanctum personal access token:
- Sign in to the Zelta dashboard and open Profile → API Tokens (
/user/api-tokens). - Create a token with the abilities you need (
read,write,delete). - Log in — the token is verified against the API before being stored in
~/.zelta/credentials.json:
zelta auth:login --key <api-token>A rejected token fails at login time (exit code 2), not on first use. zelta auth:status and zelta whoami re-verify the stored token server-side.
zelta auth:login --key <api-token>
zelta pay:list --status settled
zelta sms:send --to +37060012345 --message "Your code: 847291"
zelta wallet:transactions --limit 10
zelta endpoints:list| Group | Commands |
|---|---|
auth |
login, logout, status, token |
pay |
send, status, list, stats |
sms |
send, status, rates |
wallet |
balance, transactions, intent, tokens |
ramp |
status, kyc-link |
subscription |
status |
limits |
list, set, remove |
endpoints |
list |
agents |
register, discover |
sdk |
generate |
Note on wallet sends — Zelta wallets are non-custodial: every transaction is signed on-device (Privy passkey / device key), so the CLI cannot send funds.
wallet:transactionsandwallet:intentgive read-only visibility into wallet activity and send intents.
Note on ramp & subscription —
ramp:status/ramp:kyc-linkcover bank-rail deposit setup (KYC + virtual account);subscription:statusshows your tier and period end. All three are read/setup surfaces — money movement and plan changes happen in the app.
# JSON output for pipes
zelta pay:list --json | jq '.[] | select(.status == "settled")'
# Structured exit codes: 0=success, 1=error, 2=auth, 3=payment, 4=validation
zelta pay:stats --json --period day | jq -e '.failed == 0'Apache-2.0