Skip to main content

Bron CLI

The Bron CLI lets you check balances, view transactions, approve or decline operations, and monitor your wallet in real time — directly from your terminal, without opening the app.

Before you start

  • macOS or Linux with a terminal

  • A user with at least one workspace and an account created in that workspace

  • For macOS: Homebrew installed

1. Install the Bron CLI

Open Terminal and run:

brew install bronlabs/apps/bron

Once it finishes, confirm it works:

bron --version

You should see something like: bron version v0.3.15

💡The version number will change as Bron releases updates — any version shown means the install was successful.

If your network blocks GitHub (common in corporate environments), install via direct binary download instead:

curl -L https://github.com/bronlabs/bron-cli/releases/download/$(curl -s https://api.github.com/repos/bronlabs/bron-cli/releases/latest | grep tag_name | cut -d'"' -f4)/bron-darwin-arm64 -o ~/bron mkdir -p ~/bin && mv ~/bron ~/bin/bron && chmod +x ~/bin/bron echo 'export PATH="$HOME/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc

For Linux, replace bron-darwin-arm64 with bron-linux-arm64 (ARM) or bron-linux-amd64 (Intel/AMD). All builds and SHA256 checksums are listed on the releases page.

2. Generate your key

Run this command — it creates a secure key on your machine and prints the public part for you to register in Bron:

bron config init --key-file ~/.config/bron/keys/me.jwk

When asked for a profile name, press Enter to use the default.

The CLI will print a Public JWK block and pause:

Public JWK — paste into Bron Settings → API keys, tick ✓ "Input public key (JWK)":  {   "kty": "EC",   "crv": "P-256",   "x": "...",   "y": "...",   "kid": "..." }  Once you've added the public JWK in Bron Settings → API keys, press Enter to continue:

💡Keep this terminal open and do not press Enter yet. Your private key stays on your machine — only this public part goes to Bron.

3. Register your key in the Bron app

Now go to the Bron app to register the public key.

3.1 — Open Settings

In the Bron app, click your profile or workspace name in the top right, then go to Settings.

3.2 — Go to API keys

In the left sidebar, click API keys.

3.3 — Create a new key

Click New API key.

3.4 — Fill in the form

Fill in the form as follows:

  • Name — type any name, for example my-cli

  • Team role — choose based on what you need:

    • View only — can view accounts, transactions, and balances. Cannot perform any actions. Good for monitoring.

    • Transaction Operator — can create, approve, update, and cancel transactions, and manage the address book. Cannot sign transactions.

    • Full Access — full access to all transaction operations including signing, managing the address book, and generating reports.

  • Expiration period — select how long this key should be valid, or No expiration

  • Account access — select which accounts this key can access, or leave as All accounts

  • IP whitelist — optional; leave empty unless you want to restrict access to specific IPs

3.5 — Paste your public key

Tick the ✓ Input public key (JWK) checkbox. A new field will appear.

Copy the entire JSON block from your terminal (from { to }) and paste it into the Public key (JWK) field.

3.6 — Generate

Click Generate key.

Click I've saved my key to confirm.

Security note: The CLI generates a private key that stays only on your machine at ~/.config/bron/keys/me.jwk. Bron only ever sees the public part. If you lose the private key file, simply generate a new keypair and revoke the old one in Settings → API keys.

4. Finish setup in the terminal

Go back to your terminal and press Enter.

The CLI will connect to your account and save your profile automatically:

Resolved workspace from /workspaces: Your Workspace Name (workspaceId). Saved profile "default" to ~/.config/bron/config.yaml and made it active.

5. Verify the connection

Run a quick sanity check:

bron config show

Then confirm your workspace:

bron workspace info

You should see your workspace name and ID printed as JSON.

6. Common commands

View accounts

List all active accounts in your workspace:

bron accounts list --statuses active --limit 50

Show as a table:

bron accounts list --statuses active --output table

Check balances

List non-empty balances with USD values:

bron balances list --nonEmpty true --embed prices

Show as a table:

bron balances list --nonEmpty true --output table

View transactions

List recent transactions:

bron tx list --limit 10 --output table

Filter by status:

bron tx list --transactionStatuses waiting-approval,signing

Filter by type and date:

bron tx list --transactionTypes withdrawal --createdAtFrom 2026-01-01 --embed assets

Get a single transaction by ID:

bron tx get <transactionId>

View the full event history of a transaction:

bron tx events <transactionId>

Approve, decline, or cancel transactions

Approve a transaction:

bron tx approve <transactionId>

Decline a transaction:

bron tx decline <transactionId>

Cancel a transaction:

bron tx cancel <transactionId>

Create a signing request:

bron tx create-signing-request <transactionId>

💡These actions require your API key to have Transaction Operator or Full Access role. A View only key will return a permission error.

Create a withdrawal

bron tx withdrawal \   --accountId <accountId> \   --externalId <idempotencyKey> \   --params.amount=100 \   --params.assetId=5000 \   --params.networkId=ETH \   --params.toAddressBookRecordId=<recordId>

Replace <accountId>, <idempotencyKey>, and <recordId> with your actual values. Run bron tx withdrawal --help to see all available parameters.

Note: Withdrawals require Full Access role.

Monitor transactions in real time

Stream live transaction updates as they happen:

bron tx subscribe

Filter to only see transactions needing action:

bron tx subscribe --transactionStatuses signing-required,waiting-approval

Press Ctrl+C to stop.

7. Output formats

All commands support multiple output formats. Add --output followed by your choice:

bron balances list --output table    # readable table bron balances list --output json     # full JSON (default) bron balances list --output yaml     # YAML bron balances list --output jsonl    # one JSON object per line, good for piping

Use --columns to show only specific fields:

bron tx list --output table --columns transactionId,status,transactionType,createdAt

Pipe jsonl output to jq for filtering — each line is a standalone JSON object:

bron tx list --output jsonl | jq 'select(.status=="signed")'

8. Use the CLI as an MCP server

The CLI doubles as a Model Context Protocol (MCP) server, so AI agents like Claude or Cursor can work with your workspace through it:

bron mcp                              # stdio MCP server with a curated tool set bron mcp --read-only                  # read-only tools + transaction dry-run — no withdrawals or approvals bron mcp --tools all                  # register every endpoint bron mcp --tools bron_tx_list,bron_balances_list   # explicit allow-list

To register it in your MCP host with one command:

bron mcp install --target claude-desktop bron mcp install --target claude-code bron mcp install --target cursor bron mcp install --target cline

The MCP server uses the same profile and API key as the CLI, so an agent can never do more than the key's role allows (View only / Transaction Operator / Full Access). For sensitive workspaces, start with --read-only.

9. Getting help

Every command has a built-in help flag:

bron --help bron tx --help bron tx list --help

For the full technical reference, visit the Bron CLI developer documentation.

If you run into any issues, contact our support team through the app or at support@bron.org.

Did this answer your question?