Coinbase Prime
Reads a Coinbase Prime entity’s portfolios, balances, orders, fills and transactions, so reconciliation and reporting agents can check them against the books. It is read-only. It reads in place, in your deployment; only ids, hashes and counts reach LightHouse.
At a glance
Section titled “At a glance”| Collector | Coinbase Prime, version 1.0.0 |
|---|---|
| Reads | Coinbase: Coinbase Prime REST API (the vendor's documentation) |
| Family | Finance |
| Kind | Exchange |
| Ways to connect | Access token |
| Scopes |
|
| Read only | Yes |
| Vendor's API can move money | Yes |
| Personal data | Financial |
| Hosts it may contact | api.prime.coinbase.com, {host} |
| Vendor API versions | Prime REST API v1 |
| Lowest engine version | 0.46.0 |
What it reads
Section titled “What it reads”- Portfolios the key can see (or only those named in
portfolios), and each portfolio’s balances: amount, holds, withdrawable amount and fiat value, per asset. Balances are a snapshot: one record per portfolio and asset, rewritten only when it changes and removed when the asset disappears. - Orders, fills and transactions per portfolio, oldest first from the last cursor: product, side, status, price, quantity, value, commission, venue; for transactions the type, status, amount, fees, wallet and completion time.
- The first read goes back
history_days(default 90, at most 3,650).
How to connect
Section titled “How to connect”- In Coinbase Prime, make an API key with the Read permission only, and pin it to your deployment’s egress addresses.
- In LightHouse, open Setup and admin, Connectors, choose Coinbase Prime (optionally name the portfolios).
- Paste the access key, passphrase and signing key, and confirm the key was made with Read only. Your browser seals it to your deployment; LightHouse never sees it.
The credential is JSON in the variable the source names
(AAL_COINBASE_PRIME by default): access_key, passphrase, signing_key
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.
- Refused by the code: nothing, by permission. Coinbase Prime’s REST API has no call that answers an API key’s own permissions (the users endpoints describe people, not keys), so this collector cannot see whether a key can trade or withdraw. A key with the Trade or Transfer permission would not be detected.
- What stops it: the collector reads only once you have confirmed the key
was made with Read only (
view_only_confirmed). Without it, every pull fails withCoinbase Prime does not state this key's permissions; confirm the key is view-only (view_only_confirmed) before it is read, and the health check says the same. Make the key Read-only in Prime: that, not this code, is what stops a key from moving funds. - Signing: each request carries an HMAC-SHA256 of timestamp, method and
path under the signing key, base64, in
X-CB-ACCESS-SIGNATURE. The signing key never leaves your store. - Hosts: only
api.prime.coinbase.com, over https; redirects are never followed.
Limits
Section titled “Limits”- Prime REST API v1; pages of 100 by cursor, oldest first.
- The signature covers the timestamp, method and path, not the query string. Coinbase’s reference is ambiguous on that point; it is the first thing to confirm against Prime’s sandbox before a certified run.
- Requests are paced (0.2 s apart) and retried on 429 and 5xx with back-off.
- Amounts are exact decimals; a number that arrives as a float is refused.
Data handling
Section titled “Data handling”- Records hold financial data: balances, orders, fills and transaction
amounts. 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.
- 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 |
|---|---|---|
Coinbase Prime does not state this key's permissions; confirm the key is view-only (view_only_confirmed) before it is read |
You have not confirmed the key is Read only | Confirm it, after checking the key in Prime |
Coinbase Prime answered HTTP 401 |
The key, passphrase or signature is wrong | Check all three credential parts |
Coinbase Prime answered HTTP 403 |
The key lacks access to the portfolio | Give the key Read on that portfolio |
Coinbase Prime answered HTTP 429 |
Rate limit | Nothing; the collector backs off and continues |
Coinbase Prime could not be reached |
A network failure after retries | Check the deployment’s egress to api.prime.coinbase.com |
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 | Prime 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 |