Coinbase Exchange Setup
Connect your Coinbase account to SignalBee in minutes. This guide walks you through creating and configuring API keys with the exact permissions needed for automated trading.
Important: Coinbase uses a unique JWT/ES256 authentication system that differs from most exchanges. Don't worry—SignalBee handles the complexity automatically. You just need to copy your credentials correctly.
Prerequisites
Before you begin, make sure you have:
- Verified Coinbase account - Identity verification (KYC) completed
- 2FA enabled on Coinbase - Required for API key creation
- Coinbase Advanced Trade access - Formerly known as Coinbase Pro
- SignalBee account - Ready to connect an exchange
- Password manager - For storing your API credentials securely (especially the PEM key)
Security Note: Coinbase requires 2FA (two-factor authentication) to create API keys. We recommend using an authenticator app rather than SMS for better security.
About Coinbase
Coinbase is a US-based, publicly-traded (NASDAQ: COIN) cryptocurrency exchange known for its regulatory compliance and trusted reputation. Key highlights:
- US-regulated - One of the most compliant exchanges operating in the United States
- Advanced Trade - Professional trading platform (formerly Coinbase Pro) with competitive features
- USD trading - Primarily trades against real US dollars (not USDT stablecoins)
- Strong security - Industry-leading security practices and insurance coverage
- Higher fees - Trading fees are higher than many exchanges (0.4%/0.6% base maker/taker)
Understanding Coinbase Authentication
Coinbase uses a completely different authentication system than most cryptocurrency exchanges. This section explains what makes it unique.
How Coinbase Differs
| Feature | Standard Exchange | Coinbase |
|---|---|---|
| Credentials | API Key + Secret String | API Key + EC Private Key (PEM) |
| Signature Method | HMAC-SHA256 | JWT with ES256 (ECDSA) |
| Secret Format | Simple text string | Multi-line PEM format |
| Token Generation | N/A | JWT tokens (SignalBee handles this) |
What This Means for You
- Your private key looks different - Instead of a simple string like
abc123def456..., you get a multi-line key that looks like:
-----BEGIN EC PRIVATE KEY-----
MHQCAQEEICJxApEhZXP... (several lines of characters)
...Yd8F0YQ==
-----END EC PRIVATE KEY-----
-
You must copy the ENTIRE key - Including the
-----BEGIN EC PRIVATE KEY-----and-----END EC PRIVATE KEY-----lines -
SignalBee handles the complexity - Once you provide your credentials, SignalBee automatically generates the required JWT tokens for each API request
Note: The private key format may show as
-----BEGIN EC PRIVATE KEY-----or-----BEGIN PRIVATE KEY-----depending on how Coinbase generates it. Both formats work with SignalBee.
Creating Your API Key
Follow these steps to create an API key on Coinbase:
Step 1: Log In to Coinbase
- Go to www.coinbase.com
- Log in with your email and password
- Complete 2FA verification if prompted
Step 2: Navigate to API Settings
- Click your profile icon in the top-right corner
- Select Settings from the dropdown menu
- Click API in the left sidebar or navigation tabs
- You'll see a list of your existing API keys (if any)
Step 3: Create a New API Key
- Click the New API Key or Create API Key button
- You'll be presented with the API configuration screen
Step 4: Select or Create a Portfolio (Recommended)
Coinbase allows you to scope API keys to specific portfolios. We recommend creating a dedicated portfolio for SignalBee:
- In the portfolio selection, click Create new portfolio or select an existing one
- Name it something like
SignalBee Trading - This isolates your trading funds from your main holdings
Why use a separate portfolio? If your API credentials are ever compromised, only the funds in that specific portfolio are at risk—not your entire Coinbase balance.
Step 5: Configure Permissions
- Check the permission boxes as described in the Configuring Permissions section below
- Enable View and Trade permissions
- Never enable permissions beyond what's needed
Step 6: Complete Security Verification
- Enter your 2FA code from your authenticator app
- Click Create or Confirm to generate your credentials
- Wait for the system to generate your API key and private key
Step 7: Copy Your Credentials IMMEDIATELY
After creation, your credentials will be displayed:
- API Key Name - Can be viewed later in your API settings
- Private Key - ⚠️ Shown only ONCE - Copy it immediately!
| Credential | Can View Later? | Action Required |
|---|---|---|
| API Key Name | ✅ Yes | Copy and save |
| Private Key (PEM) | ❌ NO - Never shown again | Copy immediately! |
Critical: The private key is displayed only once. If you navigate away without copying it, you'll need to delete this API key and create a new one. There is no way to recover a private key.
When copying the private key:
- Copy the ENTIRE key including the header and footer lines
- Make sure you capture all lines (the key spans multiple lines)
- Paste it into your password manager immediately
- Verify the paste includes both
-----BEGINand-----ENDlines
Save both credentials in your password manager now before proceeding.
Configuring Permissions
Coinbase has a straightforward permission system. This configuration is critical for security.
Required Permissions
| Permission | Enable? | Why |
|---|---|---|
| View | ✅ Yes | Allows SignalBee to check your balances and account info |
| Trade | ✅ Yes | Allows SignalBee to place and manage orders |
Optional Permissions
| Permission | Enable? | Why |
|---|---|---|
| Transfer | ⚠️ Only if needed | Only enable if you need to move funds between portfolios via API |
Never Enable Beyond What's Needed
Coinbase permissions are portfolio-scoped, meaning they only apply to the selected portfolio. However, you should still follow the principle of least privilege:
- Don't enable Transfer unless you have a specific need
- Don't enable Withdraw or any fund removal capability
- Review permissions periodically and remove any you don't use
Security Note: With only View and Trade permissions enabled, even if your API key is compromised, attackers cannot withdraw your funds or transfer them out of Coinbase.
Portfolio Configuration (Recommended)
Coinbase's portfolio system provides an additional layer of security and organization.
What Are Portfolios?
Portfolios are separate accounts within your Coinbase account. Each portfolio has its own:
- Balance for each cryptocurrency
- Trade history
- API key access (keys can be scoped to specific portfolios)
Benefits of a Dedicated SignalBee Portfolio
| Benefit | Description |
|---|---|
| Isolation | Trading funds are separate from long-term holdings |
| Limited exposure | If credentials are compromised, only that portfolio's funds are at risk |
| Clear accounting | Easy to track SignalBee-specific trades and performance |
| Controlled funding | Only deposit what you intend to trade |
How to Create a SignalBee Portfolio
- Log in to Coinbase
- Navigate to Advanced Trade or Trade
- Look for portfolio selection (usually top of the page)
- Click Create Portfolio or the + button
- Name it
SignalBeeorSignalBee Trading - Transfer funds from your default portfolio as needed
Funding Your SignalBee Portfolio
- Go to your default portfolio
- Click Transfer or Move funds
- Select the SignalBee portfolio as the destination
- Transfer only the amount you intend to trade
Tip: Start with a smaller amount while testing your SignalBee integration. You can always add more later.
Adding to SignalBee
Now connect your Coinbase API key to SignalBee:
Step 1: Go to Exchanges Page
- Log in to your SignalBee account
- Navigate to Exchanges in the main menu
Step 2: Add New Exchange
- Click the Add Exchange button
- Select Coinbase from the exchange list
Step 3: Enter Your Credentials
Coinbase uses a two-value API system (no passphrase required):
- API Key - Paste your Coinbase API key name
- Private Key - Paste your full PEM-formatted private key
- Label (optional) - Enter a name like "Coinbase Main" or "Coinbase SignalBee"
Important: Include the entire private key with the
-----BEGIN EC PRIVATE KEY-----and-----END EC PRIVATE KEY-----lines. The field may appear to only show a few lines, but all content is captured.
Step 4: Test the Connection
- Click Save and Test Connection
- Wait for SignalBee to verify your credentials
- Look for the ✅ success message
Step 5: Verify Your Setup
After successful connection:
- Your Coinbase balances should appear in SignalBee
- Check that your expected assets are listed
- Balances confirm the View permission is working
Tip: If balances don't appear, verify that View permission is enabled and you've selected the correct portfolio for your API key.
Coinbase-Specific Considerations
Ticker Format and USD Trading
Coinbase primarily trades against real US dollars (USD), not USDT stablecoins like most other exchanges:
| SignalBee Format | Coinbase Format | Notes |
|---|---|---|
| BTC-USDT | BTC-USD | Automatic conversion |
| ETH-USDT | ETH-USD | Automatic conversion |
| SOL-USDT | SOL-USD | Automatic conversion |
Key points:
- SignalBee automatically converts USDT pairs to USD pairs when sending orders to Coinbase
- Your webhook signals can use standard USDT pairs (e.g., BTC-USDT)
- You need USD balance in your Coinbase account, not USDT
- Some USDT pairs exist on Coinbase, but USD pairs have better liquidity
Important: If you're used to trading with USDT on other exchanges, remember that Coinbase uses real dollars. Make sure you have USD deposited, not USDT.
Supported Order Types
Coinbase supports the following order types:
| Order Type | Supported | Notes |
|---|---|---|
| Market Order | ✅ Yes | Executes immediately at best available price |
| Limit Order | ✅ Yes | Executes at specified price or better |
| Stop-Loss | ✅ Yes | Triggers market sell when price drops to stop price |
| Stop-Loss Limit | ✅ Yes | Triggers limit order when price reaches stop |
| Take-Profit | ✅ Yes | Triggers when price rises to target |
| Take-Profit Limit | ✅ Yes | Triggers limit order at take-profit price |
| Trailing Stop | ❌ No | Not available on Coinbase spot |
Minimum Order Sizes
Coinbase enforces minimum order values. Orders below these minimums will be rejected:
| Requirement | Typical Value | Notes |
|---|---|---|
| Minimum order value | ~$1 USD | Varies slightly by pair |
| Minimum quantity | Varies by asset | Check Coinbase for specifics |
Tip: Check Coinbase's trading rules for current minimum order sizes for specific trading pairs.
Trading Fees
Coinbase fees are higher than many exchanges but include strong regulatory compliance:
| Fee Type | Rate Range | Notes |
|---|---|---|
| Maker | 0.4% - 0.0% | Volume-based discounts |
| Taker | 0.6% - 0.05% | Volume-based discounts |
Fee tiers decrease with higher 30-day trading volume. Check Coinbase's fee schedule for current rates.
API Rate Limits
- Private endpoints: 5-10 requests per second
- Public endpoints: Higher limits
- SignalBee handles rate limiting automatically
- If you see rate limit errors, reduce your signal frequency
Testing Considerations
Coinbase has a sandbox environment, but it has limited functionality:
| Testing Approach | Recommendation |
|---|---|
| Sandbox | Available but limited—not all features work |
| Production testing | Start with very small order sizes ($10-20) |
| Signal verification | Test webhook delivery before enabling live trading |
Tip: Due to sandbox limitations, we recommend starting with small real orders on production to verify your SignalBee integration works correctly.
Troubleshooting
Common Coinbase-specific errors and solutions:
| Error | Code | Likely Cause | Solution |
|---|---|---|---|
| Invalid API Key | INVALID_API_KEY | Wrong key or revoked | Re-copy API key. Verify key exists in API settings. |
| Authentication Error | AUTHENTICATION_ERROR | Invalid credentials | Check both API key and private key are correct. |
| Permission Denied | PERMISSION_DENIED | Missing required permission | Enable View and Trade permissions. |
| Invalid Private Key | (parse error) | Malformed PEM key | Ensure full PEM format including BEGIN/END lines. |
| Insufficient Funds | INSUFFICIENT_FUNDS | Not enough balance | Deposit USD (not USDT) to correct portfolio. |
| Invalid Product | INVALID_PRODUCT_ID | Wrong trading pair | Use USD pairs (BTC-USD not BTC-USDT). |
| Order Not Found | ORDER_NOT_FOUND | Invalid order ID | Order may have been filled or cancelled. |
| Order Size Too Small | ORDER_SIZE_TOO_SMALL | Below minimum | Increase order size above minimum. |
| Quantity Too Small | QUANTITY_TOO_SMALL | Amount below minimum | Increase order quantity. |
| Quantity Too Large | QUANTITY_TOO_LARGE | Amount above maximum | Decrease order quantity. |
| Price Too Low | PRICE_TOO_LOW | Limit price too low | Increase limit price. |
| Price Too High | PRICE_TOO_HIGH | Limit price too high | Decrease limit price. |
| Rate Limit Exceeded | RATE_LIMIT_EXCEEDED | Too many API requests | Wait and retry. Reduce request frequency. |
| Service Unavailable | SERVICE_UNAVAILABLE | Server issue | Wait and retry. Check Coinbase status. |
Connection Test Fails?
If your connection test fails in SignalBee:
- Double-check both credentials - Copy-paste errors are the most common issue
- Verify the entire private key - Must include
-----BEGINand-----ENDlines - Check line breaks - Private key should have proper line breaks, not be on one line
- Verify permissions - Ensure View and Trade permissions are enabled
- Check portfolio selection - API key must have access to a funded portfolio
- Wait a few minutes - New API keys may take 1-2 minutes to propagate
- Check Coinbase status - Verify Coinbase is not under maintenance
Private Key Format Issues
The most common issue is an incorrectly copied private key. Your private key should:
-----BEGIN EC PRIVATE KEY-----
MHQCAQEEICJxApEhZXPPKdL... (multiple lines of base64 characters)
...lines continue...
...final line...Yd8F0YQ==
-----END EC PRIVATE KEY-----
Common mistakes:
- Missing the
-----BEGIN EC PRIVATE KEY-----line - Missing the
-----END EC PRIVATE KEY-----line - All content on a single line (should be multiple lines)
- Extra whitespace at the beginning or end
- Truncated content (key is incomplete)
For persistent issues, see our Error Codes Reference or contact support@signalbee.trade.
Security Best Practices
Follow this checklist to keep your Coinbase account secure:
Coinbase Account Security
- Enable 2FA with Google Authenticator or similar app - more secure than SMS
- Use a unique, strong password for Coinbase (not reused from other sites)
- Enable email notifications for account activity
- Review login history regularly for unauthorized access
- Consider using Coinbase Vault for long-term holdings
API Key Security
- Create a dedicated API key just for SignalBee - don't reuse keys across services
- Never enable withdrawal permission - SignalBee never needs it
- Use a dedicated portfolio to isolate trading funds
- Never share your private key via email, chat, or screenshots
- Store credentials in a password manager (1Password, Bitwarden, etc.)
- Copy the entire PEM key including header and footer lines
Portfolio Isolation
- Create a SignalBee-specific portfolio for trading
- Only fund the portfolio with your intended trading amount
- Keep long-term holdings in a separate portfolio or Coinbase Vault
- Regularly review portfolio balances and activity
Ongoing Security
- Review your API keys periodically - delete any you don't recognize
- Rotate API keys every 90 days as a security habit
- Monitor trade history for any unauthorized activity
- Check Coinbase security notifications for any alerts
Security Note: Even with all these precautions, the most important protections are: (1) never enabling withdrawal permission, and (2) using a dedicated portfolio with limited funds. These two measures ensure that even in a worst-case scenario, your exposure is limited.
Related Resources
- API Key Best Practices - General API key security guidance
- Security Overview - How SignalBee protects your data
- Error Codes Reference - Common error messages explained
- BingX Exchange Setup - Another two-value API setup (simpler authentication)