Finalize Transaction With Local Signer
sap_payments_finalize_transactionPreviews, signs with the local SAP profile signer, and optionally submits Solana transactions returned by hosted builder tools. Requires user confirmation.
Instructions
Local non-custodial transaction finalizer for hosted SAP MCP builders. Use this when a hosted tool returns transactionBase64, transaction, or an unsigned Solana transaction. It previews, signs with the active local SAP MCP profile signer, and optionally submits through the OOBE hosted submit relay for reliable confirmation. The relay only broadcasts already-signed bytes and never receives keypair material. Never create temporary signing scripts, read keypair JSON, or call hosted sap_sign_transaction for user-owned signatures. Requires confirm: true.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| submit | No | When true, submit the signed transaction after preview and signing. When false or omitted, return the signed transaction for inspection. | |
| confirm | No | Must be true. Confirms the user allows the local SAP MCP signer to sign this transaction. | |
| encoding | No | Encoding for transaction or transactionBase64. Defaults to base64. | |
| intentId | No | Optional caller-provided id used to bind preview, signature, submission, and audit output. | |
| commitment | No | Desired confirmation status before returning success. Defaults to confirmed. | |
| maxRetries | No | Optional Solana RPC sendRawTransaction maxRetries value, used only when submit is true. | |
| transaction | No | Serialized unsigned or partially signed Solana transaction. Accepts base64 by default. | |
| skipPreflight | No | Optional Solana RPC sendRawTransaction skipPreflight flag, used only when submit is true. | |
| submitRelayUrl | No | Optional submit relay URL. Must be HTTPS, localhost, or 127.0.0.1. Defaults to https://mcp.sap.oobeprotocol.ai/tx/submit. | |
| submitViaRelay | No | When submit is true, defaults to true. Set false only when the user explicitly wants local RPC submission instead of the OOBE hosted submit relay. | |
| transactionBase64 | No | Alias for transaction when the builder returns transactionBase64. | |
| confirmationTimeoutMs | No | Optional bounded confirmation wait in milliseconds. Defaults to 90000; maximum 180000. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| audit | Yes | Proof object binding intent, local signer, preview, signing, submission, and secret-material guarantee. | |
| action | Yes | preview-sign or preview-sign-submit. | |
| preview | Yes | Decoded transaction preview and policy result. | |
| success | Yes | Whether finalization succeeded. | |
| encoding | No | Encoding of signedTransaction. | |
| retrySafe | No | Whether the agent may ask the user to retry without risking a known landed duplicate. | |
| signature | No | Solana transaction signature when submit is true. | |
| submitted | Yes | Whether the signed transaction was submitted to RPC. | |
| explorerUrl | No | Solana explorer URL for the submitted signature. | |
| signerPublicKey | Yes | Public key of the local signer that signed the transaction. | |
| nativeTransferSol | Yes | Estimated native SOL transferred by the transaction. | |
| signedTransaction | No | Base64 signed transaction when submit is false or for audit. | |
| confirmationStatus | No | Confirmed/finalized/failed/expired_or_not_landed status when submit is true. |