Skip to content

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).

Coinbase Settings menu with the API entry for API keys and 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.

Coinbase Create API key dialog with Trade enabled, Transfer and Receive off, an IP whitelist, and the ECDSA signature algorithm selected.

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.

Coinbase prompt to complete 2-factor authentication before creating the API key.

Coinbase prompt to 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:

Coinbase Keep your key safe screen with the API key name and private key.

  • 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 the BEGIN and END lines. It's fine if it shows \n where 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.

  1. Click the + button at the bottom of the accounts list (on an empty page it reads Add account)
  2. Select Exchange account
  3. In Connect an exchange account, click Coinbase. It has one market, so the setup form opens next
  4. 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

    Coinbase account setup form with the IP whitelist, account name, public key, private key and optional passphrase fields.

    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.

  5. 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.