The underlying Beacon DAppClient instance.
Exposed for advanced use cases such as subscribing to Beacon events.
Calling methods directly on the client (e.g., client.clearActiveAccount())
bypasses Taquito's wallet lifecycle. For disconnecting, prefer
BeaconWallet.disconnect instead.
Clear the active account without destroying the Beacon session.
This removes the active account reference from local storage but does
not clear other Beacon state such as the cached relay node
(beacon:matrix-selected-node) or peer data.
Use this for switching between accounts within an active session. For a full logout that clears all Beacon storage, use disconnect instead.
Disconnect the wallet and clear the active Beacon session.
This is the recommended way to end a user session (logout). It calls
client.disconnect() under the hood, which notifies wallet peers, clears
the active account, and tears down the active Beacon transports.
After calling this method, the BeaconWallet instance can be used to reconnect through a new permission request.
For switching accounts without a full logout, use clearActiveAccount instead.
Optionaloptions: DAppClientDisconnectOptionsReturns all persisted accounts known to the underlying DAppClient.
Returns the currently active account from the underlying DAppClient,
or undefined when disconnected. Does not throw when uninitialized.
Returns a non-blocking snapshot of the current transport connection status,
health ('ok' | 'degraded'), active relay server, and peer sender ID.
Returns all known peers across transports without blocking when no transport is active.
Synchronously returns a read-only snapshot of currently open requests awaiting a wallet response.
Request the public key from the wallet
Request the public key hash from the wallet
Returns resolved metadata (name, optional icon, deeplink, and type)
for the active wallet account without initializing a transport or prompting
the user, or undefined when disconnected.
Transform WalletFinalizeUnstakeParams into a format compliant with the underlying wallet
Transform WalletIncreasePaidStorageParams into a format compliant with the underlying wallet
Transform WalletRegisterGlobalConstantParams into a format compliant with the underlying wallet
Map SmartRollupAddMessages parameters for the wallet request.
Map SmartRollupExecuteOutboxMessage parameters for the wallet request.
Map SmartRollupOriginate parameters for the wallet request.
Transform WalletTransferTicketParams into a format compliant with the underlying wallet
Optionalrequest: RequestPermissionInputRequest the wallet to send an operation batch
Sets (or clears, when omitted) the active account on the underlying DAppClient.
Optionalaccount: StoredAccountInfoRequest the wallet to sign a payload
Optionalwatermark: Uint8Array<ArrayBufferLike>Subscribes to a BeaconEvent on the underlying DAppClient and
returns an idempotent unsubscribe function.
Subscribes to immutable plaintext Beacon protocol message snapshots
(direction: 'incoming' | 'outgoing', transport, senderId, ts,
message, and optional incoming routing disposition) and returns an
idempotent unsubscribe function.
Creates a
BeaconWalletwrapping the singleton BeaconDAppClient.Under the covers, Beacon chooses a transport per wallet: browser extensions (such as Temple) use local
postMessage, TZIP-10 P2P wallets (such as Kukai web) use Matrix relay nodes (curated by Taquito viamatrixNodes), and WalletConnect-enabled wallets (such as Kukai iOS) use WalletConnect v2.For WalletConnect support, register your own
projectIdat https://dashboard.reown.com/ (with your dApp's allowed origins configured) and pass it viaoptions.walletConnectOptions.projectId(typically injected from a frontend build-time environment variable).Relying on Beacon's built-in default
projectIdin production may put your project in breach of the WalletConnect/Reown Terms of Service; that demo-only fallback is deprecated and will be removed in the next minor release of@ecadlabs/beacon-dapp(after which omittingprojectIdwill only disable WalletConnect pairings; extension and Matrix wallets will continue to work).Note:
BeaconWalletusesgetDAppClientInstance(options)under the hood, so allBeaconWalletinstances in a page share a singleDAppClientsingleton (Beacon logs a diagnostic warning if a second instance is constructed with a differentnameornetwork).