Connect Coinbase to Nyria
End-to-end Coinbase Advanced Trade setup — authorize the connection, pick a portfolio, route spot (BTC-USD) and perpetuals (BASE-PERP), and validate with a fractional test order.
By the end you will have a Coinbase Advanced Trade account connected to Nyria, a portfolio selected for trading, and a fractional spot order placed against BTC-USD to confirm the chain works end-to-end.
Coinbase integration is coming soon — it can't be connected yet. This guide is a preview of the connection flow at launch.
Coinbase has no paper/sandbox environment. Every order in this tutorial hits the live market with real funds. The validation step in Step 7 uses an intentionally tiny fractional quantity. Do not skip it.
Prerequisites
- A funded Coinbase Advanced Trade account. The classic Coinbase consumer app is a different product — Advanced Trade is the venue Nyria connects to.
- A Nyria strategy with crypto enabled. If you don't have one yet, run through the Quick Start first.
- 2FA enabled on your Coinbase account (Coinbase requires this to authorize third-party access).
- USD, USDC, or supported crypto balance for the order in Step 7. Minimum useful balance for the validation order is about $5.
For the catalog of what Coinbase supports inside Nyria — symbols, leverage caps, fees — see the Coinbase integration reference. For questions about the raw webhook payload that triggers Coinbase orders, see the Webhook Payload Reference.
What you get
Coinbase on Nyria covers two distinct order routes off a single connection:
- Spot — direct ownership of the coin. Symbol shape
BASE-USD(BTC-USD, ETH-USD, SOL-USD). No leverage, no liquidation. - Advanced perpetuals — leveraged perpetual futures on the same portfolio. Symbol shape
BASE-PERP(BTC-PERP, ETH-PERP). Nyria routes to the perp pair automatically when your strategy's crypto type is set toperpetual,perp, orfutures.
Both routes share one portfolio UUID, one balance, and one set of OAuth credentials. You authorize once and the strategy config picks the venue.
Symbol shorthand still works. Your alert can send BTC, BTCUSD,
BTCUSDT, or BTC-USD — Nyria's symbol mapper rewrites to BTC-USD for
spot and BTC-PERP for perpetuals based on the strategy's crypto type.
No alert-side change is required to switch routes.
Step 1: Open the Integrations tab in Nyria
Log in to the Nyria app at app.nyria.io.
Click Integrations in the left sidebar.
Locate the Coinbase card in the broker list and click Connect.
A deep-link shortcut is available too — opening this URL while logged in jumps straight to the Coinbase connection modal:
https://app.nyria.io/integrations?brokerModal=coinbaseStep 2: Authorize Nyria from coinbase.com
Clicking Connect opens Coinbase's OAuth consent screen in a new tab.
Sign in to Coinbase if you are not already signed in.
Complete the 2FA prompt. Coinbase will not show the consent screen until 2FA passes.
Review the scopes Nyria requests. The connection needs read access to your portfolio + balances and trade access on Advanced Trade. Nyria does not request withdraw, transfer, or address-book scopes.
Click Authorize. Coinbase redirects you back to Nyria's Integrations tab with a success banner.
If the redirect lands on ?error=access_denied, you cancelled the
authorization on Coinbase's side. Re-open the modal and try again. If you
see ?error=invalid_scope, your Coinbase account is on the classic
consumer product without Advanced Trade enabled — enable Advanced Trade on
coinbase.com first, then retry.
Step 3: Pick the portfolio Nyria will trade
Coinbase Advanced Trade accounts are organized into one or more portfolios. A single portfolio holds spot balances, perpetual margin, and futures collateral together. Nyria trades exactly one portfolio per connection.
After the OAuth redirect, Nyria's modal lists every portfolio on your Coinbase account, with each portfolio's USD-equivalent total.
Select the portfolio you want Nyria to trade. Most users have a single Default Portfolio and select that. If you keep a separate algo-only portfolio on Coinbase, pick it here to isolate Nyria's order flow.
Click Save. Nyria stores the portfolio UUID with the connection — every order from now on goes to this portfolio.
To switch portfolios later, disconnect and reconnect from the Integrations tab. Coinbase does not expose a portfolio-rebind endpoint without a full re-auth.
Step 4: Confirm the connection state
Back on the Integrations tab, the Coinbase card now shows the connected portfolio name and the USD-equivalent balance.
The card should read:
- Status — Connected
- Portfolio — the portfolio name you selected
- Balance — the USD-equivalent total Coinbase reports
- Capabilities — Crypto (Spot), Crypto Perpetuals
If any of those are missing or show Error, jump to Troubleshooting before continuing.
Step 5: Attach Coinbase to a strategy's bot
The connection alone does not place orders. A bot binds a strategy to a specific broker account.
Open the strategy that should trade Coinbase.
Click Bots → Add Bot.
Choose Coinbase as the broker and select the connected portfolio from Step 3.
Set the bot's Minimum Budget in USD. This is the per-trade dollar
size Nyria uses to compute fractional quantity at fill time. Example:
a $50 minimum budget with BTC at $40,000 places 0.00125000 BTC.
Save the bot.
Fractional precision is 8 decimal places. Coinbase accepts up to
8 decimals on base-coin quantity, and Nyria rounds down to that precision
before sending the order. A $1 BTC order at $40,000 is 0.00002500 BTC,
not 0.000025.
Step 6: Set the crypto type — spot vs perpetual
The strategy's Crypto Type field is what tells Nyria to route to BTC-USD vs BTC-PERP. This is set on the strategy, not the bot.
Open the strategy's Trading Behavior section.
Set Crypto Type to one of:
spot— routes toBASE-USD(e.g. BTC-USD). No leverage applied.perpetual(also acceptsperp,futures,leverage) — routes toBASE-PERP(e.g. BTC-PERP). Applies the long/short leverage values configured on the strategy.
If you selected a perpetual type, set Long Leverage and Short Leverage. Coinbase caps perpetual leverage per pair (typically up to 10x; the exact cap is per-symbol and enforced by Coinbase at order time).
Save.
Higher leverage moves the liquidation price closer to your entry. A 10% move against you with 10x leverage liquidates the position. Coinbase's Advanced perpetuals are real leveraged products — paper-trade the strategy logic elsewhere first.
Step 7: Send a tiny validation order
Before pointing your real strategy at the bot, send one manual order through Nyria to confirm the connection, portfolio selection, symbol routing, and fractional sizing all work end-to-end.
Two options:
Option A — Webhook cURL
Replace <tokenHash> with the strategy's webhook token (find it on the strategy's Integration tab).
curl -X POST "https://trades.nyria.io/webhooks/<tokenHash>" \
-H "Content-Type: application/json" \
-d '{
"ticker": "BTC",
"action": "buy",
"sentiment": "long",
"price": 0,
"live_price": 0
}'A price of 0 tells Nyria to fetch the current quote itself. Nyria reads ticker: "BTC" and rewrites it to BTC-USD (spot) or BTC-PERP (perpetual) based on your strategy's crypto type from Step 6.
Option B — TradingView / plain text
If your strategy is wired to TradingView, fire a manual alert with the message:
BTC buyThat is the smallest valid Nyria payload — ticker + action. See the Webhook Payload Reference for every other field Nyria recognizes if you want a more explicit payload.
Confirm the order on both sides
Open the strategy's Logs tab in Nyria. You should see a new entry in the shape:
BTO 0.00012500 BTC-USD | Order ID 1a2b3c4d-...The exact quantity depends on the bot's minimum budget and the current
BTC price. For perpetuals, the symbol reads BTC-PERP and the quantity
reflects leverage.
Open Coinbase Advanced Trade → Orders. The same order ID should appear with matching quantity and symbol.
Close the position from Coinbase or by firing an exit alert
({"ticker": "BTC", "action": "sell"}).
If both sides match, the connection is healthy and your strategy is ready for real flow.
Step 8: Rotate or revoke the connection
Coinbase OAuth tokens are stored on Nyria's server side and auto-refreshed in the background. You do not need to rotate them on a schedule.
To revoke access entirely:
On Coinbase, go to Settings → Connected Apps, find Nyria, and click Revoke. This invalidates the access token immediately.
On Nyria, go to Integrations, open the Coinbase card, and click Disconnect. This clears the stored portfolio UUID and refresh token so reconnecting starts fresh.
Revoking on Coinbase without disconnecting on Nyria is fine — the next order will fail with a 401 and Nyria will mark the connection Error: reauth required. Reconnecting from the Integrations tab fixes it.
Troubleshooting
"Portfolio UUID required for Coinbase"
The connection finished OAuth but did not save a portfolio selection. Open the Coinbase card on the Integrations tab, click Configure, and pick a portfolio. If no portfolios appear, your Coinbase account does not have Advanced Trade enabled — turn it on at coinbase.com under Advanced Trade, then refresh Nyria.
"Insufficient balance"
For spot: your USD/USDC cash balance is below the bot's minimum budget. Add funds or lower the minimum budget on the bot.
For perpetuals: your futures collateral (the cash sub-balance Coinbase shows as available for perps) is below the leveraged position's margin requirement. Add USDC to the perpetuals collateral, lower leverage, or lower the minimum budget.
"Pair not supported"
You sent an alert for a symbol that Coinbase Advanced Trade does not list. The Advanced Trade catalog is narrower than the consumer Coinbase app — verify the pair exists at coinbase.com/advanced-trade/spot/<BASE>-USD before trying again.
"Leverage exceeds maximum"
Coinbase enforces a per-pair leverage cap on perpetuals. The cap is typically 10x on BTC-PERP and lower on smaller-cap pairs. Reduce Long Leverage / Short Leverage on the strategy.
Status shows "Error: reauth required"
Either you revoked Nyria on coinbase.com, your Coinbase password change invalidated the OAuth grant, or the refresh token expired (very rare). Click Reconnect on the Coinbase card and re-run Steps 2–3. The portfolio UUID is preserved across reconnects to the same portfolio name.
Order placed at the wrong symbol (BTC-USD instead of BTC-PERP)
The strategy's Crypto Type is set to spot instead of perpetual. Update it under the strategy's Trading Behavior. The bot does not need to be recreated — the next alert routes to the new venue.
Fractional quantity rounded to zero
The bot's minimum budget is below Coinbase's per-pair minimum order size. Coinbase's minimum varies by pair (typically around $1 USD-equivalent on BTC-USD, higher on smaller pairs). Raise the minimum budget on the bot.
Security checklist
- 2FA enabled on coinbase.com (required by Coinbase for OAuth grants).
- Nyria's OAuth grant on Coinbase shows trade + read scopes only — no withdraw, no address-book, no transfer.
- The strategy's webhook token (used in Step 7) is treated as a secret. Anyone with it can submit orders. Regenerate it from the strategy's Integration tab if it leaks.
- Disconnect Nyria from Coinbase and revoke on coinbase.com when you no longer want the integration.
Next steps
- Coinbase integration reference — supported pairs, fees, leverage caps, symbol mapping table.
- Webhook Payload Reference — every field Nyria recognizes on a webhook, with copy-paste examples per alert source.
- Trading Behavior — strategy-level settings that shape every order (crypto type, leverage, pyramiding, exit logic).
- Equity types: Cryptocurrency — how Nyria models spot vs perpetual positions.