check_solana_transaction
Use before signing an unsigned Solana transaction, not for a token mint alone. Provide a real unsigned Solana transaction serialized as base64, with optional signer and expected intent. Malformed input is rejected before payment. Simulation returns ALLOW, WARN or BLOCK with reasons and balance changes. Optional idempotency_key is random 32-byte base64url. A signed call waits up to 20 seconds for analysis and can settle without a key. If still processing, echo the unpaid job_id with the same proof and arguments when ready. get_job_result reports processing and retry_after_s for free; the result appears there only after settlement. Costs $0.01 USDC via x402.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | Optional expected action object. Supported keys: max_sol_out (nonnegative SOL amount), expected_mints_in (array of base58 Solana token mint addresses), allowed_recipients (array of base58 Solana addresses). No other keys. | |
| job_id | No | Accepted job ID to echo with the original payment proof and identical inputs when recovering a call made without idempotency_key. | |
| signer | No | Optional base58 Solana address that must be a required transaction signer; omit to use the fee payer. | |
| transaction | Yes | Real unsigned Solana transaction (legacy or v0), serialized as base64; not a token mint or example placeholder. | |
| prefer_async | No | If work is queued or running, return a job status instead of waiting for completion. Poll get_job_result for free, then retry this tool with the same payment proof and inputs when ready; payment does not settle while processing. | |
| idempotency_key | No | Optional canonical base64url encoding of 32 random bytes. Reuse with the original payment proof and identical inputs to recover a lost reply. |