# Getting Started

An overview of the Joey Wallet developer docs and how the two integrations fit together.

These docs cover everything you need to let users connect Joey Wallet to your XRP Ledger app and sign transactions.

## How Joey connects to your app

Joey is a self-custody wallet. Your app never sees the user's keys. Instead, your app **requests** a transaction, Joey shows the user what it does, and the user approves or rejects it in Joey.

There are two ways to make those requests, depending on where your users run Joey:

- **Browser extension.** On desktop, Joey injects a provider into the pages the user visits. Use [`@joeywallet/wallet-sdk`](/docs/browser-extension) to detect it, connect, and sign. No WalletConnect project is needed.
- **Mobile app.** Joey on iOS and Android connects over [WalletConnect](https://walletconnect.network/). Use [`@joey-wallet/wc-client`](/docs/integration/install), or any WalletConnect (Reown) setup you already have.

See [Choose an integration](/docs/overview/choose-integration) for a side-by-side comparison.

## What you'll need

- **Node.js** and a package manager (pnpm, npm or yarn).
- A web app built with React, Next.js, or plain TypeScript/JavaScript.
- **For the mobile integration only:** a free project ID from the [Reown dashboard](https://dashboard.reown.com/).
- An XRP Ledger **Testnet** account for development. You can create and fund one with the [XRPL faucet](https://xrpl.org/resources/dev-tools/xrp-faucets).

## Next steps

1. [Choose an integration](/docs/overview/choose-integration).
2. Follow the [browser extension quick start](/docs/browser-extension/quick-start) or the [WalletConnect quick start](/docs/overview/quick-start).
3. Read about the [supported networks and methods](/docs/integration/supported-networks/xrp-ledger/methods).
4. Try the live tools: the [WalletConnect Toolkit](https://wc-toolkit.joeywallet.xyz) and the [Joey Signer](/docs/other-resources/signer-tool).

## Security and privacy

- **Keys stay on the device.** The mobile app keeps keys in the iOS Keychain or Android Keystore. The browser extension encrypts them with the user's password. Neither ever sends keys to Joey or to your app.
- **Independent audits.** Joey has been audited by Least Authority. See [Security & Audits](https://joeywallet.xyz/security).
- **Build securely.** Validate everything you put in a transaction, show users what you're asking them to sign, and confirm results on-ledger by transaction hash rather than trusting client-side state.
