Skip to main content
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.
Some complex DeFi operations, such as leveraged positions or multi-step swaps, require multiple transactions. The Solana Blinks Library (SBL) supports this through an experimental 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, use type: "transactions" instead of type: "transaction":

Required Fields

Sequential Execution

The mode: "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

Client Handling

Blink clients that receive multiple transactions must handle them sequentially. For implementation details on the client side, see the client documentation.