npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@xrpl-wallet-kit/adapter-walletconnect

v0.1.19

Published

WalletConnect adapter for XRPL Wallet Kit, including supported XRPL wallet profiles.

Readme

@xrpl-wallet-kit/adapter-walletconnect

WalletConnect adapter for XRPL Wallet Kit.

This package provides the generic XRPL WalletConnect adapter plus built-in wallet profiles for supported XRPL WalletConnect wallets.

Capabilities

  • connect
  • disconnect
  • signMessage via legacy transaction proof (xrpl_signTransaction with submit: false)
  • signTransaction
  • signAndSubmit
  • payments
  • nftOffers
  • qr
  • deeplink

Install

npm install @xrpl-wallet-kit/adapter-walletconnect

Usage

import { createWalletKit } from "@xrpl-wallet-kit/client";
import { createWalletConnectAdapters } from "@xrpl-wallet-kit/adapter-walletconnect";

const kit = createWalletKit({
  adapters: [
    ...createWalletConnectAdapters({
      projectId: "YOUR_WALLETCONNECT_PROJECT_ID"
    })
  ]
});

When using @xrpl-wallet-kit/client defaults, WalletConnect adapters are created from walletConnectProjectId.

Runtime Notes

  • Requires a WalletConnect project id.
  • walletConnectChainId is optional on a network object, but WalletConnect paths validate it at runtime and throw a clear configuration error if it is missing.
  • Custom QR/deeplink flows are emitted through the manager/UI event path.
  • Pending return recovery markers use WalletStorage through recoveryStorage.
  • signTransaction() signs without submit when the connected wallet supports the method.
  • signAndSubmit() normalizes provider responses with normalizeTxResult().
  • WalletConnect signMessage intentionally uses the legacy transaction-proof path: xrpl_signTransaction with submit: false and the message encoded in a Memo. This avoids unreliable xrpl_signMessage responses observed in some XRPL WalletConnect wallets.
  • Pass signMessageDestination (or walletConnectSignMessageDestination through @xrpl-wallet-kit/client) so the non-submitted proof transaction does not self-send to the connected account.

Wallet Profiles

The package includes profiles for the currently supported XRPL WalletConnect wallets in src/wallets.ts. Use createWalletConnectAdapters({ wallets: [...] }) to limit the generated detail adapters.

Built-in detail profiles enable signMessage only when the legacy transaction-proof flow has been verified:

| Wallet | signMessage default | Notes | | --- | --- | --- | | Bifrost Wallet | enabled | Verified with legacy xrpl_signTransaction + submit: false. Payment, trust line, and common NFT offer flows work; NFTokenBurn is not supported over WalletConnect in current testing. | | Joey | enabled | Verified with legacy xrpl_signTransaction + submit: false. Payment, trust line, NFT offer, and NFTokenBurn flows work in current testing. | | Bitget Wallet | disabled | Message signing is disabled because the proof request can be treated as a real Payment; Payment, trust line, NFT offer, and NFTokenBurn flows work in current testing. | | Girin Wallet | disabled | Message signing is not supported; Payment, trust line, NFT offer, and NFTokenBurn flows work in current testing. | | StaticBit | disabled | Observed signing error: Scalar is not in the interval [1,n - 1]; QR scanning is sensitive to dark QR contrast, so the UI provides a Light QR toggle for custom QR flows. |

Testing

Use mock SignClient sessions for unit tests and verify:

  • generated namespaces include the expected XRPL chain id;
  • QR/deeplink events are emitted;
  • stale sessions return null;
  • disconnect clears WalletConnect sessions and pending state.
  • request-time stale proposal/key/pairing failures are treated as stale WalletConnect state. The adapter best-effort clears the session and pairings, then asks the user to reconnect instead of surfacing low-level SignClient key errors.

Links

  • WalletConnect: https://walletconnect.com
  • XRPL Wallet Kit: https://github.com/XRPDomains/xrpl-wallet-kit