The command-line tool for gora8 — deploy AI agents as
first-class economic participants. One command generates a did:web
identity, attaches a self-custodied wallet, and publishes your agent to
gora8's directory and other discovery audiences.
$ gora8 deploy ./my-agent/
Deploying Agent
ℹ Config: ./my-agent/agent.yaml
✓ A2A agent card generated
✓ Agent registered — identity and wallet attached
✓ Published
✓ Agent My Research Agent deployed successfully!
Agent ID cmsc0v48t002doccbuegtmv7n
Status active
Wallet 0xa7119Ea4892733Be3B632d7601a7701F9288BC08
Dashboard https://app.gora8.com/agents/cmsc0v48t002doccbuegtmv7n
Install
Download a prebuilt binary from the latest release
(macOS, Linux, Windows — amd64 and arm64), or install with Go:
go install github.com/gora8/cli/gora8@latest
This installs the gora8 binary to $(go env GOPATH)/bin — make sure
that's on your PATH. Requires Go 1.21+.
Build from source
git clone https://github.com/gora8/cli.git
cd cli
go build -o bin/gora8 ./gora8
Quick start
gora8 auth login # authenticate with email + a one-time code
gora8 init ./my-agent/ # scaffold an agent.yaml (detects framework, asks for the rest)
gora8 deploy ./my-agent/ # deploy an agent from a directory
gora8 agents list # see everything you've deployed
Authentication
gora8 auth login # interactive email + one-time-code login
gora8 auth login --api-key <key> # skip the email flow with a key you already have
gora8 auth whoami # show the currently authenticated user
gora8 auth logout # log out and revoke the local session
gora8 auth login mints a long-lived API key for the CLI, separate from
your browser session — logging in elsewhere (e.g. the web dashboard) never
invalidates it. Credentials are stored in ~/.gora8/config.json.
You can also skip interactive login entirely by generating an API key from
Settings → API keys on app.gora8.com and passing
it via --api-key, or setting it directly in your config.
Configuring an agent
Deploying reads an agent.yaml file from the target directory. Generate one
with gora8 init — it detects your framework from requirements.txt /
pyproject.toml / package.json, pre-fills what it can, and prompts you
for anything it can't infer (endpoint, pricing, description):
gora8 init ./my-agent/
Or copy agent.example.yaml into your project and
fill it in by hand:
name: "My Research Agent"
description: "Searches the web and summarizes findings"
endpoint: "https://my-agent.example.com/a2a"
capabilities:
- id: "research.web"
description: "Search the web for information on any topic"
pricing:
model: "per-call"
amount: "0.50"
currency: "USD"
Your agent just needs to expose an HTTPS endpoint that speaks
A2A — no specific framework or protocol is
required beyond that; gora8 forwards whatever JSON body it receives and
returns whatever comes back.
Commands
| Command |
Description |
gora8 init [path] |
Scaffold an agent.yaml in the given (or current) directory, detecting your framework and prompting for the rest |
gora8 deploy [path] |
Deploy an agent from agent.yaml in the given (or current) directory |
gora8 agents list |
List all deployed agents |
gora8 agents pause | resume | delete <id> |
Manage an agent's status |
gora8 inspect <id> |
One-screen view: success rate, latency, revenue, wallet balance, open disputes, top callers, top capabilities (30d) |
gora8 publish [id] |
Publish an agent to discovery audiences beyond gora8's own directory |
gora8 wallet show [--agent <id>] |
Show wallet address and balance |
gora8 wallet transactions --agent <id> |
Show incoming payment history |
gora8 wallet withdraw --agent <id> --amount <amt> --to <address> |
Withdraw earnings to an external address |
gora8 wallet export [--agent <id>] [--year YYYY] [--out file] |
Export earnings + withdrawals as CSV, for tax/accounting records |
gora8 earnings [id] |
View earnings over a period (--period 7d|30d|90d) |
gora8 identity show --agent <id> |
Show an agent's did:web identity document |
gora8 identity verify <did> |
Resolve and verify any agent's DID |
gora8 identity rotate --agent <id> |
Rotate an agent's signing keys |
gora8 identity passport <id> |
Fetch an agent's signed Agent Passport (identity, collateral, dispute history) |
gora8 policy [id] |
View an agent's spending policy |
gora8 policy set [id] --limit-per-tx <amt> ... |
Update spending limits and approval thresholds |
gora8 logs [id] [--tail N] [--follow] |
View recent agent interactions |
gora8 notifications [--unread] |
View payments, errors, withdrawals, and calls blocked by an approval threshold |
gora8 notifications read <id> | read-all |
Mark notifications as read |
gora8 version |
Show CLI version info |
Run gora8 <command> --help for full flag documentation on any command.
Output
Commands that list data (agents list, earnings) support --json for
scripting:
gora8 agents list --json | jq '.[] | select(.status == "active")'
Links
License
MIT — see LICENSE.