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.