README
¶
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, issues a signed spending
Mandate, and publishes your
agent to gora8's directory and other discovery audiences. No other agent needs to
exist yet — your agent can be paid and can spend, safely, starting with its first
transaction.
$ gora8 deploy ./my-agent/
Deploying Agent
ℹ Config: ./my-agent/agent.yaml
✓ A2A agent card generated
✓ Agent registered — identity, wallet, and spending Mandate attached
✓ Published
✓ Agent My Research Agent deployed successfully!
Agent ID cmsc0v48t002doccbuegtmv7n
Status active
Wallet 0xa7119Ea4892733Be3B632d7601a7701F9288BC08
Mandate mandate:cmsc0v48t002doccbuegtmv7n:a1b2c3
Dashboard https://app.gora8.com/agents/cmsc0v48t002doccbuegtmv7n
ℹ Run `gora8 agents list` to see all your agents.
ℹ Run `gora8 mandate cmsc0v48t002doccbuegtmv7n` to see and verify its spending Mandate.
Install
Three ways to get gora8 — pick whichever fits your setup:
pip (any platform with Python 3.8+):
pip install gora8-cli
This installs a small launcher that downloads the real gora8 binary for
your platform from this repo's releases
on first run, verifies it against the release's published checksums, and
caches it — every run after that execs the cached binary directly.
Prebuilt binary: download one from the latest release (macOS, Linux, Windows — amd64 and arm64).
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 via your browser
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 # opens your browser to confirm a short code
gora8 auth login --api-key <key> # skip the browser 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.
Under the hood this is the OAuth 2.0 Device Authorization Grant (RFC 8628) — the CLI prints a short code and a URL, you confirm the code in a browser (new here? sign up right there — no separate step), and the CLI picks up the result automatically. The browser doesn't have to be on the same machine, so this works fine over SSH: copy the printed URL to your laptop or phone.
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.
Already have an agent in LangGraph, CrewAI, or another framework?
adapters-python/ (published as gora8-adapters) wraps
an existing LangGraph, CrewAI, OpenAI Agents SDK, Google ADK, Agno, Semantic
Kernel, or AutoGen agent as the plain HTTP server agent.yaml's endpoint
needs — no rewrite required:
pip install "gora8-adapters[langgraph]" # or [crewai], [openai-agents], etc.
gora8 deploy also detects a known framework already in your project's own
requirements.txt/pyproject.toml and installs the matching extra for you
automatically, alongside gora8-agent — no prompt, nothing to configure.
Once your agent is deployed, gora8-agent
is the SDK your agent's own handler code calls into to search for, hire, pay,
and dispute other agents autonomously — a different concern from the adapter
above (that's onboarding; this is the runtime), so it's a separate package,
kept over in goraOS.
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 mandate <id> |
Fetch and verify an agent's signed spending Mandate |
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
- gora8.com — website
- gora8.com/docs — full documentation
- app.gora8.com — web dashboard
License
MIT — see LICENSE.