Use Para as the exclusive wallet provider in (formerly WalletConnect Web3Modal). This integration provides a polished wallet connection UI with Para handling all authentication.
This guide uses Para as the only wallet option in AppKit. For a simpler integration with multiple wallets, see the external wallets guide.
Prerequisites
Before integrating with Reown AppKit, ensure you have a Para account and project ID from Reown.
Installation
Install Para’s Wagmi integration and Reown AppKit:
npm install @getpara/wagmi-v2-integration@alpha @reown/appkit @reown/appkit-adapter-wagmi wagmi viem @tanstack/react-query
Configuration
Create the AppKit configuration with Para as the sole connector:
import { createAppKit } from "@reown/appkit/react";
import { WagmiAdapter } from "@reown/appkit-adapter-wagmi";
import { paraConnector } from "@getpara/wagmi-v2-integration";
import { mainnet, polygon, arbitrum } from "@reown/appkit/networks";
import Para, { Environment } from "@getpara/web-sdk";
import { QueryClient } from "@tanstack/react-query";
// Initialize clients
const para = new Para(Environment.BETA, "YOUR_PARA_API_KEY");
const queryClient = new QueryClient();
// Configure chains
const chains = [mainnet, polygon, arbitrum] as const;
// Create Para connector
const connector = paraConnector({
para,
chains: [...chains],
appName: "Your App Name"
});
// Setup Wagmi adapter
const wagmiAdapter = new WagmiAdapter({
networks: [...chains],
projectId: "YOUR_REOWN_PROJECT_ID",
connectors: [connector]
});
// Create AppKit instance
export const appKit = createAppKit({
adapters: [wagmiAdapter],
networks: [...chains],
projectId: "YOUR_REOWN_PROJECT_ID",
metadata: {
name: "Your App Name",
description: "Your app description",
url: "https://yourapp.com",
icons: ["https://yourapp.com/icon.png"]
},
features: {
analytics: true,
email: false, // Para handles auth
socials: false, // Para handles socials
},
allWallets: "HIDE" // Only show Para
});
export { wagmiAdapter };
Provider Setup
Wrap your app with the necessary providers:
import { WagmiProvider } from "wagmi";
import { QueryClientProvider } from "@tanstack/react-query";
import { wagmiAdapter } from "./appkit.config";
const queryClient = new QueryClient();
function App() {
return (
<WagmiProvider config={wagmiAdapter.wagmiConfig}>
<QueryClientProvider client={queryClient}>
{/* Your app */}
</QueryClientProvider>
</WagmiProvider>
);
}
Using AppKit
Open the connection modal using AppKit hooks:
import { useAppKit } from "@reown/appkit/react";
function ConnectButton() {
const { open } = useAppKit();
return (
<button onClick={() => open()}>
Connect Wallet
</button>
);
}
Configuration Options
Key configuration options for the Para + AppKit integration:
const connector = paraConnector({
para, // Your Para instance
chains, // Supported chains
appName: "Your App Name", // Display name
queryClient, // TanStack Query client
oAuthMethods: ["GOOGLE", "TWITTER"], // Social login options
disableEmailLogin: false, // Enable email auth
disablePhoneLogin: false, // Enable phone auth
});
Next Steps