Coinbase¶
HaasOnline connects to Coinbase spot trading with a Coinbase API key. The one setting that matters most: the key must use the ECDSA signature algorithm. Coinbase pre-selects Ed25519, and an Ed25519 key will not work with HaasOnline.
If you don't have a Coinbase account yet, sign up at Coinbase.
Obtaining the API Key¶
Log in to Coinbase, click your profile icon and open Settings. In the settings menu, open API (API keys, OAuth2 apps).

Click Create API key.
Configure the key¶
The Create API key dialog opens. Fill it in:
- API key nickname: any name that identifies the key (for example
HaasOnline). - Portfolio: the portfolio HaasOnline should trade, usually Primary.
- Permissions:
- View (read-only): always on.
- Trade (execute trades on your behalf): enable.
- Transfer (initiate transfer of funds): leave disabled.
- Receive (receive inbound payments): leave disabled.
- IP whitelist: paste the IP addresses shown in HaasOnline, separated by commas.
- Signature algorithm: select ECDSA (Legacy SDKs). Do not keep the pre-selected Ed25519 (Recommended): HaasOnline signs its requests with ECDSA, and an Ed25519 key fails the key test.

Danger
Do not enable Transfer. HaasOnline never needs it to trade for you, and a key without it can't move funds out of your account.
Info
For the IP whitelist:
- On HaasOnline TradeServer Cloud, paste the addresses shown under IP addresses to whitelist in the HaasOnline account setup form (use its copy icon).
- On a self-hosted TradeServer license, use the public IP address of your machine or server.
Click Create & download.
Verify with 2FA¶
Coinbase asks you to confirm with 2-factor authentication. Click Complete 2-factor authentication, then enter the 6-digit code from your authenticator app.


Copy the keys¶
The Keep your key safe screen shows the new key, and Coinbase downloads the same values as a file:

- API key name: starts with
organizations/and goes in the HaasOnline Public key field. - Private key: starts with
-----BEGIN EC PRIVATE KEY-----and goes in the HaasOnline Private key field. Copy all of it, including theBEGINandENDlines. It's fine if it shows\nwhere the lines break.
Danger
Coinbase can't show or download the key again. Keep the downloaded file somewhere safe, or copy both values before you click I've saved my key. If you lose them, delete the key and create a new one.
Adding the API to HaasOnline TradeServer Cloud¶
Log in to HaasOnline TradeServer Cloud and open Exchange Accounts from the user menu in the top right. The Adding an API to the Platform guide shows these first steps with screenshots.
- Click the + button at the bottom of the accounts list (on an empty page it reads Add account)
- Select Exchange account
- In Connect an exchange account, click Coinbase. It has one market, so the setup form opens next
-
Enter an Account name, then paste the values from Coinbase:
- Public key → the Coinbase
API key name - Private key → the Coinbase
Private key - Passphrase (optional) → leave empty

Info
Check for spaces at the start and end of each value after you paste it. Stray spaces are a common cause of a failed key test.
- Public key → the Coinbase
-
Click Test keys. When the test passes, click Save account
If the test fails, first check that the key was created with ECDSA: if it was created with Ed25519, delete it and create a new one with ECDSA. Then check that Trade is enabled and the IP whitelist matches the addresses shown in HaasOnline. If it still fails, contact Support.