Transaction Lifecycle
- Transaction Creation: API returns a partially-signed transaction
- Signer Collection: Required signers add their signatures
- Transaction Submission: Fully signed transaction is submitted to Solana
Understanding Transaction Responses
When you make a request that requires blockchain interaction, you’ll receive a response like:transaction field contains a base58-encoded transaction that is:
- Already signed by SQDS for gas abstraction
- Ready for additional signatures from required signers
- Valid for approximately 2 minutes due to Solana’s recent blockhash mechanism
Signing Process
Using Web3.js
Using the SQDS SDK
Our SDK provides helper methods for signing:Multi-Signature Transactions
For smart accounts requiring multiple signers:Transaction Validity
Transactions have a limited validity window (~2 minutes) due to Solana’s recent blockhash mechanism. If a transaction expires:- Request a new transaction from the API
- Collect signatures again
- Submit the new transaction
Error Handling
Common signing-related errors:Best Practices
- Signature Order: Order doesn’t matter for Solana transactions
- Expiration Handling: Always check for and handle expired transactions
- Gas Abstraction: Don’t modify the SQDS signature for gas abstraction
- Parallel Signing: Use parallel signing for better UX with multiple signers
- Error Recovery: Implement proper error handling for failed signatures