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

# Keys

> Manage exchange API credentials

The `/keys` command manages exchange API credentials for trading.

## Adding Credentials

1. Run `/keys` in Telegram
2. Select **Perpetual** or **Spot**
3. Choose the exchange to configure
4. Enter your API key and secret

<Warning>
  For security, only enable **read + trade** permissions on your API keys. Never enable withdraw or transfer permissions.
</Warning>

## Supported Exchanges

| Exchange        | Spot       | Perpetual               |
| --------------- | ---------- | ----------------------- |
| **Binance**     | `binance`  | `binance_perpetual`     |
| **Bybit**       | `bybit`    | `bybit_perpetual`       |
| **OKX**         | `okx`      | `okx_perpetual`         |
| **Kucoin**      | `kucoin`   | `kucoin_perpetual`      |
| **Kraken**      | `kraken`   | -                       |
| **Coinbase**    | `coinbase` | -                       |
| **Hyperliquid** | -          | `hyperliquid_perpetual` |
| **Gate.io**     | `gate_io`  | `gate_io_perpetual`     |

## Via API

### List Credentials

```bash theme={null}
curl -u admin:admin http://localhost:8000/accounts/master_account/credentials
```

Response:

```json theme={null}
["binance", "binance_perpetual", "hyperliquid_perpetual"]
```

### Add Credentials

```bash theme={null}
curl -X POST http://localhost:8000/accounts/add-credential/master_account/binance \
  -u admin:admin \
  -H "Content-Type: application/json" \
  -d '{
    "binance_api_key": "your-api-key",
    "binance_api_secret": "your-api-secret"
  }'
```

<Warning>
  Wait 2-3 seconds after adding credentials before making API calls. The system needs time to initialize the exchange connection.
</Warning>

### Delete Credentials

```bash theme={null}
curl -X POST http://localhost:8000/accounts/delete-credential/master_account/binance \
  -u admin:admin
```

## Multiple Accounts

You can create multiple accounts to separate credentials:

```bash theme={null}
# Create account
curl -X POST "http://localhost:8000/accounts/add-account?account_name=trading_account" \
  -u admin:admin

# Add credentials to new account
curl -X POST http://localhost:8000/accounts/add-credential/trading_account/okx \
  -u admin:admin \
  -H "Content-Type: application/json" \
  -d '{
    "okx_api_key": "your-api-key",
    "okx_secret_key": "your-secret-key",
    "okx_passphrase": "your-passphrase"
  }'
```

Use cases for multiple accounts:

* Separate paper trading from live trading
* Isolate different strategies
* Manage team access with different credentials
