Experimental Feature: This feature is not part of the official Solana Actions specification and is not supported by Dialect’s official Blinks libraries. It’s an experimental extension implemented in the Solana Blinks Library (SBL) for specific use cases.
transactions
response type that extends beyond the official specification.
To see an example of how to use this feature, please see the Kamino Multiply Blink.
When to Use Multiple Transactions
Multiple transactions are typically needed for:- Account setup: Creating accounts before main operations occurs (e.g. creating a user account before opening a leveraged or multiply position)
- Complex swaps: Multi-hop swaps that require intermediate steps
- Cross-program interactions: Operations spanning multiple DeFi protocols
Response Format
When your endpoint needs to return multiple transactions, usetype: "transactions"
instead of type: "transaction"
:
Required Fields
Field | Type | Description |
---|---|---|
type | "transactions" | Indicates this response contains multiple transactions |
transactions | string[] | Array of base64-encoded serialized transactions |
mode | "sequential" | Execution mode (currently only “sequential” is supported) |
dialectExperimental | object | Contiains a reference key to the track transaction (currently deactivated) |
Sequential Execution
Themode: "sequential"
field tells the client to execute transactions one after another, waiting for each to be confirmed before proceeding to the next. This ensures proper ordering for dependent operations.
Example: Multiply Deposit
Here’s an example of implementing a multiply deposit endpoint that returns multiple transactions:src/app/api/actions/multiply-deposit/route.ts