---
title: "Scan Transactions"
method: POST
path: "/v0/starknet/transaction/scan"
tags: ["Starknet"]
---

# Scan Transactions

`POST /v0/starknet/transaction/scan`

## Request body

- StarknetTransactionScanRequest
  - `chain` union, required — The chain name or chain ID
    - 'mainnet'
    - string — A Starknet network ID as hex or decimal string
  - `options` StarknetOptions[] — List of options to include in the response - `Options.validation`: Include Options.validation output in the response - `Options.simulation`: Include Options.simulation output in the response
  - `account_address` string, required
  - `transaction` union, required
    - StarknetInvokeV1TransactionSchema
      - `version` 1, required — The version of the transaction.
      - `nonce` string, required — The nonce of the transaction.
      - `sender_address` string, required — The address of the sender.
      - `calldata` string[] — The arguments that are passed to the validate and execute functions.
      - `max_fee` string, required — The maximum fee that the sender is willing to pay.
    - StarknetInvokeV3TransactionSchema
      - `version` 3, required — The version of the transaction.
      - `nonce` string, required — The nonce of the transaction.
      - `sender_address` string, required — The address of the sender.
      - `calldata` string[], required — The arguments that are passed to the validate and execute functions.
      - `chain_id` string, required — The id of the chain to which the transaction is sent.
      - `nonce_data_availability_mode` 0 — The nonce data availability mode.
      - `paymaster_data` string[] — For future use. Currently this value is always empty.
      - `account_deployment_data` string[] — For future use. Currently this value is always empty.
    - StarknetDeployAccountV1TransactionSchema
      - `version` 1, required — The version of the transaction.
      - `nonce` string, required — The nonce of the transaction.
      - `class_hash` string, required — The hash of the contract class.
      - `contract_address_salt` string, required — The salt of the contract address.
      - `constructor_calldata` string[], required — The arguments that are passed to the constructor function.
      - `max_fee` string, required — The maximum fee that the sender is willing to pay.
    - StarknetDeployAccountV3TransactionSchema
      - `version` 3, required — The version of the transaction.
      - `nonce` string, required — The nonce of the transaction.
      - `class_hash` string, required — The hash of the contract class.
      - `contract_address_salt` string, required — The salt of the contract address.
      - `constructor_calldata` string[], required — The arguments that are passed to the constructor function.
      - `max_fee` string, required — The maximum fee that the sender is willing to pay.
    - StarknetOutsideExecutionSchema
      - `caller` string, required — The address allowed to execute, or 0 for ANY_CALLER
      - `nonce` string, required — Replay-protection nonce, scoped to the outside execution context
      - `execute_after` string, required — Unix timestamp. The message cannot be executed before this time.
      - `execute_before` string, required — Unix timestamp. The message cannot be executed after this time.
      - `calls` StarknetOutsideCallSchema[], required — The calls to execute on the user's account.
        - `to` string, required — The address of the contract to call.
        - `selector` string, required — The selector of the function to call.
        - `calldata` string[] — The calldata to pass to the function.
  - `metadata` union, required — Metadata
    - StarknetWalletRequestMetadata
      - `type` 'wallet', required — Metadata for wallet requests
      - `url` string, required — URL of the dApp originating the transaction
    - StarknetInAppRequestMetadata
      - `type` 'in_app' — Metadata for in-app requests
  - `block_number` string, nullable — Optional block number or tag context for the simulation

## Response `200`

Successful Response

- StarknetTransactionScanResponse
  - `simulation` union — Simulation result; Only present if simulation option is included in the request
    - StarknetStarknetSimulationResultSchema
      - `status` 'Success', required
      - `assets_diffs` object — Mapping between the address of an account to the assets diff during the transaction
      - `exposures` object — Mapping between the address of an account to the exposure of the assets during the transaction
      - `address_details` StarknetAddressDetailsBaseSchema[] — Details of addresses involved in the transaction
        - `account_address` unknown, required
        - `description` string, nullable — Description of the account
      - `account_summary` StarknetAccountSummary, required
        - `account_assets_diffs` union[] — Assets diffs of the requested account address
          - union
            - StarknetERC20AssetDiff
              - …
            - StarknetERC721AssetDiff
              - …
            - StarknetERC1155AssetDiff
              - …
        - `account_exposures` union[], required — Exposures made by the requested account address
          - union
            - StarknetERC20Exposure
              - …
            - StarknetERC721Exposure
              - …
            - StarknetERC1155Exposure
              - …
        - `total_usd_diff` StarknetTotalUsdDiffSchema, required
          - `in` number, required — Total incoming USD transfers
          - `out` number, required — Total outgoing USD transfers
          - `total` number — Total USD transfers
        - `total_usd_exposure` object — Total USD exposure for each of the spender addresses during the transaction
      - `block_number` string, nullable — Optional block number or tag context for the simulation
    - StarknetSimulationErrorSchema
      - `status` 'Error', required
      - `error` string, required — Error message
  - `validation` union
    - StarknetValidationResult
      - `status` 'Success', required
      - `result_type` 'Benign' | 'Warning' | 'Malicious' | 'Error', required
      - `description` string, required — A textual description about the validation result
      - `reason` string, required — A textual description about the reasons the transaction was flagged with result_type
      - `classification` string, required — A textual classification that can be presented to the user explaining the reason.
      - `features` StarknetValidationFeature[], required
        - `type` 'Benign' | 'Warning' | 'Malicious' | 'Info', required
        - `feature_id` string, required
        - `description` string, required — Textual description
        - `address` string, required — Address the feature refers to
    - StarknetValidationErrorSchema
      - `status` 'Error', required
      - `error` string, required — Error message

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/blockaid-official/apis/blockaid-api.md) · [All operations](https://skmtc.net/blockaid-official/apis/blockaid-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/blockaid-official/blockaid-api/revisions/17c41f337b2e/schema)
