Documentation Index
Fetch the complete documentation index at: https://docs.getpara.com/llms.txt
Use this file to discover all available pages before exploring further.
Para supports multiple Solana libraries. Choose your library below.
Prerequisites
@solana/kit
@solana/web3.js
Anchor
The modern Solana library with the @solana/signers interface. Recommended for new projects.Install
npm install @getpara/react-native-wallet @getpara/solana-signers-v2-integration @solana/kit
@getpara/solana-signers-v2-integration is a separate package — install it alongside @getpara/react-native-wallet.
Usage
Hook (React)
Direct (Non-React)
Use the hook to create a Solana signer for your user’s Para embedded wallet or external wallet. The hook wraps transaction signing in a React Query mutation.import { useParaSolanaSigner } from "@getpara/react-native-wallet/solana";
import { createSolanaRpc } from "@solana/kit";
import { Text } from "react-native";
const rpc = createSolanaRpc("https://api.mainnet-beta.solana.com");
function SolanaExample() {
const { solanaSigner, isLoading } = useParaSolanaSigner({ rpc });
if (isLoading) return <Text>Loading...</Text>;
return <Text>Address: {solanaSigner?.address}</Text>;
}
Wallet Resolution
When no address or walletId is passed, the hook resolves the wallet in this order:
- Selected wallet — if the user selected a Solana wallet in the UI. If there is only one Solana wallet in the session, it is already selected by default
- First Solana wallet — the first available Solana wallet on the account
To target a specific wallet:const { solanaSigner } = useParaSolanaSigner({ rpc, address: "SoLaNa..." });
Use createParaSolanaSigner to create a signer directly.import { createParaSolanaSigner } from "@getpara/solana-signers-v2-integration";
import { createSolanaRpc } from "@solana/kit";
const rpc = createSolanaRpc("https://api.mainnet-beta.solana.com");
const signer = createParaSolanaSigner({ para, rpc });
console.log("Address:", signer.address);
Wallet Resolution
When no address or walletId is passed, the factory picks the first available Solana wallet. The legacy Solana Web3.js library. Use for compatibility with existing projects.Install
npm install @getpara/solana-web3.js-v1-integration @solana/web3.js
There is no built-in hook for @solana/web3.js — use the constructor directly or create a custom hook.
Usage
import { ParaSolanaWeb3Signer } from "@getpara/solana-web3.js-v1-integration";
import { Connection, clusterApiUrl } from "@solana/web3.js";
const connection = new Connection(clusterApiUrl("mainnet-beta"));
const signer = new ParaSolanaWeb3Signer(para, connection);
Use useParaSolanaSigner with Codama-generated clients for type-safe Anchor program interaction. No separate Anchor integration package needed — the signer from the @solana/kit tab works directly.import { useParaSolanaSigner } from "@getpara/react-native-wallet/solana";
import { createSolanaRpc } from "@solana/kit";
// Import from your Codama-generated client
import { getYourInstruction } from "./generated";
const rpc = createSolanaRpc("https://api.mainnet-beta.solana.com");
function MyComponent() {
const { solanaSigner, isLoading } = useParaSolanaSigner({ rpc });
// Use solanaSigner with Codama-generated instructions
// Same pattern as the @solana/kit tab
}
Generate your client: npx codama idl path/to/your_program.json -o src/generated
Next Steps