Skip to main content
Build and sign complex Stellar transactions using Para’s integrated signers. This includes multi-operation transactions, fee bumps, XDR signing, and Soroban smart contract authorization.
Combine multiple operations into a single atomic transaction:
import { useParaStellar } from "./hooks/useParaStellar";
import { TransactionBuilder, Operation, Asset, BASE_FEE, Networks } from "@stellar/stellar-sdk";

function MultiOpTransaction() {
  const { server, signer } = useParaStellar();

  const execute = async () => {
    if (!signer) return;

    const sourceAccount = await server.loadAccount(signer.address);

    const transaction = new TransactionBuilder(sourceAccount, {
      fee: BASE_FEE,
      networkPassphrase: Networks.PUBLIC,
    })
      .addOperation(
        Operation.payment({
          destination: "GRECIPI...",
          asset: Asset.native(),
          amount: "10",
        })
      )
      .addOperation(
        Operation.manageData({
          name: "memo",
          value: "payment-ref-123",
        })
      )
      .setTimeout(180)
      .build();

    const { signedTxXdr } = await signer.signTransaction(transaction.toXDR());
    const tx = TransactionBuilder.fromXDR(signedTxXdr, Networks.PUBLIC);
    const result = await server.submitTransaction(tx);
    console.log("Transaction hash:", result.hash);
  };

  return <button onClick={execute}>Execute Multi-Op</button>;
}

Next Steps