Fireblocks
Reads a Fireblocks workspace’s vault accounts, asset balances and transactions, so treasury and reconciliation agents can check custody against the books. It is read-only, and it is built to refuse a key that can move funds. It reads in place, in your deployment; only ids, hashes and counts reach LightHouse.
At a glance
Section titled “At a glance”| Collector | Fireblocks, version 1.0.0 |
|---|---|
| Reads | Fireblocks: Fireblocks API (vault accounts, balances, transactions) (the vendor's documentation) |
| Family | Finance |
| Kind | Custody |
| Ways to connect | Key pair |
| Scopes |
|
| Read only | Yes |
| Vendor's API can move money | Yes |
| Personal data | Financial |
| Hosts it may contact | api.fireblocks.io, eu-api.fireblocks.io, eu2-api.fireblocks.io, sandbox-api.fireblocks.io, {host} |
| Vendor API versions | REST API v1 |
| Lowest engine version | 0.46.0 |
What it reads
Section titled “What it reads”- Vault accounts and their asset balances: for each vault and asset, the total, available, pending, frozen and locked amounts, each with its asset code. Balances are a snapshot: one record per vault and asset, rewritten only when it changes and removed when the asset disappears.
- Transactions: read by
lastUpdated, oldest first, so a transaction whose status changes after it was read is read again and its record rewritten. Each carries its operation, status and sub-status, amounts (requested, net, amount), network fee, source and destination type and name, hash and dates. - The first read goes back
history_days(default 90, at most 3,650).
It does not read addresses’ private material, policies, users, or webhooks.
How to connect
Section titled “How to connect”- In Fireblocks, make an API user with the Viewer role and upload the CSR of an RSA key pair you made yourself.
- In LightHouse, open Setup and admin, Connectors, choose Fireblocks
and give the region (
us,eu,eu2orsandbox). - Paste the API key and the RSA private key, and confirm the role is Viewer. Your browser seals it to your deployment; LightHouse never sees it.
- Pin the API user to your deployment’s egress addresses in Fireblocks.
The credential is JSON in the variable the source names
(AAL_FIREBLOCKS by default): api_key, private_key, region, and
view_only_confirmed (yes).
Permissions
Section titled “Permissions”This collector is read-only. It sends GET requests only, and its
read-only test proves it on every change. The checks below run first on
every pull and in the health check; nothing is read with a key that fails.
- Refused by the code: an API user that may list API users
(
GET /v1/management/api_users), which Fireblocks allows only to the Admin and Non-Signing Admin roles. The error isFireblocks: refused: the credential can administer the workspace (Admin or Non-Signing Admin role); make a view-only one. - Not detectable by the code: Fireblocks gives an API key no way to read
its own role, so a key that is not an administrator is not shown to be a
Viewer. An Editor, Signer or Approver key (which can create
transactions or sign) would pass the check above. The collector therefore
reads only once you have confirmed the role is Viewer
(
view_only_confirmed); without it the error isFireblocks does not state this key's permissions; confirm the key is view-only (view_only_confirmed) before it is read. Make the key a Viewer in Fireblocks: that, not this code, is what stops a key from moving funds. - Signing: each request carries a JWT signed here with your private key
(RS256;
uri,nonce,iat,exp25 seconds on,subthe key,bodyHashthe SHA-256 of the body). The private key never leaves your store. - Hosts: only Fireblocks’ own region hosts. A next-page link to any other
host is refused (
a next page on another host), a redirect is never followed, and plainhttpis refused.
Limits
Section titled “Limits”- API v1. Vaults are read 200 a page and transactions 200 a page, following
Fireblocks’
next-pageheader. - Requests are paced (0.1 s apart) and retried on 429 and 5xx with back-off.
- Amounts are exact decimals; a number that arrives as a float is refused.
regionmust be one ofus,eu,eu2,sandbox.- Fireblocks is the system of record: an amount here is as of the last read.
Data handling
Section titled “Data handling”- Records hold financial data: balances, transaction amounts and the names of
vaults and counterparties’ account types. Documents carry the
labelyou give the source (defaultconfidential). - Content is read in place, in your deployment. LightHouse receives ids, hashes and counts, never the records, and never opens the credential.
- Errors carry a status and fixed text, never a provider’s body: a provider’s error can echo a key, an account or a balance.
- The data is audit-ready for your own agents; nothing here certifies anyone against any regulation.
Troubleshooting
Section titled “Troubleshooting”| What you see | What it means | What to do |
|---|---|---|
Fireblocks: refused: the credential can administer the workspace (Admin or Non-Signing Admin role); make a view-only one |
The API user is an administrator | Make a Viewer API user and reconnect |
Fireblocks does not state this key's permissions; confirm the key is view-only (view_only_confirmed) before it is read |
The role cannot be read, and you have not confirmed it | Confirm the role is Viewer |
region is one of us, eu, eu2, sandbox |
The region is not one of those | Correct the region |
Fireblocks answered HTTP 401 |
The API key or the signature is wrong | Check the key and that the private key matches the CSR |
Fireblocks answered HTTP 429 |
Rate limit | Nothing; the collector backs off and continues |
Fireblocks: refusing a request to a host that is not the provider's |
A request named another host | Report it; nothing was sent there |
Certification
Section titled “Certification”Each entry is a run by Atlantic Agentic Labs, newest first. Only a run against the vendor’s sandbox or a client environment certifies a collector; a certification lasts six months, or less if the vendor publishes an API version the collector does not list. See How collectors are certified.
| Date | Collector | Engine | Vendor API | Method | Expires |
|---|---|---|---|---|---|
| 10 November 2026 | 1.0.0 | 0.46.0 | REST API v1 | Fixtures only: built, not certified | Not applicable |
Security posture
Section titled “Security posture”From the collector’s last scan on the default branch. What each line means, and what blocks a release: Security posture.
| Last scanned | 10 November 2026 |
|---|---|
| Critical findings | 0 |
| High findings | 0 |
| Medium findings | 0 |
| Low findings | 0 |
| Info findings | 0 |
| Release blocked | No |
| Network allow-list check | Pass |
| Read-only behavioural test | Pass |
| SBOM (CycloneDX) | Produced |
| Dependency licences | Pass |
| Scanners | bandit 1.9.4, semgrep 1.181.1, pip-audit 2.10.1, osv-scanner 2.7.0, cyclonedx-py 7.5.0, pip-licenses 5.5.5, gitleaks repository job aal-secrets, hosts_check tools/hosts_check.py, read-only test pytest -m read_only |