Skip to main content
POST
/
v1
/
wallet
/
tx
Scan transaction (wallet)
curl --request POST \
  --url https://api.novashield.so/v1/wallet/tx \
  --header 'Content-Type: application/json' \
  --data '
{
  "chain": "solana",
  "tx_base64": "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...",
  "wallet_address": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",
  "context": {
    "source": "wallet",
    "dapp_domain": "app.raydium.io"
  }
}
'
{
  "verdict": "safe",
  "score": 0.15,
  "summary": "This transaction swaps 2 SOL for 1000 tokens on Raydium.",
  "details": {
    "actions": [
      {
        "type": "TRANSFER",
        "programId": "<string>",
        "programName": "<string>",
        "from": "<string>",
        "to": "<string>",
        "mint": "<string>",
        "amountUi": 123
      }
    ],
    "balance_diffs": [
      {
        "address": "<string>",
        "mint": "<string>",
        "deltaUi": 123
      }
    ],
    "flags": [
      "UNLIMITED_APPROVAL_UNKNOWN",
      "NEW_PROGRAM_SENSITIVE_ACTIONS"
    ],
    "simulation": {
      "logs": [
        "<string>"
      ],
      "err": {}
    }
  },
  "explanations": [
    "Transaction interacts with an unknown program that performs sensitive operations."
  ]
}
Use this to preflight transactions at sign time. Ideal for wallets, agents, and backends that need human-readable risk.

Body

application/json
chain
enum<string>
required

Blockchain network (currently only Solana supported)

Available options:
solana
tx_base64
string
required

Base64-encoded serialized transaction

wallet_address
string
required

User's wallet public key

Example:

"7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU"

context
object

Optional context about the transaction origin

Response

Transaction analysis complete

verdict
enum<string>

Overall risk verdict

Available options:
safe,
suspicious,
malicious
score
number

Risk score (0.0 = safe, 1.0 = critical)

Required range: 0 <= x <= 1
Example:

0.15

summary
string

Human-readable transaction summary

Example:

"This transaction swaps 2 SOL for 1000 tokens on Raydium."

details
object
explanations
string[]

Human-readable risk explanations

Example:
[
"Transaction interacts with an unknown program that performs sensitive operations."
]