Skip to main content

Documentation Index

Fetch the complete documentation index at: https://developer.bron.org/llms.txt

Use this file to discover all available pages before exploring further.

bron is the public command-line client for the Bron API. A single static binary, regenerated from the OpenAPI spec on every API release — every endpoint and every request/response field reachable from the shell, 1:1 with the spec. The CLI is designed to be a first-class surface for both humans and LLM agents:
  • Every command speaks both --help (humans) and --schema (machines).
  • Stable exit codes, structured error output with a trace ID on every 4xx/5xx.
  • JSON / YAML / JSONL / table output, projected with --columns or filtered with --query.
  • Profiles for multi-workspace setups, env-var overrides for CI, HTTP/HTTPS proxy support.
  • Live updates over WebSocket via bron tx subscribe — same filters as bron tx list, server replays the snapshot then streams forever with transparent auto-reconnect.

Install

brew install bronlabs/apps/bron
Available builds: darwin-arm64, darwin-amd64, linux-arm64, linux-amd64, windows-amd64.exe. Every release ships SHA256 checksums on the releases page.

Quickstart

# 1. Generate a P-256 keypair (private JWK at 0600, public JWK printed to stdout).
bron auth keygen --file ~/.config/bron/keys/me.jwk

# 2. Open Settings → API keys in the Bron UI, paste the public JWK.
open https://app.bron.org/settings/api-keys

# 3. Wire the key + workspace into a profile.
bron config init --name default \
  --workspace <workspaceId> \
  --key-file ~/.config/bron/keys/me.jwk

# 4. Sanity-check.
bron config
bron workspace info

# 5. First request.
bron accounts list --statuses active --limit 5
bron balances list --nonEmpty true --output table
bron tx list --transactionStatuses signing-required --limit 10
For a deeper walkthrough of profiles, multiple environments, and env-var overrides, see Authentication & profiles.

How commands are shaped

Every endpoint in the OpenAPI spec becomes a command:
bron <resource> <verb> [<positional-id>...] [--<field>...] [--file <path> | --json '{...}']
  • <resource> — first URL segment, lowercased and shortened where useful (tx for transactions, address-book for address-book-records, etc.)
  • <verb> — remaining path segments verbatim (list, get, create, accept-deposit-offer, create-signing-request, …)
  • {workspaceId} is implicit (from the active profile or --workspace); other path params are positional in URL order.
  • Query parameters become --<name> flags; body fields become --<field> / --<a>.<b> flags.

Special case: bron tx <type>

bron tx withdrawal, bron tx allowance, bron tx stake-delegation, and other type-specific subcommands are shortcuts for bron tx create --transactionType <type>, with the type-specific body fields exposed as --params.<field>. Per-type --help shows exactly which params each transaction shape expects.
bron tx withdrawal \
  --accountId  <accountId> \
  --externalId <idempotencyKey> \
  --params.amount=100 \
  --params.assetId=5000 \
  --params.networkId=ETH \
  --params.toAddressBookRecordId=<recordId>
List the available types with bron tx --help.

Common commands

# Accounts and balances.
bron accounts list --statuses active --limit 50
bron balances list --nonEmpty true --embed prices            # adds usdValue per balance

# Transactions.
bron tx list --transactionStatuses waiting-approval,signing
bron tx list --transactionTypes withdrawal --createdAtFrom 2026-01-01 --embed assets
bron tx get    <transactionId>
bron tx events <transactionId>

# Approvals & signing.
bron tx approve <transactionId>
bron tx decline <transactionId>
bron tx cancel  <transactionId>
bron tx create-signing-request <transactionId>

# Live updates over WebSocket — see /api-reference/cli/subscribe for details.
bron tx subscribe --no-history --transactionStatuses signing-required,waiting-approval

Where to next

Authentication & profiles

Keypair lifecycle, multiple profiles, env-var overrides, proxy setup, rotation.

Output & schema

json / yaml / jsonl / table, --columns, --query, --schema, --embed, working with jq.

Live updates (`tx subscribe`)

Filters, snapshot semantics, auto-reconnect contract, --debug, JSONL piping recipes.

Cookbook

Five real-world flows: bulk approvals, deposit watcher, treasury rebalance, audit export, agent automation.

LLM agent integration

Discovery via --schema, prompts, exit-code-driven flows, idempotency, dry-runs.

Errors & exit codes

Mapping HTTP → exit, error envelope shape, correlation IDs, retry strategy.