What Coinbase Connects To
Coinbase integration supports:- Coinbase Wallets: All cryptocurrency wallets in your Coinbase account
- Supported Cryptocurrencies: Any crypto supported by Coinbase (Bitcoin, Ethereum, USDC, etc.)
- Transaction History: Buys, sells, sends, receives, and conversions
- Real-Time Balances: Current holdings and USD values
This integration connects to Coinbase.com accounts only. It does not support Coinbase Pro (now Advanced Trade) or Coinbase Wallet (self-custody) at this time.
Prerequisites
Generate API Key
From your Coinbase account:
- Log into https://www.coinbase.com
- Go to Settings → API
- Click “New API Key” or “Create API Key”
- Set permissions:
- ✅ Read (required for balance and transaction data)
- ❌ Trade (not needed, keep disabled)
- ❌ Transfer (not needed, keep disabled)
- Copy the API Key (starts with
organizations/) - Copy the API Secret (save securely, shown only once)
Configuration
Users configure Coinbase credentials directly in the Sure application:Add Coinbase Connection
- Find the Coinbase section
- Click “Add Coinbase Connection”
- Enter your API Key
- Enter your API Secret
- Optionally set a custom name (defaults to “Coinbase”)
- Save
Credential Security
Coinbase API credentials are encrypted using ActiveRecord Encryption:Institution Metadata
When you create a Coinbase connection, Sure automatically sets default institution branding:Connecting Coinbase Accounts
Once credentials are configured, Sure will discover all your Coinbase wallets.Automatic Account Discovery
After saving credentials:
- Sure syncs with Coinbase API
- All wallets (BTC, ETH, USDC, etc.) are discovered
- You’ll see “Accounts need setup” notification
Setup Accounts
- Click “Setup Accounts” or the notification badge
- Review the list of discovered wallets
- Select which wallets to track in Sure
- All Coinbase wallets are automatically created as Crypto accounts
- Click “Link Selected Accounts”
Account Naming
Coinbase accounts are named after their cryptocurrency:- Bitcoin wallet → “Bitcoin”
- Ethereum wallet → “Ethereum”
- USD Coin wallet → “USD Coin”
Data Syncing
What Gets Synced
Holdings:- Cryptocurrency type and symbol
- Quantity owned
- Current USD value (or family currency equivalent)
- Cost basis (when available)
- Buys and sells
- Sends and receives
- Conversions between cryptos
- Fees and commissions
- Transaction timestamps and hashes
- Current balance per wallet
- Cash balance (USD in Coinbase)
- Total portfolio value
- Wallet addresses
- Network types
- Coinbase branding (logo, colors)
Sync Frequency
- Manual Sync: Click the sync button on your Coinbase connection or any crypto account
- Automatic Sync: Can be scheduled (daily, weekly, etc.)
- Post-Setup: Immediate sync after linking new accounts
Cryptocurrency prices fluctuate constantly. Sync frequently for accurate portfolio values, or rely on Sure’s valuation system which uses latest market prices.
Processing Holdings
Coinbase holdings are processed immediately during account setup:Managing Coinbase Connections
Updating Credentials
If you rotate your API keys:Update in Sure
- Go to Settings → Providers
- Find your Coinbase connection
- Click “Edit”
- Enter the new API Key and API Secret
- Save
Linking to Existing Accounts
If you’ve already created manual crypto accounts in Sure:
Source: app/controllers/coinbase_items_controller.rb:137
Removing Connection
To disconnect Coinbase:- Go to Settings → Providers
- Find the Coinbase connection
- Click “Delete”
- Confirm deletion
- Schedule the connection for deletion
- Unlink all associated crypto accounts
- Preserve transaction history in Sure
- Not affect your Coinbase account or API key
Troubleshooting
”Invalid API Key” or “Authentication Failed”
Causes:- API key was copied incorrectly
- API secret was copied incorrectly
- API key was deleted or revoked in Coinbase
- Using old Coinbase API v2 credentials instead of v3
- Verify you’re using Coinbase API v3 (CDP API)
- Generate a fresh API key in Coinbase
- Ensure the key has Read permission
- Copy and paste carefully (no extra spaces)
- Update credentials in Sure
”No Accounts Found”
Cause: Your Coinbase account has no wallets with balances. Solution:- Transfer some crypto into your Coinbase account
- Ensure wallets are visible in Coinbase.com
- Try a manual sync after adding funds
”Decryption Error”
Cause: ActiveRecord Encryption keys changed or are missing. Solution: Ensure these environment variables are set:Holdings Not Updating
Checklist:- Verify API key still has Read permission
- Check if Coinbase API is operational
- Trigger a manual sync
- Review logs for API errors
- Ensure accounts are linked (not just connected)
USD Values Incorrect
Cause: Cryptocurrency prices change rapidly. Solution:- Sync more frequently for accurate values
- Sure uses latest market prices from its valuation system
- Check if the crypto’s market data source is available
API Reference
Creating a Coinbase Connection
Importing Data
Processing Holdings
Technical Implementation
Authentication
Coinbase CDP API uses Ed25519 cryptographic signatures:Account Type
All Coinbase accounts are created as Crypto accountable type:Best Practices
- Read-Only Keys: Only grant Read permission when creating API keys
- Rotate Keys: Periodically rotate API keys for security
- Sync Frequency: Sync at least daily for accurate portfolio tracking
- Account Setup: Guide users through account setup after initial connection
- Holdings Processing: Process holdings immediately for better UX
- Error Handling: Log API errors and prompt users to check credentials
- Security: Never expose API secrets in logs or UI
Limitations
- Coinbase Only: Does not support Coinbase Pro/Advanced Trade or Coinbase Wallet
- No Webhooks: Must rely on manual/scheduled syncs for updates
- API Rate Limits: Coinbase may rate-limit frequent API calls
- No Staking Info: Staking rewards may not be fully detailed
- No NFTs: NFT holdings are not currently synced
Comparison: Coinbase vs Manual Entry
| Feature | Coinbase API | Manual Entry |
|---|---|---|
| Setup | API key required | No prerequisites |
| Syncing | Automatic | Manual |
| Holdings | ✅ Real-time | ⚠️ Manual updates |
| Transactions | ✅ Complete history | ⚠️ Manual entry |
| Accuracy | ✅ Always accurate | ⚠️ Depends on user |
| Privacy | ⚠️ API access | ✅ No external connection |
| Cost | Free (API usage) | Free |
Additional Resources
Coinbase API Documentation
Official Coinbase Developer Platform docs
Coinbase API Keys
Manage your API keys in Coinbase
SnapTrade for Crypto
Alternative for crypto exchange accounts