magicblock_transfer
InactiveTool of SAP MCP Server
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.
Parameters schema
{
"type": "object",
"required": [
"from",
"to",
"mint",
"amount",
"visibility",
"fromBalance",
"toBalance"
],
"properties": {
"to": {
"type": "string",
"description": "Recipient wallet pubkey"
},
"from": {
"type": "string",
"description": "Sender wallet pubkey"
},
"memo": {
"type": "string",
"description": "Optional memo appended to the transaction"
},
"mint": {
"type": "string",
"description": "SPL mint pubkey"
},
"split": {
"type": "number",
"description": "Private only. Number of queue entries to split across (1-15, default 1)"
},
"amount": {
"type": "number",
"description": "Base-unit amount to transfer (integer, minimum 1)"
},
"legacy": {
"type": "boolean",
"description": "Skip lookup-table compilation, return a legacy transaction (default false)"
},
"cluster": {
"type": "string",
"description": "Cluster: 'mainnet', 'devnet', or custom RPC URL"
},
"gasless": {
"type": "boolean",
"description": "When true, uses configured sponsor as fee payer (default false)"
},
"authToken": {
"type": "string",
"description": "Bearer token from login (required for private transfers)"
},
"toBalance": {
"enum": [
"base",
"ephemeral"
],
"type": "string",
"description": "Where the recipient should receive funds"
},
"validator": {
"type": "string",
"description": "Optional ER validator pubkey"
},
"maxDelayMs": {
"type": "string",
"description": "Private only. Latest (ms) the queued transfer may settle (<= 600000)"
},
"minDelayMs": {
"type": "string",
"description": "Private only. Earliest (ms) the queued transfer may settle. Default '0'"
},
"visibility": {
"enum": [
"public",
"private"
],
"type": "string",
"description": "'public' = transparent SPL transfer, 'private' = routed through Private ER with delayed+split settlement"
},
"clientRefId": {
"type": "string",
"description": "Private only. Encrypted client reference ID for payment confirmation"
},
"fromBalance": {
"enum": [
"base",
"ephemeral"
],
"type": "string",
"description": "Where the sender's balance is held"
},
"initIfMissing": {
"type": "boolean",
"description": "Initialize transfer queue if missing (default true)"
},
"initAtasIfMissing": {
"type": "boolean",
"description": "Initialize recipient ATA if missing (default true)"
},
"initVaultIfMissing": {
"type": "boolean",
"description": "Initialize vault if missing (default false)"
}
}
}No endpoints wrapped at confidence ≥ 0.70.
Parent server
SAP MCP Server
https://github.com/OOBE-PROTOCOL/sap-mcp
2/7 registries