Getting started with Coinbase Advanced on Autoview

Autoview

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, two settings are non-negotiable:

  • 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-----, or on some Coinbase keys -----BEGIN PRIVATE KEY-----, and ends with the matching -----END...----- line. 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...----- and -----END...----- marker lines and the newlines in between. The whole PEM, untouched, whichever marker form Coinbase gave you.

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.

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.

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.
  • 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. Coinbase Advanced on Autoview is spot only. Commands that try to close a margin position will return this. Stick to 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. Standalone stop-loss, take-profit, and trailing parameters aren't wired up for Coinbase Advanced on Autoview, so keep your commands to the spot buys and sells you tested above.

Connect Coinbase Advanced