@kea-wallet/embedded-provider
Embedded wallet provider for KEA Wallet — manages iframe lifecycle, postMessage protocol, connection state, and chain adapters.
Install
npm install @kea-wallet/embedded-provider
When to use
Use this package when you need direct control over the wallet iframe and postMessage layer. For higher-level integrations:
- @kea-wallet/browser-sdk — adds a typed RPC client on top
- @kea-wallet/react-sdk — React provider and hooks
- @kea-wallet/react-ui — prebuilt React wallet UI components
Quick start
import { EmbeddedProvider } from '@kea-wallet/embedded-provider';
const provider = new EmbeddedProvider();
await provider.initialize();
const { accounts } = await provider.connect({
metadata: { appName: 'My dApp', appUrl: window.location.origin },
});
// Sign a transaction via the Thru chain adapter
const signingContext = await provider.thru.getSigningContext();
const signed = await provider.thru.signTransaction(base64Transaction);
// Clean up
await provider.disconnect();
provider.destroy();
Events
Subscribe with provider.on(event, callback):
connectStart— connection flow initiatedconnect— connection succeededconnectError— connection faileddisconnect— wallet disconnectedaccountChanged— active account switchedlock— wallet lockeduiShow— wallet UI became visible
Lifecycle
| Class | Description |
|---|---|
| EmbeddedProvider | Embedded wallet provider that communicates with the KEA Wallet via a hidden iframe and the postMessage protocol. |
Chain
| Class | Description |
|---|---|
| EmbeddedThruChain | Thru chain adapter that delegates all signing operations to the KEA Wallet iframe via the postMessage protocol. Implements the IThruChain interface. |
Other
| Name | Description |
|---|---|
| ConnectOptions | Options passed to EmbeddedProvider.connect. |
| EmbeddedProviderConfig | Configuration options for EmbeddedProvider. |
| DEFAULT_IFRAME_URL | Default URL for the KEA Wallet embedded iframe. Override via EmbeddedProviderConfig.iframeUrl for custom deployments or http://localhost:... during development. |