> ## Documentation Index
> Fetch the complete documentation index at: https://help.bitcoincontrolcenter.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Exchange accounts

> Track Coinbase, Kraken, Robinhood, and Strike balances with a read-only API key.

Control Center reads your exchange balance with an **API key** you create on the exchange. The key is encrypted and stored on your device only.

> [!WARNING]
>
> Give the key **view or read access only**. Never allow trading, transfers, or withdrawals. Control Center never needs them.

## Connect an exchange

**1. Create a read-only key**

On the exchange, create an API key with the permissions in the table below.

**2. Add the account**

Select **Add Account** → your exchange.

**3. Paste and connect**

Paste the key fields. Select **Connect Account**.

## Exchange by exchange

| Exchange | Where to create the key | Permissions to turn on | What you paste |
| - | - | - | - |
| **Coinbase** | [coinbase.com/settings/api](https://www.coinbase.com/settings/api) | **View (Read-Only)** only. Under Advanced, pick **ECDSA**. | API Key Name and the whole Private Key |
| **Kraken** | [Kraken API settings](https://www.kraken.com/c/account-settings/api) | **Query Funds** and **Query Ledger Entries** only | API Key and Private Key (secret) |
| **Robinhood** | [Robinhood Crypto settings](https://robinhood.com/account/crypto) | Read-only API credential | Account name, API key (`rh-api-…`), and your base64 private key |
| **Strike** | [Strike developer dashboard](https://dashboard.strike.me/developer/api-keys) | **Read account balances** only. It's off by default. | Account name and API key |

**Coinbase**

1. Select **Create API Key**. Name it, for example "Bitcoin Control Center".
2. Under **Advanced**, select **ECDSA (Legacy SDKs)**. Control Center needs an ECDSA key.
3. Under **Permissions**, check **View (Read-Only)** only.
4. Select **Create & Download**. Paste the API Key Name, such as `organizations/…/apiKeys/…`.
5. Paste the whole Private Key, from `-----BEGIN EC PRIVATE KEY-----` to `-----END EC PRIVATE KEY-----`.

![Connect Coinbase Account form with API Key Name, Private Key, and setup steps](https://mintcdn.com/hoseki-corp/UfUbkRUza9CJFqpH/images/accounts-exchange-coinbase-guide.png?fit=max\&auto=format\&n=UfUbkRUza9CJFqpH\&q=85\&s=032554a61810de92cdda8277d051c11b)

Coinbase fields and setup steps.

Coinbase shows your **available** balance. Bitcoin on hold is not counted.

**Kraken**

1. Select **Create API Key**.
2. Turn on **Query Funds** and **Query Ledger Entries**. Leave everything else off.
3. Select **Generate Key**. Paste the API Key and the Private Key.

![Connect Kraken Account form with API Key, Secret Key, and setup steps](https://mintcdn.com/hoseki-corp/UfUbkRUza9CJFqpH/images/accounts-exchange-kraken-guide.png?fit=max\&auto=format\&n=UfUbkRUza9CJFqpH\&q=85\&s=9ee73f2ab9f78e1f7036b92cfc46cd9a)

Kraken fields and setup steps.

Kraken accounts are always named "Kraken".

**Robinhood**

1. Create an Ed25519 key pair with the script in Robinhood's API docs. Save both keys.
2. In Robinhood Crypto settings, create an API credential with your **public** key.
3. Paste the API key (`rh-api-…`) and your base64 **private** key.

![Connect Robinhood Account form with account name, API key, private key, and setup steps](https://mintcdn.com/hoseki-corp/UfUbkRUza9CJFqpH/images/accounts-exchange-robinhood-guide.png?fit=max\&auto=format\&n=UfUbkRUza9CJFqpH\&q=85\&s=6063a0ae9d300d43eb67eee47f32e0ab)

Robinhood fields and setup steps.

**Strike**

1. Select **Create API key**. Name it, for example "Bitcoin Control Center".
2. Under **Account**, turn on **Read account balances**. Strike leaves it off by default. Without it, the connection fails.
3. Paste the API key.

![Connect Strike Account form with account name, API key, and setup steps](https://mintcdn.com/hoseki-corp/UfUbkRUza9CJFqpH/images/accounts-exchange-strike-guide.png?fit=max\&auto=format\&n=UfUbkRUza9CJFqpH\&q=85\&s=519a309bbc975c480bc984cce1749bd1)

Strike fields and setup steps.

## Keeping it up to date

* Balances refresh when you open **Accounts** or **Portfolio**, and in the background.
* To refresh now, open the account and select **Refresh Balance**.

## Reconnect once a year

Exchange keys expire in Control Center **after one year**. The card then shows **Reconnect**, and the balance shows "—". It is left out of your totals.

To fix it, create a new key. Open the account. Select **Reconnect Account**. Your history is kept.

You also need to reconnect if you restore the database without its key file. See [Backup and restore](https://help.bitcoincontrolcenter.com/maintenance/backup-restore.md).

## Strike transaction history

Add Strike statements to show transaction detail.

1. In Strike, open **Activity** → **Generate Report**, or **Documents** → a statement → **⋯** → **Export as CSV**.
2. In Control Center, open your Strike account.
3. Drop the CSV under **Account Statements**.

Upload the CSV, not the PDF. If a statement includes a reversed transaction, use **Activity** → **Generate Report** instead.

## Things to watch

> [!WARNING]
>
> **Remove Account** deletes an exchange account and all its history **immediately**. There is no confirmation and no undo.

* **Connect each key once.** Connecting the same exchange twice counts its balance twice.
* **Exchanges are not on statements.** Statements cover self-custody wallets only. Ask your exchange for its own statement.
* **Exchange accounts can't be renamed** in Control Center.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.