Open-source project
xrpcommunity/XRP-community-wallet avatar
xrpcommunity/XRP-community-wallet

XRP Community Wallet: a browser wallet for XRPL and EVM chains

Fully decentralized and the most secure XRP & EVM wallet - built by the community, for the community.

2,319 stars131 forksTypeScriptMIT

At a glance

What is it?
Ripple Community Wallet keeps keys in IndexedDB inside the browser and talks to XRP Ledger and four EVM networks. It is a monorepo app, not a drop-in library, and the README leaves several questions open.
Who is it for?
Adopt it if you want a non-custodial XRP Ledger wallet that also speaks EVM chains, you are comfortable with keys living in browser IndexedDB, and you can build the monorepo with pnpm yourself. Do not adopt it if you need a published npm package to embed, a documented audit trail, or a wallet your support team can recover for a user who lost a seed phrase.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 71 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 17, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What XRP Community Wallet solves, and for whom

Most XRP holders interact with the ledger through a hosted interface or an exchange account. Both put a third party between the user and the keys. Ripple Community Wallet takes the opposite position: the README states that private keys and the seed phrase never leave the device and are stored encrypted in the browser, with no server holding funds. That is the whole pitch, and it defines the audience.

The wallet targets people who hold XRP and want self-custody without installing a desktop binary, plus people who hold assets on both XRP Ledger and an EVM chain and are tired of running two wallets side by side. The README lists XRP Ledger, Ethereum, BNB Smart Chain and Polygon, with native coins, a curated ERC-20 list and custom tokens. Ledger hardware support is there for users who do not want the seed in browser storage at all.

It is not aimed at developers looking for a wallet library. The repository is a pnpm workspace with apps and packages, and the README describes a web app, not an SDK. If you want to embed wallet logic in your own product, this is the wrong shape.

How the browser holds the keys: IndexedDB, BIP39 and WebHID

The mechanism is visible in the README and the tech stack. Key material is derived with `@scure/bip39` and `ripple-keypairs` following BIP39 and BIP32, encrypted, and written to IndexedDB through the `idb` package. A user password unlocks it locally. Nothing in that path requires a network call, which is why the project can claim non-custodial storage without qualification.

Network logic sits in `src/lib` under a chains module, and `viem` handles EVM interaction while the `xrpl` package handles XRP Ledger. Feature modules under `src/features` cover onboarding, send, receive, portfolio, history, staking and settings. State is split between Zustand for local wallet state and TanStack Query for anything fetched, which is a sensible division: balances and prices are server-shaped data, while the unlocked wallet is not.

The consequence of this architecture is that the browser is the trust boundary. A malicious extension, a compromised dependency in the build, or a phishing page that mimics the interface can reach the same storage the wallet uses. The README does not describe a content security policy, subresource integrity, or a signed release process. That is a real gap for a project whose entire value proposition is local key custody.

Installing and running the wallet locally

There is no published package to install and no binary download described in the README. The web app is hosted at wallet.xrp.community, and local development happens from the monorepo. Node.js 20 or newer and pnpm 9 or newer are required, and the README warns that the app depends on shared workspace packages (`@rc/types`, `@rc/ui`, `@rc/i18n`, `@rc/api-client`, `@rc/config`), so commands should run from the monorepo root.

Install and start the dev server:

bash
pnpm install
pnpm dev

The README states the Vite dev server listens on http://localhost:5173. Open that address and you should see the wallet onboarding flow.

To produce a static build and check it before serving:

bash
pnpm build
pnpm preview

The build output goes into ./dist. Type checking and unit tests run through the workspace scripts:

bash
pnpm typecheck
pnpm test

A first real use is creating a wallet: the onboarding feature generates a seed phrase, asks for a password, and stores the encrypted result in IndexedDB. The README is explicit that recovery is only possible with the seed phrase, so write it down before funding the account. If you want to skip browser storage entirely, the Ledger path over WebHID is the alternative, though the README does not document which Ledger firmware versions are supported.

Where the wallet stops being the right tool

The staking section is the weakest documented area. The README lists staking as a feature and the repository carries a `staking-crypto` topic, but there is no description of which chains support it, which contracts or validators are involved, or what the user signs. For a non-custodial wallet, that is the part a reader most needs explained, because staking means authorizing someone else to move assets. Treat the staking tab as undocumented until the project publishes details.

Seed phrase handling is the second limit. The README tells users to back up the seed phrase and states that recovery is only possible with it. There is no social recovery, no multisig flow, and no account abstraction described. If a user forgets the password and loses the phrase, the funds are gone, and no support channel can change that.

The monorepo dependency is a practical constraint too. Anyone building from source needs the `@rc/*` packages present. A contributor who clones only the wallet app will not get a working build, and the README does not describe a standalone path. Finally, browser storage is per-profile and per-device. Clearing site data removes the encrypted wallet, so the seed phrase is the only real backup.

Compared with a hardware-first or extension wallet

The closest alternative in this space is a browser extension wallet such as MetaMask for EVM chains, or a hardware-first setup where a Ledger device holds the keys and a desktop or web interface only signs transactions. The difference is where the secret lives.

An extension wallet keeps keys in the extension's own storage, isolated from the page by the browser's extension model, and injects a provider so decentralized apps can request signatures. Ripple Community Wallet is a web page. It does not inject anything into other sites, and it does not present itself as a dapp connector in the README. That makes it simpler to reason about for plain send and receive, and less useful if you want to interact with DeFi protocols from the same wallet.

A hardware-first setup inverts the trade-off. The Ledger path in this wallet uses WebHID, so the device signs and the seed never touches IndexedDB. That is strictly stronger custody than the software path, at the cost of plugging in a device for every operation. The README presents both options without recommending one, which is fair, but users should understand they are choosing between convenience and key exposure.

Maintenance, releases and the MIT licence

The repository is not archived. The most recent push recorded is 2026-07-09, the same date as release v1.5.2; v1.2.7 and v1.1.5 are dated 2026-07-07 and 2026-07-09. Three releases inside three days suggests a burst of tagging rather than a steady cadence, and the version jumps (1.1.5 to 1.2.7 to 1.5.2) do not follow a linear pattern. The README does not describe a release process, a changelog, or a support window for older versions.

Upgrade cost for a self-hoster is mostly the workspace build. Because the root `package.json` pins `packageManager` to pnpm@10.32.1 and overrides several transitive dependencies, a build that worked on one machine can fail on another if the lockfile is not committed and respected. The overrides list includes `postcss`, `ioredis`, `uuid`, `qs`, `multer`, `js-yaml`, `lodash` and `file-type`, which indicates the maintainers are patching transitive versions centrally. Keeping `pnpm-lock.yaml` under version control is the practical mitigation.

The licence is MIT, which permits commercial use, modification and redistribution with the copyright notice retained. That is permissive, and it means forks are allowed. It also means the project offers no warranty, and nothing in the repository obliges anyone to fix a security issue. If you depend on this wallet for significant funds, the licence gives you the right to audit and fork, not a guarantee of maintenance.

Editorial conclusion

Adopt it if you want a non-custodial XRP Ledger wallet that also speaks EVM chains, you are comfortable with keys living in browser IndexedDB, and you can build the monorepo with pnpm yourself. Do not adopt it if you need a published npm package to embed, a documented audit trail, or a wallet your support team can recover for a user who lost a seed phrase. Before moving funds, verify the built bundle matches the tagged source, confirm which staking contract the staking section calls, and check that your Ledger device works over WebHID in your browser.

Frequently asked questions

Is there a decentralised wallet for XRP?

Yes. Ripple Community Wallet is described as a non-custodial wallet where the seed phrase and keys are encrypted locally in the user's browser and never sent to a server.

What's the best decentralized wallet for XRP?

The repository does not rank wallets, so no comparison is available here. What can be said is that this project stores keys in IndexedDB, supports Ledger over WebHID, and covers XRP Ledger plus Ethereum, BNB Smart Chain and Polygon.

How many people own 10,000 XRP wallets?

The repository and README contain no holder counts or distribution data, so this cannot be answered from what the project publishes.

How much will $500 XRP be worth in 5 years?

No price forecast appears in the repository or README. The wallet shows portfolio balances with prices, but it publishes no projection.

Official sources

  1. License: MIT
  2. Project website
  3. README
  4. Releases
  5. xrpcommunity/XRP-community-wallet on GitHub
Community notes

Community notes