Command Pattern
Every Fireblocks API operation is available as a command organized under a namespace:vaults, transactions, assets, staking). Examples:
Discover Commands
Full Command Index
List Actions in a Namespace
Show All Flags for a Command
Preview a Request
Use--dry-run on any command to see the exact request that would be sent — without executing it:
Flags
Path Parameters
OpenAPI path parameters (e.g.{vaultAccountId}) become required flags with kebab-case names:
Query Parameters
Query parameters become optional flags with the same kebab-case conversion:Request Body
Write operations (POST/PUT/PATCH/DELETE) accept a JSON request body via--data:
Global Flags
These flags are available on every command:| Flag | Env Var | Description |
|---|---|---|
--api-key | FIREBLOCKS_API_KEY | Fireblocks API key |
--secret-key | FIREBLOCKS_SECRET_KEY / FIREBLOCKS_SECRET_KEY_PATH | RSA private key — PEM content or file path |
--base-url | FIREBLOCKS_BASE_URL | Override the API base URL |
--profile | Use a named credential profile | |
--dry-run | Preview the request without executing it | |
--no-confirm | Skip write-operation confirmation prompts | |
--debug | Log request and response details to stderr | |
-o, --output | Output format: json (default) or yaml |
Write Operations
POST, PUT, PATCH, and DELETE commands prompt for confirmation before executing:--no-confirm or pipe stdin from a non-TTY source:
Idempotency Keys
Endpoints that support idempotency accept--idempotency-key. Use this for safe retries on write operations to guarantee at-most-once execution:
Output
- stdout — JSON response data only
- stderr — warnings, beta notices, errors, and debug logs
Debug Logging
Pass--debug to log request and response details to stderr:
Beta Commands
Some commands are marked as beta. They print a warning to stderr before executing:Exit Codes
| Code | Meaning | Recovery |
|---|---|---|
0 | Success | |
1 | Client error (400 / 409 / 422) | Check request body or parameters |
2 | Usage error (missing or invalid flag) | Check flag names and types |
3 | Auth error (401 / 403) | Verify credentials with fireblocks whoami |
4 | Not found (404) | Verify the resource ID exists |
5 | Rate limited (429) | Wait retry_after seconds from the error JSON, then retry |
6 | Server error (5xx) | Retry after a brief delay |
7 | Timeout (30s) | Retry; the timeout is not configurable |
Error Format
Errors are written as JSON to stderr:request_id and retry_after are included only when applicable.