Getting started with Coinbase Advanced on Autoview

Autoview · Guide · Updated September 30, 2026

By the end of this guide your Coinbase Advanced account is connected to Autoview, your JWT API key is pasted in correctly, and you've placed one real test order and cancelled it. That last part is the whole point. A dry run proves your command parses. Only a live order proves the credentials, the routing, and Coinbase's order engine all agree.

Coinbase Advanced uses a different kind of key than most exchanges, so read Step 1 carefully. It's not a key-and-secret pair. It's a key name plus an elliptic-curve private key, and Autoview signs every request as a JWT.

Step 0: Pick your platform

Autoview comes in two forms, and Coinbase Advanced works with both.

  • The Chrome extension runs in your browser. It connects directly to TradingView alerts, and it executes only while your computer and Chrome are running.
  • The webhook platform runs on our servers. It accepts a POST from anywhere: TradingView, TrendSpider, a Python script, your own cron job. It fires whether or not a browser is open.

Want trades to execute while your laptop is shut? Use the webhook platform. Tied to the extension's live TradingView link? Use the extension. The setup below covers both. The command syntax differs by exactly one parameter, and I'll point it out where it matters. You can compare the two on the platforms page.

Step 1: Generate an API key on Coinbase

You create the key inside Coinbase, never inside Autoview. Coinbase Advanced Trade keys come in two styles, and you want the newer one: a Cloud Developer Platform key that gives you a key name and an EC private key. Coinbase keeps its own walkthrough current, so follow theirs for the exact screens: Coinbase Advanced Trade API authentication.

When you create the key, three settings are non-negotiable:

  • Select ECDSA as the signature algorithm. It's under "Advanced Settings," collapsed by default. Coinbase's portal defaults new keys to Ed25519 instead, and this connection needs an ECDSA key. If you miss this step, delete the key and start over.
  • Grant trade permission. Autoview places orders, cancels them, and reads your balances and open orders. Without trade permission, nothing executes.
  • Never grant transfer or withdrawal permission. No automation needs it. A key that cannot move funds off Coinbase cannot drain your account if it ever leaks.

At the end Coinbase hands you two values. The first is the key name, which looks like a long path: organizations/<org-id>/apiKeys/<key-id>. The second is the private key, a block of text that starts with -----BEGIN EC PRIVATE KEY----- and ends with the matching -----END EC PRIVATE KEY----- line; that's what an ECDSA key from this portal looks like. If it starts with -----BEGIN PRIVATE KEY----- instead (no "EC"), you generated an Ed25519 key by mistake; go back and select ECDSA. Coinbase shows the private key once. Copy both values somewhere safe before you close that screen, because there is no recovering the private key later. You'd just delete the key and make a new one.

Step 2: Add the key to Autoview

Autoview has two credential boxes for Coinbase, and the labels are a little terse, so here's exactly what goes where.

  • API Key is the key name, the long organizations/.../apiKeys/... string. Not a short ID, not the private key. The full path.
  • API Secret is the private key. Paste the entire block, both the -----BEGIN EC PRIVATE KEY----- and -----END EC PRIVATE KEY----- marker lines and the newlines in between; paste the key text itself, not Coinbase's cdp_api_key.json file.

That second part trips people up. The "API Secret" box is not a short secret string here. It's a multi-line private key, and Autoview detects it by the PRIVATE KEY marker inside it. If you paste only the part between the headers, signing fails. If your key came from a code sample as a single-line JS string with \n escapes instead of real line breaks, that's fine too: paste it as-is.

On the extension

Open the extension options, find Coinbase Advanced in the left menu, and click Add account. Put the key name in API Key and the full PEM private key in API Secret. Leave the account unnamed unless you run more than one Coinbase key. Naming it means every command has to address it with a=, so skip the name if you only have one.

On the webhook platform

Log in, open the Coinbase Advanced configuration, and enter the same two values in API Key and API Secret. Here a clear name is worth setting, because the name is what lets you wire this key to a specific webhook later. Save, then watch for the confirmation that the account connected. Behind the scenes Autoview reaches api.coinbase.com, reads your balances, and reports back whether the key works.

Step 3: Fire a test order, then cancel it

This is the step people skip, and then they wonder at 3am why a live signal did nothing. Don't skip it.

A real warning before you send anything: Coinbase Advanced commands hit your live account. There is no separate sandbox order. So trade at or above Coinbase's minimum size for the pair, and place a limit order far enough from the market that it won't fill while you're testing.

Coinbase symbols are product IDs in dash form: BTC-USD, ETH-USD, SOL-USDC. That's base, a dash, then quote. Autoview uppercases the symbol for you, so s=btc-usd and s=BTC-USD resolve to the same product. If you send a pair Coinbase doesn't list, the log says Unknown market symbol, so check the exact product ID on Coinbase first.

Start with a dry run. Add d=1 to any command and Autoview parses it, shows you exactly what it would have sent, and posts nothing to Coinbase. Get a clean dry run before you send a live one.

Then send the real thing. The cleanest trigger is a single-fire TradingView alert on an active market. A condition like "price greater than 0" fires almost instantly. A limit buy 5% under the market looks like this:

  • Extension: e=coinbase s=BTC-USD b=buy p=-5% q=0.001
  • Webhook: s=BTC-USD b=buy p=-5% q=0.001

The only difference is e=coinbase, which tells the extension to route to Coinbase Advanced. On the webhook platform the webhook already knows its exchange, so you leave e= out. The b= order book parameter is required either way. Drop it and the log reads Invalid Order Book (b=) parameter.

The example hard-codes a price offset and a quantity, which is what you want for a controlled test. In live use you'll often want a value pulled from the chart. A TradingView alert can write one in: p={{close}} tells TradingView to substitute the candle's close at fire time, and Autoview just receives the number. The {{close}} token belongs to TradingView, not to Autoview. The point is that the alert sender supplies the value, so a Python script or another platform builds the same command its own way and drops a plain number where {{close}} would sit.

Fire it, then open the Autoview log and your Coinbase orders. You should see the resting limit order in both. Now cancel it:

  • Extension: e=coinbase s=BTC-USD c=order
  • Webhook: s=BTC-USD c=order

Order placed, order cancelled, both confirmed in the log and on Coinbase. That's the full round trip. Your setup works.

Your private key never travels through a webhook. Autoview stores the EC private key you pasted in Step 2 as a server-side credential, tied to your account connection. It signs each request into a JWT that expires two minutes after Autoview generates it (Coinbase's own auth model), and a fresh one is signed for every request rather than reused or refreshed. A TradingView alert or any other webhook payload carries only your trade command, buy, sell, symbol, size, never the key itself. Never paste your private key into an alert message or a webhook body; it belongs only in Autoview's account setup screen.

Step 4: Troubleshoot the usual snags

Most first-run problems are one of a few things.

  • Invalid API credentials. Autoview rejects the key. The usual cause on Coinbase is the private key. Confirm you pasted the whole PEM block, header and footer lines included, into API Secret, and that the long key-name path went into API Key. Swapping the two, or pasting only the middle of the private key, both fail here.
  • "This is an Ed25519 key" error. You generated the key without expanding "Advanced Settings" on Coinbase's portal, so it defaulted to Ed25519. Go back to Coinbase, create a new key, and select ECDSA explicitly; this connection only works with ECDSA keys.
  • Unknown market symbol. The pair isn't a Coinbase product. Coinbase uses dash-form product IDs like BTC-USD. Check the exact ID on Coinbase and resend.
  • Order was rejected. This message comes straight from Coinbase. It's often a size below the product's minimum, or a price that violates the increment. Bump the size, round the price, and resend.
  • Margin trading is not supported. That's the literal message a command gets when it tries to close a margin position. Autoview trades Coinbase Advanced spot, so send spot buys and sells.

When a command behaves oddly, put d=1 back on it. The dry-run output is the fastest way to see what Autoview thinks you asked for versus what you meant.

Connected and tested? That's the core in place: market and limit orders on Coinbase spot. When you want an exit, send it as its own alert, such as a limit sell at your target price.

Connect Coinbase Advanced