Skip to main content
Execute complex transactions with custom data and manage their lifecycle using Para.
Wagmi is not available on React Native. Use Ethers.js or Viem for EVM operations.

Execute Raw Transactions

import { ethers } from "ethers";
import { ParaEthersSigner } from "@getpara/ethers-v6-integration";

async function executeTransaction(
  signer: ParaEthersSigner,
  to: string,
  data: string,
  value?: string
) {
  const txResponse = await signer.sendTransaction({
    to,
    data,
    value: value ? ethers.parseEther(value) : 0
  });

  const receipt = await txResponse.wait();

  return {
    hash: txResponse.hash,
    blockNumber: receipt.blockNumber,
    status: receipt.status,
    gasUsed: receipt.gasUsed.toString()
  };
}

Execute Contract Functions

const CONTRACT_ABI = [
  "function setGreeting(string memory _greeting)",
  "function greet() view returns (string)"
];

async function executeContractFunction(
  signer: any,
  contractAddress: string,
  greeting: string
) {
  const contract = new ethers.Contract(contractAddress, CONTRACT_ABI, signer);

  const tx = await contract.setGreeting(greeting);
  const receipt = await tx.wait();

  const newGreeting = await contract.greet();

  return {
    hash: tx.hash,
    blockNumber: receipt.blockNumber,
    newValue: newGreeting
  };
}

Next Steps