---
title: "Scan Transaction"
method: POST
path: "/v0/transaction/scan"
tags: ["Crypto Fraud Prevention"]
---

# Scan Transaction

`POST /v0/transaction/scan`

Gets a transaction and returns a full security assessment indicating whether or not the transaction is malicious, along with textual reasons explaining why it was flagged as such.

## Request body

- TransactionScanRequest
  - `options` Options[], required — List of options to apply during the transaction scan
  - `data` Data, required
    - `chain` 'arbitrum' | 'avalanche' | 'base' | 'base-sepolia' | 'bsc' | 'ethereum' | 'ethereum-sepolia' | 'optimism' | 'polygon' | 'zksync' | 'zksync-sepolia' | 'zora' | 'linea' | 'blast' | 'scroll' | 'avalanche-fuji' | 'degen' | 'immutable-zkevm' | 'immutable-zkevm-testnet' | 'gnosis' | 'worldchain' | 'soneium-minato' | 'ronin' | 'apechain' | 'berachain' | 'ink-sepolia' | 'ink' | 'abstract' | 'abstract-testnet' | 'metacade' | 'metacade-testnet' | 'soneium' | 'unichain' | 'lordchain-testnet' | 'lordchain' | 'sei' | 'flow-evm' | 'hyperevm' | 'megaeth' | 'katana' | 'plume' | 'solana' | 'bitcoin' | 'xlayer' | 'monad' | 'monad-testnet' | 'tron' | 'kaia' | 'plasma' | 'mantle', required — The chain name
    - `transaction_action` 'deposit' | 'withdrawal' — Action the transaction is making
    - `from` string — Source address or identifier for the transaction
    - `to` string, required — Destination address or identifier for the transaction
    - `amount` number, required — Amount of the transaction in the specified asset
    - `asset` union, required — Asset information
      - AssetAddress
        - `address` string, required — The address of the asset
      - AssetSymbol
        - `symbol` string, required — The symbol of the asset
  - `metadata` Metadata, required
    - `account` RoutersChainAgnosticModelsRequestAccount
      - `account_id` string, required — Unique identifier for the account.
      - `account_creation_timestamp` string, date-time — Timestamp when the account was created.
      - `user_age` integer — Age of the user in years
      - `user_country_code` string — ISO country code of the user's location.
    - `connection` RoutersChainAgnosticModelsRequestConnection
      - `user_agent` string — User agent string from the client's browser or application.
      - `ip_address` string, ipvanyaddress, required — IP address of the customer making the request.

## Response `200`

Successful Response

- ScanResult
  - `validation` ValidationResult, required
    - `status` 'Success' | 'Error', required — The status of the transaction scan
    - `result_type` 'Malicious' | 'Warning' | 'Benign' | 'High-Risk', required — The type of validation result.
    - `classification` string, required — Classification of the scan result based on the detected features
    - `description` string, required — Detailed description of the validation result
    - `features` union[] — List of features detected during the scan
      - union
        - AddressFeature
          - `entity` 'address' — Type of entity associated with the feature
          - `type` 'Malicious' | 'Warning' | 'Benign' | 'High-Risk' | 'Info', required — The type of feature detected in the scan.
          - `feature_id` string, required — Unique identifier for the detected feature
          - `description` string, required — Detailed description of the detected feature
          - `address` string, required — The blockchain address where the feature was detected
          - `associated_urls` string[], required — List of URLs associated with this address
        - UrlFeature
          - `entity` 'url' — Type of entity associated with the feature
          - `type` 'Malicious' | 'Warning' | 'Benign' | 'High-Risk' | 'Info', required — The type of feature detected in the scan.
          - `feature_id` string, required — Unique identifier for the detected feature
          - `description` string, required — Detailed description of the detected feature
          - `url` string, required — The URL where the feature was detected
        - TransactionFeature
          - `entity` 'transaction' — Type of entity associated with the feature
          - `type` 'Malicious' | 'Warning' | 'Benign' | 'High-Risk' | 'Info', required — The type of feature detected in the scan.
          - `feature_id` string, required — Unique identifier for the detected feature
          - `description` string, required — Detailed description of the detected feature

## Other responses

- `422` — Validation Error

## Changes

- **2026-05-21** `ed1955d90f99` — 1 breaking
  - removed the enum value `zero-network` of the request property `data/allOf[subschema #1: Data]/chain/allOf[subschema #1: Chains]/`
- **2026-05-11** `48e4dcc48730` — 3 info
  - added the new `kaia` enum value to the request property `data/allOf[subschema #1: Data]/chain/allOf[subschema #1: Chains]/`
  - added the new `mantle` enum value to the request property `data/allOf[subschema #1: Data]/chain/allOf[subschema #1: Chains]/`
  - added the new `plasma` enum value to the request property `data/allOf[subschema #1: Data]/chain/allOf[subschema #1: Chains]/`

[Change history](https://skmtc.dev/blockaid-official/apis/blockaid-api/changes/v0/transaction/scan/post.md)

---

[API](https://skmtc.dev/blockaid-official/apis/blockaid-api.md) · [All operations](https://skmtc.dev/blockaid-official/apis/blockaid-api/llms.txt) · [OpenAPI document](https://skmtc.dev/blockaid-official/apis/blockaid-api/revisions/26b01ac5305e?raw)
