Browser Extension
Browser Extension Overview
How the Joey browser extension exposes itself to dApps, and the tools for integrating it.
The Joey browser extension is a self-custody XRP Ledger wallet for Google Chrome and other Chromium-based browsers. When a page loads, Joey injects a provider your dApp can use to connect and request signatures. Users approve every connection and every transaction in Joey.
How your dApp can reach Joey
| Surface | What it is |
|---|---|
window.xrpl.joey |
The main provider. It's added to the shared window.xrpl namespace without overwriting other wallets that live there. |
window.joey |
A shortcut to the same provider, unless something else already owns window.joey. |
| Wallet Standard (XLS-72d) | Joey registers as wallet Joey on chains xrpl:0, xrpl:1 and xrpl:2, so wallet-agnostic XRPL adapters find it automatically. |
| CAIP-294 | Joey announces itself with a wallet_announce event (rdns: "xyz.joeywallet") and announces again when it receives wallet_prompt. |
Choose your tool
@joeywallet/wallet-sdk(recommended). A typed client with zero runtime dependencies, React hooks and a no-framework helper.- Wallet Standard. If your app already uses a Wallet Standard adapter for the XRPL, Joey appears there with no Joey-specific code.
@joeywallet/gemwallet-compat. For apps built on GemWallet's API: change one import.
Supported networks
| Chain ID | Network |
|---|---|
xrpl:0 |
XRP Ledger Mainnet |
xrpl:1 |
XRP Ledger Testnet |
xrpl:2 |
XRP Ledger Devnet |
The user picks the network inside Joey. There's no method for a dApp to switch it; see Testing.
What the provider offers
- Connect and disconnect, with per-site, per-account permissions
- Read granted accounts and the current network
- Sign, or sign and submit, any supported transaction type
- Multisign (
signTransactionFor) - Sign or submit up to 32 transactions with one approval (
signTransactionBulk) - XLS-56
Batchtransactions - Sign-in with CAIP-122 (
signIn) - Events for account, network and connection changes
There is deliberately no signMessage (use sign-in) and no method to switch networks.
Next steps
- Install the SDK
- Quick start
- Permissions and privacy: what your dApp can and can't see