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

# Coinbase Advanced — Setup and Operation

> The recommended venue for US residents. Strong regulatory standing, US-friendly compliance, dash-separated symbols, and key+secret authentication (no passphrase).

<Info>
  **Coinbase Advanced is the recommended venue for US-resident operators.** Strong regulatory standing in the US, mature compliance posture, deep liquidity on USD-quoted pairs, and a key+secret authentication scheme (no passphrase). For US operators who can't use Binance.com, Coinbase Advanced is the primary venue.
</Info>

## Why Coinbase Advanced for US operators

<CardGroup cols={2}>
  <Card title="Strong US regulatory standing" icon="flag-usa">
    Coinbase is the most compliant major venue in the US. Operating without it as a US resident usually means using Binance.US (lower liquidity) or going offshore (regulatory risk).
  </Card>

  <Card title="Mature compliance posture" icon="shield-check">
    Tax reporting, audit trails, KYC depth — all aligned with US regulatory expectations. Useful when filing US tax returns.
  </Card>

  <Card title="Deep USD-quoted liquidity" icon="dollar-sign">
    On `BTC-USD`, `ETH-USD`, `SOL-USD`, etc., Coinbase's order books are deep. For US operators trading USD natively, this is the right venue.
  </Card>

  <Card title="Stable API" icon="plug">
    The Advanced API has been stable for years. Few breaking changes.
  </Card>
</CardGroup>

<Warning>
  **Coinbase Advanced is a different product from the consumer-facing Coinbase app.** Coinbase Advanced (formerly Coinbase Pro) is the trading platform; the Coinbase consumer app is a different product with different fees and a different API.

  The unCoded integration connects to **Coinbase Advanced**. Don't confuse it with the consumer app. When generating API keys, use the Advanced platform's API settings.
</Warning>

## Coinbase Advanced — current API authentication

<Note>
  **A clarification worth knowing upfront**: Coinbase Advanced's current API uses **key + secret** authentication only — **no passphrase**. The passphrase concept belonged to the legacy **Coinbase Pro / Coinbase Exchange** API, which is a different (older) product.

  If you've seen documentation suggesting "Coinbase needs a passphrase like OKX" — that documentation is referring to the older API. The unCoded integration uses the current Coinbase Advanced API: **key + secret only**.
</Note>

## Account creation

<Steps>
  <Step title="Sign up at coinbase.com">
    Standard signup flow. Use a referral link if available.
  </Step>

  <Step title="Verify identity (KYC)">
    Coinbase has stricter US-aligned KYC. Government ID, address verification, sometimes income verification for higher tiers. Plan for `1–3` business days for full verification.
  </Step>

  <Step title="Enable 2FA">
    Authenticator app preferred. Hardware keys also supported.
  </Step>

  <Step title="Access Coinbase Advanced">
    Coinbase Advanced (formerly Coinbase Pro) is accessed from the main Coinbase account. There may be a "Switch to Advanced" or "Trade" option.

    The unCoded integration targets the Advanced trading platform, not the consumer app's "Buy" feature.
  </Step>
</Steps>

## API key creation

<Steps>
  <Step title="Navigate to API settings">
    In Coinbase, go to "Settings" → "API." The path may also be labeled as "Developer" or "API Management."
  </Step>

  <Step title="Click 'New API Key'">
    Standard creation flow.
  </Step>

  <Step title="Select portfolio">
    **Portfolio**: select "Default" or whichever portfolio you intend the bot to trade. Coinbase Advanced supports portfolio segregation similar to sub-accounts on other venues.

    For most operators, "Default" is the right choice. If you want strategy isolation, you can create a separate portfolio and bind the key to that.
  </Step>

  <Step title="Configure permissions">
    * ✅ **View** — enable.
    * ✅ **Trade** — enable.
    * ❌ **Transfer** — disable. NEVER enable this.

    "Transfer" is Coinbase's equivalent of withdrawal/transfer permission. Leaving it disabled means the API key cannot move funds out of the portfolio.
  </Step>

  <Step title="Set IP allowlist">
    Paste your VPS's static IP. Find it with `curl -s https://api.ipify.org` from the VPS.

    Wait `30–60` seconds for propagation.
  </Step>

  <Step title="Pass the 2FA challenge">
    Standard 2FA verification.
  </Step>

  <Step title="Save the key and secret immediately">
    Save both to your password manager **before doing anything else**. The secret is shown once.
  </Step>
</Steps>

## Connecting unCoded to Coinbase Advanced

<Steps>
  <Step title="Open the unCoded Dashboard">
    Log in with admin credentials.
  </Step>

  <Step title="Add Coinbase Advanced as an exchange">
    "Exchanges" → "Add Exchange" → "Coinbase Advanced."

    **Verify**: the form should ask for `API_KEY` and `API_SECRET`. It should **not** ask for a passphrase. If you see a passphrase field, you've selected the wrong venue (possibly the legacy Coinbase Exchange profile).
  </Step>

  <Step title="Paste credentials">
    Paste API key and secret. Toggle "Enabled" on. Click "Save."
  </Step>

  <Step title="Test connection">
    Click "Test Connection." If success: green status. If failure: see [Troubleshooting](#troubleshooting-coinbase-specific) below.
  </Step>

  <Step title="Watch the logs">
    Open Logs panel for the first hour to confirm normal operation.
  </Step>
</Steps>

## Coinbase Advanced-specific quirks

<AccordionGroup>
  <Accordion title="Symbol naming uses dashes" icon="font">
    Coinbase pairs use dash-separated naming: `BTC-USD`, `ETH-USD`, `SOL-USD`. Different from Binance/Bybit's unhyphenated format.

    Like OKX, the unCoded exchange profile handles this transparently — but if you're cross-referencing manually, expect `BTC-USD` rather than `BTCUSD`.
  </Accordion>

  <Accordion title="USD-quoted by default, not USDT" icon="dollar-sign">
    Coinbase's primary quote asset is USD (the actual fiat currency), not USDT. For US operators this is natural — USD is your tax-reporting currency anyway.

    For multi-venue operators running USDT-quoted pairs on Binance and USD-quoted pairs on Coinbase, the cross-venue analytics may not directly aggregate without normalization. The Dashboard's analytics surface this nuance.
  </Accordion>

  <Accordion title="Higher fees for small accounts" icon="coins">
    Coinbase's fee structure favors larger volumes. Small accounts (`<$10,000` monthly volume) face higher fees:

    * Taker: `0.40%–0.60%` for small accounts.
    * Maker: `0.25%–0.40%` for small accounts.
    * Drops at higher volume tiers.

    This is meaningfully higher than Binance (`0.075%` with BNB). Factor into your strategy expectations — strategies that work at Binance fees may underperform at Coinbase fees due to the cumulative cost.

    **Honest take**: for fee-sensitive strategies, Coinbase is more expensive than alternatives. The trade-off is the regulatory standing.
  </Accordion>

  <Accordion title="Smaller symbol set than Binance" icon="boxes-stacked">
    Coinbase Advanced lists fewer pairs than Binance — typically `200–400` pairs vs Binance's `1500+`. Long-tail altcoins are less likely to be available.

    If your strategy needs a specific altcoin, verify it's listed on Coinbase before configuring.
  </Accordion>

  <Accordion title="Pagination on historical data is more aggressive" icon="hourglass">
    Coinbase's historical-data REST endpoints have stricter pagination than other venues. The Backtester handles this transparently but can be noticeably slower for long historical windows on Coinbase data.

    For multi-year backtests on Coinbase, expect minutes rather than seconds. For shorter windows, no operator-noticeable difference.
  </Accordion>

  <Accordion title="Compliance reporting and KYC re-verifications" icon="clipboard-list">
    Coinbase has stricter compliance reporting. Expect occasional KYC re-verifications during your operator tenure — typically annually or when account behavior changes.

    Plan for these as routine maintenance, not as friction. They're part of operating in a regulated venue.
  </Accordion>

  <Accordion title="Portfolio isolation" icon="layer-group">
    Coinbase Advanced supports multiple portfolios within one account. Each portfolio has separate balances, separate trade history, and can be bound to a separate API key.

    Useful for strategy isolation similar to sub-accounts on Binance/Bybit. Most operators don't need this initially.
  </Accordion>
</AccordionGroup>

## Troubleshooting Coinbase-specific

<AccordionGroup>
  <Accordion title="Authentication fails with 'invalid signature'" icon="circle-exclamation">
    Coinbase's signing scheme is sensitive to:

    * **Whitespace in the secret**: re-paste carefully.
    * **Wrong portfolio binding**: verify the key is bound to the correct portfolio.
    * **Permission scope**: confirm "Trade" is enabled.

    **Steps**:

    1. Re-copy secret from password manager.
    2. Paste carefully — no trailing whitespace.
    3. Verify portfolio matches your intended trading account.
    4. Wait `30–60` seconds (allowlist propagation).
    5. Retest.
  </Accordion>

  <Accordion title="Symbol not found" icon="font">
    Most often the format. `BTCUSD` doesn't work on Coinbase; use `BTC-USD`.

    Also check: is the symbol actually listed on Coinbase? Long-tail altcoins on Binance may not exist on Coinbase. Check Coinbase's market listings before configuring.
  </Accordion>

  <Accordion title="Connection works but the form had a passphrase field" icon="lock">
    You've selected the legacy Coinbase Pro / Coinbase Exchange profile, not the current Coinbase Advanced profile.

    **Fix**: in the Dashboard's exchange selector, choose "Coinbase Advanced" (current API). Don't select an "Exchange" or "Pro" labeled profile if available — that's the legacy.
  </Accordion>

  <Accordion title="Fees are eating my profit" icon="coins">
    Coinbase's small-account fees are meaningful. If your strategy is fee-sensitive:

    **Options**:

    * Increase trading volume to reach lower-fee tiers (organic over time).
    * Switch to a less fee-sensitive mode (modes with wider profit targets).
    * For US operators willing to accept higher regulatory risk, consider Binance.US (lower fees, US-regulated).
    * For non-US operators, Binance global has the lowest fees.

    There's no free lunch — Coinbase's regulatory standing comes at a cost.
  </Accordion>

  <Accordion title="Slow historical-data fetching for backtests" icon="hourglass">
    Expected behavior. Coinbase's pagination is more aggressive than other venues.

    **Workaround**: import historical data once at the Backtester's centralized cache — subsequent backtests are fast against cached data.

    For first-time long-window backtests, expect minutes of import time.
  </Accordion>

  <Accordion title="KYC re-verification request mid-operation" icon="clipboard-list">
    Coinbase may request re-verification during your operator tenure.

    **Behavior**: if you don't complete the re-verification, your account access is restricted. The bot's API access typically continues until the actual restriction kicks in.

    **Action**: complete the re-verification promptly when requested. Restricted accounts can't trade.
  </Accordion>
</AccordionGroup>

## Best practices for Coinbase operators

<Tip>
  * ✅ **Use Coinbase Advanced specifically** — not the consumer app, not the legacy Pro/Exchange API.
  * ✅ **Permissions: View + Trade only** — never enable Transfer.
  * ✅ **IP allowlist your API key**.
  * ✅ **Authenticator app or hardware key for 2FA**.
  * ✅ **Use Coinbase's dash-separated symbol format** (`BTC-USD`).
  * ✅ **Verify symbol availability before configuring** — Coinbase has fewer pairs than Binance.
  * ✅ **Accept higher fees as the cost of regulatory standing** — pick modes with sufficient profit margins.
  * ✅ **For US operators**: Coinbase + Kraken is the standard dual-venue pattern.
  * ✅ **For non-US operators**: only use Coinbase if you have a specific reason (Binance is cheaper).
  * ✅ **Complete KYC re-verifications promptly** when requested.
  * ✅ **Quarterly API key rotation**.
  * ✅ **Watch for portfolio binding issues** if you use multiple portfolios.
</Tip>

## What's next

<CardGroup cols={2}>
  <Card title="API Key Security" icon="shield" href="/exchanges/api-key-security">
    Universal principles applicable to Coinbase.
  </Card>

  <Card title="Kraken Setup" icon="building-columns" href="/exchanges/kraken">
    The other US-friendly major venue, commonly paired with Coinbase.
  </Card>

  <Card title="Other venues" icon="ellipsis" href="/exchanges/other-venues">
    Including Binance.US — the alternative for US operators.
  </Card>

  <Card title="TradingBot" icon="robot" href="/modules/tradingbot">
    The execution engine that uses your Coinbase credentials.
  </Card>

  <Card title="Strategies & Modes" icon="boxes-stacked" href="/strategies/modes/overview">
    Choose modes whose profit margins absorb Coinbase's fee structure.
  </Card>

  <Card title="Tax Export" icon="file-invoice" href="/operations/tax-export">
    Coinbase's compliance posture pairs naturally with the Dashboard's tax export.
  </Card>
</CardGroup>
