Solana · x402 V2

Solana v0 Message Analyzer

Use this service when you need this capability: analyze a supplied v0 message for static keys, lookup-table use, and instruction fanout.

Price and endpoint

LivePOSTBase USDC

0.015 USDC per call

x402 V2 exact payment on Base mainnet (eip155:8453) using USDC. The HTTP 402 challenge confirms the exact requirements before an authorized payment.

POST https://signalharness.ai/api/agent/services/solana_v0_message_analyze/invoke

Purpose

Analyze a supplied v0 message for static keys, lookup-table use, and instruction fanout.

Caller-supplied data is processed deterministically. These tools do not supply live market feeds, query blockchain RPC, host AI models, or verify that supplied history is complete. Payment remains Base USDC for every chain category.

Inputs

Request fields and validation limits
FieldTypeRequiredLimits
request_jsonstringRequiredMinimum length 2; Maximum length 65536

Example request body

{
  "request_json": "{\"message\":{\"version\":0,\"header\":{\"numRequiredSignatures\":1,\"numReadonlySignedAccounts\":0,\"numReadonlyUnsignedAccounts\":0},\"static_account_keys\":[\"11111111111111111111111111111111\"],\"address_table_lookups\":[],\"instructions\":[]}}"
}
View complete input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "additionalProperties": false,
  "minProperties": 1,
  "maxProperties": 1,
  "required": [
    "request_json"
  ],
  "properties": {
    "request_json": {
      "type": "string",
      "minLength": 2,
      "maxLength": 65536
    }
  }
}

Realistic output shape

Illustrative output from the canonical adapter fixture and schema. It is not a completed paid execution or a current live observation.

{
  "service_id": "solana_v0_message_analyze",
  "evidence_scope": "caller_supplied_data",
  "analyzed_network": "solana",
  "analysis_json": "{\"instruction_count\":0,\"lookup_count\":0,\"readonly_lookup_indexes\":[],\"static_key_count\":1,\"valid_v0\":true,\"version\":0,\"warnings\":[],\"writable_lookup_indexes\":[]}",
  "warnings": [
    "Does not fetch Address Lookup Tables or simulate execution."
  ]
}
View complete output schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "additionalProperties": false,
  "minProperties": 5,
  "maxProperties": 5,
  "required": [
    "service_id",
    "evidence_scope",
    "analyzed_network",
    "analysis_json",
    "warnings"
  ],
  "properties": {
    "service_id": {
      "type": "string",
      "const": "solana_v0_message_analyze",
      "minLength": 25,
      "maxLength": 25
    },
    "evidence_scope": {
      "type": "string",
      "const": "caller_supplied_data",
      "minLength": 20,
      "maxLength": 20
    },
    "analyzed_network": {
      "type": "string",
      "const": "solana",
      "minLength": 6,
      "maxLength": 6
    },
    "analysis_json": {
      "type": "string",
      "minLength": 2,
      "maxLength": 65536
    },
    "warnings": {
      "type": "array",
      "minItems": 1,
      "maxItems": 8,
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 512
      }
    }
  }
}

Execution limits

  • MaxInputBytes: 70000
  • MaxOutputBytes: 70000
  • MaxConcurrentExecutions: 4
  • MaxArtifacts: 0
  • MaxArtifactBytes: 0
  • RateLimitPerMinute: 30
  • MaxNodes: 12000

Timeout: 15000 ms. Full schemas are in OpenAPI.

Copyable unpaid request

This schema-valid request returns the canonical HTTP 402 challenge without executing the service. A payment-capable client validates the challenge, signs only with prior authority and budget, and retries the identical body.

curl -i -X POST https://signalharness.ai/api/agent/services/solana_v0_message_analyze/invoke \
  -H "Content-Type: application/json" \
  --data '{"request_json":"{\"message\":{\"version\":0,\"header\":{\"numRequiredSignatures\":1,\"numReadonlySignedAccounts\":0,\"numReadonlyUnsignedAccounts\":0},\"static_account_keys\":[\"11111111111111111111111111111111\"],\"address_table_lookups\":[],\"instructions\":[]}}"}'

Continue with the paid-call walkthrough →