You’re viewing the 2.0 (LTS) docs. View the current 3.0 version of this page.
Wagmi is not available on React Native. Use Ethers.js or Viem for EVM operations.
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Verify message and transaction signatures using Ethers or Viem on React Native
import { ethers } from "ethers";
async function verifyPersonalSignature(
message: string,
signature: string,
signerAddress: string
) {
const recoveredAddress = ethers.verifyMessage(message, signature);
const isValid = recoveredAddress.toLowerCase() === signerAddress.toLowerCase();
console.log("Signature valid:", isValid);
return isValid;
}
import { ethers } from "ethers";
async function verifyTypedDataSignature(
domain: any,
types: any,
value: any,
signature: string,
signerAddress: string
) {
const recoveredAddress = ethers.verifyTypedData(domain, types, value, signature);
const isValid = recoveredAddress.toLowerCase() === signerAddress.toLowerCase();
console.log("Signature valid:", isValid);
return isValid;
}
import { verifyMessage } from "viem";
async function verifyPersonalSignature(
address: `0x${string}`,
message: string,
signature: `0x${string}`
) {
const isValid = await verifyMessage({
address,
message,
signature,
});
console.log("Signature valid:", isValid);
return isValid;
}
import { verifyTypedData } from "viem";
async function verifyTypedDataSignature(
address: `0x${string}`,
domain: any,
types: any,
primaryType: string,
message: any,
signature: `0x${string}`
) {
const isValid = await verifyTypedData({
address,
domain,
types,
primaryType,
message,
signature,
});
console.log("Signature valid:", isValid);
return isValid;
}