magicblock transfer
magicblock_transferConstructs an unsigned SPL token transfer using an Ephemeral Rollup. Supports public/private visibility, delayed settlement, split transfers, and gasless execution for flexible token movement.
Instructions
Build an unsigned SPL token transfer (public or private) through an Ephemeral Rollup. Supports base/ephemeral source and destination, delayed settlement, split transfers, and gasless mode. Then use sap_preview_transaction, sap_sign_transaction, and sap_submit_signed_transaction. Builder fee applies.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient wallet pubkey | |
| from | Yes | Sender wallet pubkey | |
| memo | No | Optional memo appended to the transaction | |
| mint | Yes | SPL mint pubkey | |
| split | No | Private only. Number of queue entries to split across (1-15, default 1) | |
| amount | Yes | Base-unit amount to transfer (integer, minimum 1) | |
| legacy | No | Skip lookup-table compilation, return a legacy transaction (default false) | |
| cluster | No | Cluster: 'mainnet', 'devnet', or custom RPC URL | |
| gasless | No | When true, uses configured sponsor as fee payer (default false) | |
| authToken | No | Bearer token from login (required for private transfers) | |
| toBalance | Yes | Where the recipient should receive funds | |
| validator | No | Optional ER validator pubkey | |
| maxDelayMs | No | Private only. Latest (ms) the queued transfer may settle (<= 600000) | |
| minDelayMs | No | Private only. Earliest (ms) the queued transfer may settle. Default '0' | |
| visibility | Yes | 'public' = transparent SPL transfer, 'private' = routed through Private ER with delayed+split settlement | |
| clientRefId | No | Private only. Encrypted client reference ID for payment confirmation | |
| fromBalance | Yes | Where the sender's balance is held | |
| initIfMissing | No | Initialize transfer queue if missing (default true) | |
| initAtasIfMissing | No | Initialize recipient ATA if missing (default true) | |
| initVaultIfMissing | No | Initialize vault if missing (default false) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | MCP content blocks returned to the caller. | |
| isError | No | True when the tool result represents an application-level error. |