I’m currently working on a PoC for PoE authentication and the integration with multisig wallet (Tzsafe). For now, I basically forked beacon, added the TZIP messages, and I’m communicating through WalletClient , and it works pretty well with my dummy Dapp. Now I’ll try to integrate with Tzsafe, and I’m pretty sure that I need 2 instances to achieve that: WalletClient for the P2P communication between TzSafe and remote Dapp, and BeaconWallet to communicate with the user wallet on TzSafe. The thing is, it’s impossible to have 2 instances currently, so I’m wondering, is there another way to achieve the same result?

Question from dev slack

1 Answer 1


Hey it is possible to run both a DAppClient and WalletClient instance together, you only have to provide a storage with a different prefix so they don't access the same localStorage items. You can see an example here in the code of our debug wallet:


const storage = new LocalStorage('INCOMING');
this.walletClient = new WalletClient({
  name: 'Beacon Debug Wallet',

And the debug wallet, in case you don't know. Helps to inspect and debug beacon messages sometimes: https://debug.walletbeacon.io/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.