Appearance
useCoinbaseConnection
React hook for Coinbase OAuth connection state and actions.
When to use
Login / logout UI, and whenever you need Coinbase connected before loading balances or withdrawing.
Example
tsx
import { useCoinbaseConnection } from '@swapped/connect-sdk/react'
function ConnectCoinbase() {
const {
isConnected,
isInitializing,
connect,
disconnect,
isConnecting,
isPopupOpen,
error,
} = useCoinbaseConnection()
if (isInitializing) {
return <p>Restoring Coinbase session…</p>
}
if (error) return <p>{error.message}</p>
if (isConnected) {
return (
<button type="button" onClick={() => disconnect()}>
Disconnect Coinbase
</button>
)
}
return (
<button
type="button"
disabled={isConnecting || isPopupOpen}
onClick={() => void connect()}
>
{isPopupOpen ? 'Complete login in the popup…' : 'Connect Coinbase'}
</button>
)
}Returns
| Field | Purpose |
|---|---|
isConnected | Coinbase session is connected |
isConnecting | connect() in progress |
isPopupOpen | Login popup open |
isInitializing | Restoring stored token and/or validating the session |
connect() | Open OAuth popup |
disconnect() | Clear token and local withdraw/cooldown state |
error | Last connect / validation failure |
Errors
Surfaced on error and as rejected promises from connect():
| Code | When | What to do |
|---|---|---|
OAUTH_POPUP_BLOCKED | Browser blocked popup | Ask to allow popups; retry |
OAUTH_POPUP_CLOSED | User closed popup early | Offer retry |
COINBASE_SESSION_EXPIRED | Token invalid on later calls | Call connect() again |
Also listen with useOnCoinbaseSessionExpired / useOnOAuthError for mid-flow expiry and popup failures — see Event hooks and Errors.