Skip to content

Event hooks ​

useOn* hooks for Coinbase side effects. Prefer state hooks when you only need current values.

When to use ​

Navigate to success, toast on expiry, analytics - not for rendering cooldown or connection UI.

Need in UIUse instead
Connected / popup / connectuseCoinbaseConnection
Cooldown button / countdownuseCoinbaseWithdrawalCooldown → { isInCooldown, remainingMs }
Withdrawal statususeCoinbaseWithdrawal
Success summaryuseCoinbaseCompletedTransactionSummary

Hooks ​

HookWhen it fires
useOnCoinbaseInitializationStartedModule init begins
useOnCoinbaseInitializationCompletedInit finished
useOnCoinbaseConnectedOAuth succeeded
useOnCoinbaseDisconnectedDisconnected
useOnCoinbaseSessionExpiredToken no longer valid - show connect again
useOnCoinbaseWithdrawalCompletedWithdraw finished - e.g. navigate to success
useOnCoinbaseCooldownChangedCooldown tick - prefer useCoinbaseWithdrawalCooldown for UI

Also useful nearby: useOnOAuthError, useOnOAuthPopupOpenChanged (see Events).

Example ​

tsx
import {
  useOnCoinbaseSessionExpired,
  useOnCoinbaseWithdrawalCompleted,
} from '@swapped/connect-sdk/react'

function CoinbaseSideEffects({ onSuccess }: { onSuccess: () => void }) {
  useOnCoinbaseSessionExpired(() => {
    // toast / send user back to connect step
  })
  // Navigate to a success route - or branch on useCoinbaseWithdrawal().result inline
  useOnCoinbaseWithdrawalCompleted(() => onSuccess())
  return null
}

On the success screen, read useCoinbaseCompletedTransactionSummary or useCoinbaseWithdrawal().result. See Example.

See Errors for mapping failures, and Events (React) for session / Exchange Pay listeners.