Skip to main content

Introduction

A custom transaction executes your Solana instructions through an existing Swig wallet. Use it to integrate a program that the transfer and swap helpers do not cover. The acting role’s program and asset permissions still apply. The backend prepares the transaction; your application reviews, signs, and submits it. Use the Protocol SDK for direct instruction construction.

SDK examples

Prepare custom instructions

Use a wallet handle with its requester authority in TypeScript/Python, or WalletClient in Rust. See Client setup.
Review the returned transaction and complete Signing. ParticipantSet operations first need approval compilation. An empty embedded-signature list does not remove native Ed25519 signer requirements.

Input

A signer account must be the derived Swig wallet address, fee payer, or Ed25519 requester. TypeScript accepts base64 instruction data; Python and Rust examples use bytes. Rust uses native Instruction and AccountMeta values.

Errors