Skip to main content
Glama

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

TableJSON Schema
NameRequiredDescriptionDefault
intentNoOptional 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_idNoAccepted job ID to echo with the original payment proof and identical inputs when recovering a call made without idempotency_key.
signerNoOptional base58 Solana address that must be a required transaction signer; omit to use the fee payer.
transactionYesReal unsigned Solana transaction (legacy or v0), serialized as base64; not a token mint or example placeholder.
prefer_asyncNoIf 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_keyNoOptional canonical base64url encoding of 32 random bytes. Reuse with the original payment proof and identical inputs to recover a lost reply.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedInput schema / properties / idempotency_key / description
      Added value: +"Optional canonical base64url encoding of 32 random bytes. Reuse with the original payment proof and identical inputs to recover a lost reply."
    • addedInput schema / properties / intent / description
      Added value: +"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."
    • addedInput schema / properties / job_id / description
      Added value: +"Accepted job ID to echo with the original payment proof and identical inputs when recovering a call made without idempotency_key."
    • addedInput schema / properties / prefer_async / description
      Added value: +"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."
    • addedInput schema / properties / signer / description
      Added value: +"Optional base58 Solana address that must be a required transaction signer; omit to use the fee payer."
    • addedInput schema / properties / transaction / description
      Added value: +"Real unsigned Solana transaction (legacy or v0), serialized as base64; not a token mint or example placeholder."
  2. Changed9 schema fields changed
    • removedInput schema / properties / idempotency_key / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / idempotency_key / type
      Added value: +"string"
    • addedInput schema / properties / intent / additionalProperties
      Added value: +true
    • removedInput schema / properties / intent / anyOf
      Removed value: -[
      -  {
      -    "additionalProperties": true,
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / intent / type
      Added value: +"object"
    • removedInput schema / properties / job_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / job_id / type
      Added value: +"string"
    • removedInput schema / properties / signer / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / signer / type
      Added value: +"string"
  3. Changed2 schema fields changed
    • addedInput schema / properties / idempotency_key
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Idempotency Key"
      +}
    • addedInput schema / properties / job_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Job Id"
      +}
  4. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources