@kea-wallet/react-sdk
React SDK for KEA Wallet — provider, hooks, and context for integrating KEA Wallet into React applications.
Installation
npm install @kea-wallet/react-sdk
Quick Start
import { KeaProvider, useWallet } from '@kea-wallet/react-sdk';
const config = { rpcUrl: 'https://grpc-web.alphanet.thruput.org' };
function App() {
return (
<KeaProvider config={config}>
<WalletButton />
</KeaProvider>
);
}
function WalletButton() {
const { connect, isConnected, selectedAccount } = useWallet();
return <button onClick={() => connect()}>
{isConnected ? selectedAccount?.address : 'Connect'}
</button>;
}
Key Concepts
- Provider-first — wrap your app (or subtree) with KeaProvider to initialize the SDK and enable the wallet hooks.
- Hook hierarchy — useWallet (primary, connection + accounts) → useAccounts (account state only) → useKea (raw context).
- Event-driven state — React state updates automatically via SDK events
(
connect,disconnect,accountChanged,lock,error). - gRPC-web RPC — blockchain queries via ThruClient, configured by
rpcUrlin BrowserSDKConfig.
See
- KeaProvider — entry-point component
- useWallet — primary hook for wallet operations
- BrowserSDKConfig — SDK configuration options
Lifecycle
| Function | Description |
|---|---|
| KeaProvider | React context provider that initializes the KEA Wallet SDK and manages wallet state (connection, accounts, errors). Wrap your app (or the relevant subtree) with this component to enable the wallet hooks. |
Connection
| Function | Description |
|---|---|
| useWallet | Primary hook for wallet operations — connect, disconnect, sign, and track account state. |
Accounts
| Function | Description |
|---|---|
| useAccounts | Account-focused hook that provides account state and an optional callback when the selected account changes. |
Other
BrowserSDK
Renames and re-exports BrowserSDKConfig
ConnectOptions
Renames and re-exports BrowserSDKConfig
ConnectResult
Renames and re-exports BrowserSDKConfig
ErrorCode
Renames and re-exports BrowserSDKConfig
IThruChain
Renames and re-exports BrowserSDKConfig
SDKEvent
Renames and re-exports BrowserSDKConfig
WalletAccount
Renames and re-exports BrowserSDKConfig