Appearance
useWalletConnections
A connection is one approved wallet instance (walletId) — one extension slot or one WalletConnect session. The same brand can appear more than once. This is not a row from useAvailableWallets.
This hook reads those instances from WalletsProvider, plus the active wallet. To open a wallet, use useConnectWallet. Field list: Connected wallets (Core).
Example
tsx
import { useConnectWallet, useWalletConnections } from '@swapped/connect-sdk/react'
function ConnectedWallets() {
const {
connections,
isRestoring,
connectionState,
activeWalletId,
setActiveWallet,
} = useWalletConnections({
sort: 'connectedAt',
})
const { disconnect } = useConnectWallet()
if (isRestoring) return <p>Restoring…</p>
return (
<ul>
{connections.map(connection => (
<li key={connection.walletId}>
<button
type="button"
onClick={() => setActiveWallet(connection.walletId)}
>
{connection.name} · {connection.transport}
{connection.walletId === activeWalletId ? ' (active)' : ''}
</button>
<button
type="button"
onClick={() => void disconnect(connection.walletId)}
>
Disconnect
</button>
</li>
))}
</ul>
)
}Options
| Field | Meaning |
|---|---|
sort? | 'connectedAt' — newest first. 'balanceDesc' — highest USD total first (uses cached balances) |
Returns
| Field | Meaning |
|---|---|
connections | WalletConnection[] (sorted if sort is set) |
activeWalletId | Active instance id, or null |
activeWallet | Active WalletConnection, or null |
setActiveWallet(walletId) | Select a connected instance |
isRestoring | Background restore still running |
pairingUri | Current WalletConnect URI |
pairingDeeplinkUrl | Current WalletConnect mobile deep link |
connectionState | Full WalletsConnectionState (connectingProviders, errors, …) |
WalletConnection fields: walletId, provider, transport, name, icon, namespaces, accounts, connectedAt, isRestored, status (connected / checking / needsReconnect), expiresAt, requiresPopup. sessionTopic is WalletConnect-only (support / debug). Details: Connected wallets (Core).
sortWalletConnections is exported from @swapped/connect-sdk if you sort a list yourself.
Sign / send use status === 'connected'. Connected wallets persist across restartSession().