Skip to main content
The client does not prepare wallet operations. It only signs prepared transactions.

What to look for

If a prepared transaction has a non-empty signatureRequests / signature_requests collection, the client still needs to sign it before submission.

Ed25519 signing

For normal Solana-key signing, use signPreparedTransaction(...):
TypeScript

Secp256r1 and passkeys

For passkey-backed prepared transactions, use the Swig signing helpers:
TypeScript

Secp256k1 and EVM wallets

For EVM-backed prepared transactions, use the EVM helper. It wraps an EIP-1193 provider with personal_sign and adds the Ethereum message prefix expected by Swig’s secp256k1 authority payload.
TypeScript

After signing

Once the client has signed the required transactions, your app can send them directly or hand them to Sponsor & Submit.