Transaction structure
Solana transactions can include multiple instructions in a single transaction. The Transfer API creates one instruction per transaction, while the Broadcast API allows you to combine multiple instructions. Each transaction is identified by its signature (the transaction ID is the signature itself).Receiving SPL tokens
Before a wallet can receive an SPL token, it needs an Associated Token Account (ATA) for that specific token. This is a Solana network requirement.- Automatic: When using the Transfer Asset endpoint, set
createDestinationAccount: trueto automatically create the recipient’s ATA. - Manual: To create an ATA using the Broadcast API with the
@solana/spl-tokenlibrary, see the Solana SDK examples for complete implementation details.
Creating an ATA costs a small amount of SOL (rent). When using
createDestinationAccount: true, the sender pays this fee.Recent blockhash and transaction timing
Solana transactions require a recent blockhash that must be within the last ~100 blocks (approximately 10 seconds). This short window can cause issues when:- Policies require approval before broadcast
- Network latency is high
- Multiple signatures are needed
Transfers
Use the Transfer Asset endpoint for all Solana transfers:- Native SOL: Use
kind: Nativewith amount in lamports (1 SOL = 1,000,000,000 lamports) - SPL tokens: Use
kind: Splwith the token’s mint address incontract - Token Extensions (SPL 2022): Use
kind: Spl2022with the token’s mint address
