Mobile (WalletConnect)
Configuration
All the options for configuring the wc-client provider.
The wc-client provider takes a configuration object. Only projectId is required.
// src/common/wc-config.ts
import type { Config } from '@joey-wallet/wc-client';
import core from '@joey-wallet/wc-client/core';
const chains = core.constants.chains;
export default {
/**
* Required. Your WalletConnect project ID from the Reown dashboard.
* @see https://dashboard.reown.com
*/
projectId: process.env.NEXT_PUBLIC_PROJECT_ID,
/**
* Namespaces requested from the wallet. Defaults to the XRPL namespace.
*/
namespaces: chains.xrplNamespace,
/**
* Chain to use when connecting. Defaults to the first chain in `namespaces`.
*/
defaultChain: chains.xrpl.mainnet.id, // 'xrpl:0'
/**
* Wallets to feature in the connect modal and to build deep links for.
* Joey is included automatically if you don't set this.
*/
walletDetails: [
{
name: 'Joey Wallet',
// Joey's WalletConnect Explorer wallet ID (not a Reown project ID)
projectId: 'd9f5432e932c6fad8e19a0cea9d4a3372a84aed16e98a52e6655dd2821a63404',
deeplinkFormat: 'joey://settings/wc?uri=',
},
],
/**
* Log debug output to the console.
* @default false
*/
verbose: false,
/**
* Persist sessions (in IndexedDB) so users stay connected across reloads.
*/
storage: {
enabled: true,
custom: null, // optional custom storage implementation
},
/**
* Your app's details, shown to the user in Joey when they connect.
*/
metadata: {
name: 'Your dApp',
description: 'A decentralized application for the XRP Ledger',
url: 'https://your-dapp.com',
icons: ['https://your-dapp.com/icon.png'],
redirect: {
universal: 'https://your-dapp.com',
},
},
} as Config;
Notes
walletDetails[].projectIdholds Joey's WalletConnect Explorer wallet ID, despite the field's name. It's the same ID you'd pass to AppKit'sfeaturedWalletIds. Your own Reown project ID goes in the top-levelprojectId.metadata.redirectis an object withnativeand/oruniversalURLs. After a sign-in that started in an external browser, Joey uses it to send the user back to your app.- Methods: Joey serves
xrpl_signTransaction,xrpl_signTransactionForandxrpl_signTransactionBulk. See Methods.
For the full type definition, see config.ts in the wc-client repository.