Blockaid Sui API

The Sui API from Blockaid — 3 operation(s) for sui.

OpenAPI Specification

blockaid-sui-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Blockaid Asset Management Sui API
  description: Blockaid Risk Score API
  termsOfService: https://www.blockaid.io/legal/terms-of-use
  license:
    name: Proprietary
    url: https://www.blockaid.io/legal
  version: 1.0.0
servers:
- url: https://api.blockaid.io
  description: Production server
- url: https://client.blockaid.io
  description: Clients server
tags:
- name: Sui
paths:
  /v0/sui/transaction/scan:
    post:
      tags:
      - Sui
      summary: Scan Transaction
      description: Get a risk recommendation with plain-language reasons for a Sui transaction.
      operationId: sui_scan_transaction_v0_transaction_scan_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SuiSuiRequestSchema'
            examples:
              Send 0.1 SUI:
                summary: Send 0.1 SUI
                value:
                  chain: mainnet
                  options:
                  - simulation
                  account_address: '0x45e90b3ea2e1920c43d92d224630d6a865c1b58a7b4e770c2ac156eab30eb491'
                  transaction: AAACAAgA4fUFAAAAAAAgHvls2mKzo/48s/fPdWP8xKtE4BhIjR2O8gMaZ6bI1+sCAgABAQAAAQECAAABAQBF6Qs+ouGSDEPZLSJGMNaoZcG1intOdwwqwVbqsw60kQFySkLceU6uis9QxxK4CDYqttqK3ilc9/yEcCgxdaeA0cl/xhwAAAAAIEuXU9TpAtIJmbPVFpxdc70+RWUqlSrfyIUKT9q1Au0ERekLPqLhkgxD2S0iRjDWqGXBtYp7TncMKsFW6rMOtJHuAgAAAAAAACAKNQAAAAAAAA==
                  metadata:
                    type: wallet
                    url: https://example.com
              Send SUI to malicious address:
                summary: Send SUI to malicious address
                value:
                  chain: mainnet
                  options:
                  - simulation
                  - validation
                  account_address: '0x45e90b3ea2e1920c43d92d224630d6a865c1b58a7b4e770c2ac156eab30eb491'
                  transaction: AAADAAgQJwAAAAAAAAEAccWLOm90llYY/eSVPSD8T5lzhxRTrZthL4X2ppzLyKLJf8YcAAAAACCNwzLTpeia++0bnkPAd/Zr3GwqVAZih6j3pAkPqAotGwAgLeLahKiNNxyrIg4pEmg/YFJCzY8/z6q6unpSGXy4KAQCAgEBAAEBAAABAQIAAAECAEXpCz6i4ZIMQ9ktIkYw1qhlwbWKe053DCrBVuqzDrSRARl+wHSiXphwRqyeLYCxEIzpRAFMkqAEDI21eSG+9l21u+YRHAAAAAAgk68l0XG4B9aerTaFl0nZ8N4NgMgx57IUZWamN9MWuwFF6Qs+ouGSDEPZLSJGMNaoZcG1intOdwwqwVbqsw60ke4CAAAAAAAAQEtMAAAAAAAA
                  metadata:
                    type: wallet
                    url: https://example.com
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuiTransactionScanResponse'
                docs_api_name: TransactionScanResponse
                title: Response Schema
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuiHTTPValidationError'
      deprecated: false
      security:
      - APIKey: []
      - ClientID: []
  /v0/sui/post-transaction/scan:
    post:
      tags:
      - Sui
      summary: Scan Post-Transaction
      description: Scan a transaction that was already executed on chain, returns validation with features indicating address poisoning entities and malicious operators.
      operationId: sui_post_transaction_scan_v0_post_transaction_scan_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SuiPostTransactionRequestSchema'
            examples:
              Transfer Sui:
                summary: Transfer Sui
                value:
                  metadata:
                    non_dapp: true
                    domain: valid.com
                  chain: mainnet
                  options:
                  - simulation
                  data:
                    tx_hash: C8yt17V6fgtXdqoeQ3CMGSkQMh3SUsu8sd3xPD1NwX7a
              Swap SUI to USDC:
                summary: Swap SUI to USDC
                value:
                  metadata:
                    non_dapp: true
                    domain: valid.com
                  chain: mainnet
                  options:
                  - simulation
                  - validation
                  data:
                    tx_hash: 6WdxdRpTs4aUzUDsb771BFU4T2QXu8kVw4Astv9j9tX5
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuiPostTransactionScanResponse'
                docs_api_name: PostTransactionScanResponse
                title: Response Schema
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuiHTTPValidationError'
      deprecated: false
      security:
      - APIKey: []
      - ClientID: []
  /v0/sui/address/scan:
    post:
      tags:
      - Sui
      summary: Scan Address
      description: Gets an address and returns a full security assessment indicating whether or not this address is malicious as well as textual reasons of why the address was flagged that way.
      operationId: sui_scan_address_v0_address_scan_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SuiAddressScanRequestSchema'
            examples:
              Native Coin - Benign:
                summary: Native Coin - Benign
                value:
                  address: '0x2'
                  chain: mainnet
              Malicious Address:
                summary: Malicious Address
                value:
                  address: '0x2de2da84a88d371cab220e2912683f605242cd8f3fcfaababa7a52197cb82804'
                  chain: mainnet
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuiAddressScanResponseSchema'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuiHTTPValidationError'
      deprecated: false
      security:
      - APIKey: []
      - ClientID: []
components:
  schemas:
    SuiInternalValidationFeatureType:
      type: string
      enum:
      - Benign
      - Warning
      - Malicious
      - Info
      title: InternalValidationFeatureType
    SuiSimulationParams:
      properties:
        from:
          type: string
          title: From
        value:
          type: string
          title: Value
        block_tag:
          type: string
          title: Block Tag
        chain:
          type: string
          title: Chain
      additionalProperties: true
      type: object
      required:
      - from
      - value
      - block_tag
      - chain
      title: SimulationParams
    SuiSimulationErrorSchema:
      properties:
        status:
          type: string
          const: Error
          title: Status
        error:
          type: string
          title: Error
          description: Error message
      type: object
      required:
      - status
      - error
      title: Simulation Error
    SuiAddressScanResponseSchema:
      properties:
        result_type:
          anyOf:
          - $ref: '#/components/schemas/SuiResultType'
          - $ref: '#/components/schemas/SuiInternalVerdict'
          title: Result Verdict
          description: Verdict of the validation
        features:
          items:
            $ref: '#/components/schemas/SuiAddressFeatureModel'
          type: array
          title: Features
          description: A list of textual features about this transaction that can be presented to the user.
      type: object
      required:
      - result_type
      title: AddressScanResponseSchema
    SuiAssetTransferDetailsSchema:
      properties:
        usd_price:
          type: number
          title: Usd Price
          description: USD price of the asset
          nullable: true
        summary:
          type: string
          title: Summary
          description: Summarized description of the transfer
          nullable: true
        value:
          type: string
          title: Value
          description: Value of the transfer
        raw_value:
          type: integer
          title: Raw Value
          description: Raw value of the transfer
      type: object
      required:
      - value
      - raw_value
      title: Asset Transfer Details
    SuiValidationFeature:
      properties:
        type:
          $ref: '#/components/schemas/SuiValidationFeatureType'
          description: Feature Classification
          title: type
        feature_id:
          type: string
          title: feature_id
          description: ''
        description:
          type: string
          title: Description
          description: Textual description
        address:
          type: string
          title: Address
          description: Address the feature refers to
      type: object
      required:
      - type
      - feature_id
      - description
      - address
      title: ValidationFeatureSchemaType[Union[SuiAddress, StructTag]]
    SuiPostTransactionSimulationResult:
      properties:
        status:
          type: string
          const: Success
          title: Status
        assets_diffs:
          additionalProperties:
            items:
              anyOf:
              - $ref: '#/components/schemas/SuiNativeAssetDiff'
                docs_api_name: NativeAssetDiff
                title: Native asset Diff
              - $ref: '#/components/schemas/SuiNFTAssetDiff'
                docs_api_name: NFTAssetDiff
                title: NFT Asset Diff
              - $ref: '#/components/schemas/SuiCoinsAssetDiff'
                docs_api_name: CoinsAssetDiff
                title: Coins Asset Diff
            type: array
            description: Assets diff of an account address
          type: object
          title: Assets Diffs
          description: Mapping between the address of an account to the assets diff during the transaction
        address_details:
          items:
            $ref: '#/components/schemas/SuiAddressDetailsBaseSchema_SuiAddress_'
          type: array
          title: Address Details
          description: Details of addresses involved in the transaction
        account_summary:
          $ref: '#/components/schemas/SuiAccountSummary'
          description: Summary of the actions and asset transfers that were made by the requested account address
          docs_api_name: AccountSummary
        params:
          $ref: '#/components/schemas/SuiSimulationParams'
      type: object
      required:
      - status
      - account_summary
      - params
      title: Simulation Result
    SuiNFTDetailsSchema:
      properties:
        type:
          type: string
          const: NFT
          title: Type
          description: Type of the asset (`NFT`)
          default: NFT
        id:
          type: string
          title: Id
          description: The NFT ID
        nft_type:
          type: string
          title: Nft Type
          description: The NFT's collection ID
        name:
          type: string
          title: Name
          description: NFT's display name
        description:
          type: string
          title: Description
          description: The NFT's description
        url:
          type: string
          title: Url
          description: URL of the nft's image
          nullable: true
      type: object
      required:
      - id
      - nft_type
      - name
      - description
      title: NFT Asset Details
    SuiSuiRequestSchema:
      properties:
        chain:
          $ref: '#/components/schemas/SuiChain'
        options:
          items:
            $ref: '#/components/schemas/SuiOptions'
          type: array
          minItems: 1
          uniqueItems: true
          title: Options
          description: '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

            '
          default:
          - simulation
          - validation
        account_address:
          type: string
          title: Account Address
        transaction:
          type: string
          title: Transaction
        metadata:
          anyOf:
          - $ref: '#/components/schemas/SuiWalletRequestMetadata'
          - $ref: '#/components/schemas/SuiInAppRequestMetadata'
          title: Metadata
          description: Metadata
        transaction_hints:
          $ref: '#/components/schemas/TransactionHints'
          title: Transaction Hints
          description: Optional customer-supplied hints about transaction intent that cannot be inferred from on-chain simulation.
      type: object
      required:
      - chain
      - account_address
      - transaction
      - metadata
      title: Request
    SuiVerdict:
      type: string
      enum:
      - Benign
      - Warning
      - Malicious
      - Error
      title: Verdict
    SuiPostTransactionRequestMetadata:
      properties:
        non_dapp:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Non Dapp
          description: Indicates that the transaction was not initiated by a dapp. Use false when the transaction is from a dapp.
          default: false
        domain:
          anyOf:
          - type: string
          - type: 'null'
          title: Domain
          description: cross reference transaction against the domain.
      type: object
      title: PostTransactionRequestMetadata
    SuiPostTransactionRequestData:
      properties:
        tx_hash:
          type: string
          title: Tx Hash
      type: object
      required:
      - tx_hash
      title: PostTransactionRequestData
    SuiNativeAssetDiff:
      properties:
        asset:
          $ref: '#/components/schemas/SuiNativeAssetDetailsSchema'
        in:
          $ref: '#/components/schemas/SuiAssetTransferDetailsSchema'
          description: Details of the incoming transfer
          nullable: true
          title: In
        out:
          $ref: '#/components/schemas/SuiAssetTransferDetailsSchema'
          description: Details of the outgoing transfer
          nullable: true
          title: Out
        asset_type:
          type: string
          title: Asset Type
          description: The type of the assets in this diff
          readOnly: true
      type: object
      required:
      - asset
      - asset_type
      title: AccountSingleAssetDiffSchemaType[NativeAssetDetailsSchema, AssetTransferDetailsSchema]
    SuiValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    SuiAddressDetailsBaseSchema_SuiAddress_:
      properties:
        account_address:
          type: string
          title: Account Address
          description: Encoded public key of the account
        description:
          type: string
          title: Description
          description: Description of the account
          nullable: true
      type: object
      required:
      - account_address
      title: Address Details
    SuiChain:
      type: string
      enum:
      - mainnet
      title: Chain
    CrossChainBridgeFungibleAsset:
      type: object
      required:
      - type
      - address
      properties:
        type:
          type: string
          const: FUNGIBLE
          title: Type
          description: Type of the asset (`FUNGIBLE`)
          default: FUNGIBLE
        address:
          type: string
          description: Token contract address on the destination chain.
        raw_value:
          type: string
          description: Amount to be received in the asset's smallest unit (before decimal division), e.g. base units for ERC-20 tokens.
      title: CrossChainBridgeFungibleAsset
    TransactionScanSupportedChains:
      type: string
      enum:
      - arbitrum
      - avalanche
      - base
      - base-sepolia
      - lordchain
      - lordchain-testnet
      - metacade
      - metacade-testnet
      - bsc
      - ethereum
      - optimism
      - polygon
      - zksync
      - zksync-sepolia
      - zora
      - linea
      - blast
      - scroll
      - ethereum-sepolia
      - degen
      - avalanche-fuji
      - gnosis
      - worldchain
      - soneium-minato
      - ronin
      - apechain
      - berachain
      - berachain-bartio
      - ink
      - ink-sepolia
      - abstract
      - abstract-testnet
      - soneium
      - unichain
      - sei
      - flow-evm
      - hyperevm
      - megaeth
      - katana
      - plume
      - xlayer
      - monad
      - monad-testnet
      - tempo
      - tempo-testnet
      - kite-ai
      - kaia
      - plasma
      - mantle
      - robinhood
      - arc
      title: TransactionScanSupportedChains
      description: The chain name
    SuiWalletRequestMetadata:
      properties:
        type:
          type: string
          const: wallet
          title: Type
          description: Metadata for wallet requests
        url:
          type: string
          title: Url
          description: URL of the dApp originating the transaction
        account:
          allOf:
          - $ref: '#/components/schemas/routers__chain_agnostic__models__request__Account'
          title: Account
          description: Account information associated with the request
        connection:
          allOf:
          - $ref: '#/components/schemas/routers__chain_agnostic__models__request__Connection'
          title: Connection
          description: Connection metadata including user agent and IP information
      type: object
      required:
      - type
      - url
      title: Wallet Request Metadata
    SuiInternalVerdict:
      type: string
      enum:
      - Benign
      - Warning
      - Malicious
      - Error
      title: InternalVerdict
    SuiValidationErrorSchema:
      properties:
        status:
          type: string
          const: Error
          title: Status
        error:
          type: string
          title: Error
          description: Error message
      type: object
      required:
      - status
      - error
      title: Validation Error
    SuiCoinsAssetDiff:
      properties:
        asset:
          $ref: '#/components/schemas/SuiSuiCoinDetailsSchema'
        in:
          $ref: '#/components/schemas/SuiAssetTransferDetailsSchema'
          description: Details of the incoming transfer
          nullable: true
          title: In
        out:
          $ref: '#/components/schemas/SuiAssetTransferDetailsSchema'
          description: Details of the outgoing transfer
          nullable: true
          title: Out
        asset_type:
          type: string
          title: Asset Type
          description: The type of the assets in this diff
          readOnly: true
      type: object
      required:
      - asset
      - asset_type
      title: AccountSingleAssetDiffSchemaType[CoinDetailsSchema, AssetTransferDetailsSchema]
    SuiTransactionScanResponse:
      properties:
        simulation:
          anyOf:
          - $ref: '#/components/schemas/SuiSimulationResult'
            docs_api_name: SimulationResult
            title: Simulation Result Schema
          - $ref: '#/components/schemas/SuiSimulationErrorSchema'
          title: Simulation
          description: Simulation result; Only present if simulation option is included in the request
          nullable: true
        validation:
          $ref: '#/components/schemas/SuiValidationResponse'
          description: Validation result; Only present if validation option is included in the request
          docs_api_name: ValidationResponse
          nullable: true
          title: Validation
      type: object
      title: Response
    SuiPostTransactionRequestSchema:
      properties:
        metadata:
          $ref: '#/components/schemas/SuiPostTransactionRequestMetadata'
        chain:
          $ref: '#/components/schemas/SuiChain'
        options:
          items:
            $ref: '#/components/schemas/SuiOptions'
          type: array
          minItems: 1
          uniqueItems: true
          title: Options
          description: '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

            '
          default:
          - simulation
          - validation
        data:
          $ref: '#/components/schemas/SuiPostTransactionRequestData'
      type: object
      required:
      - metadata
      - chain
      - data
      title: PostTransactionRequestSchema
    SuiValidationResult:
      properties:
        status:
          type: string
          const: Success
          title: Status
        result_type:
          $ref: '#/components/schemas/SuiVerdict'
          description: Verdict of the validation
          title: Result Verdict
        description:
          type: string
          title: Description
          description: A textual description about the validation result
        reason:
          type: string
          title: Reason
          description: A textual description about the reasons the transaction was flagged with result_type
        classification:
          type: string
          title: Classification
          description: A textual classification that can be presented to the user explaining the reason.
        features:
          items:
            $ref: '#/components/schemas/SuiValidationFeature'
            docs_api_name: ValidationFeature
            title: Feature
          type: array
          title: Features
      type: object
      required:
      - status
      - result_type
      - description
      - reason
      - classification
      - features
      title: Validation Result
    GenericTransactionHint:
      type: object
      required:
      - type
      properties:
        type:
          type: string
          title: Type
          description: Hint type identifier for unrecognized or future hint types.
      title: GenericTransactionHint
      description: Fallback for unrecognized or future hint types. Accepts any hint with a `type` field.
    CrossChainBridgeHint:
      type: object
      required:
      - type
      properties:
        type:
          type: string
          const: cross_chain_bridge
          title: Type
          description: Hint type discriminator (`cross_chain_bridge`).
          default: cross_chain_bridge
        destination_address:
          type: string
          description: The intended recipient address on the destination chain. Required when the bridge protocol does not emit this on-chain (e.g. Relay, some Across deposit routes).
        destination_chain:
          anyOf:
          - $ref: '#/components/schemas/TransactionScanSupportedChains'
          - type: string
          description: The destination chain for the bridged assets.
        destination_asset:
          $ref: '#/components/schemas/CrossChainBridgeAsset'
          description: Details of the asset the recipient will receive on the destination chain. May differ from the source asset (e.g. wrapped vs. native, canonical vs. bridged token).
      title: CrossChainBridgeHint
      description: Customer-supplied context for a cross-chain bridge deposit where the protocol does not emit the destination on-chain.
    SuiNFTAssetDiff:
      properties:
        asset:
          $ref: '#/components/schemas/SuiNFTDetailsSchema'
        in:
          $ref: '#/components/schemas/SuiNFTDiffSchema'
          description: Details of the incoming transfer
          nullable: true
          title: In
        out:
          $ref: '#/components/schemas/SuiNFTDiffSchema'
          description: Details of the outgoing transfer
          nullable: true
          title: Out
        asset_type:
          type: string
          title: Asset Type
          description: The type of the assets in this diff
          readOnly: true
      type: object
      required:
      - asset
      - asset_type
      title: AccountSingleAssetDiffSchemaType[NFTDetailsSchema, NFTDiffSchema]
    SuiNativeAssetDetailsSchema:
      properties:
        type:
          type: string
          const: NATIVE
          title: Type
          description: Type of the asset (`NATIVE`)
          default: NATIVE
        symbol:
          type: string
          const: SUI
          title: Symbol
          description: Symbol of the asset
          default: SUI
        name:
          type: string
          const: Sui
          title: Name
          description: Name of the asset
          default: Sui
        decimals:
          type: integer
          const: 9
          title: Decimals
          description: Decimals of the asset
          default: 9
        logo_url:
          type: string
          title: Logo Url
          description: URL of the asset's logo
          default: https://dm8wquhbuh2eq.cloudfront.net/chain/sui-mainnet/token/0x2::sui::SUI
      type: object
      title: Native Asset Details
    SuiOptions:
      type: string
      enum:
      - validation
      - simulation
      title: Options
    SuiAccountSummary:
      properties:
        account_assets_diffs:
          items:
            anyOf:
            - $ref: '#/components/schemas/SuiNativeAssetDiff'
              docs_api_name: NativeAssetDiff
              title: Native asset Diff
            - $ref: '#/components/schemas/SuiNFTAssetDiff'
              docs_api_name: NFTAssetDiff
              title: NFT Asset Diff
            - $ref: '#/components/schemas/SuiCoinsAssetDiff'
              docs_api_name: CoinsAssetDiff
              title: Coins Asset Diff
          type: array
          title: Account Assets Diffs
          description: Assets diffs of the requested account address
        total_usd_diff:
          $ref: '#/components/schemas/SuiTotalUsdDiffSchema'
          description: Total USD diff for the requested account address
      type: object
      required:
      - total_usd_diff
      title: Account Summary
    SuiValidationResponse:
      anyOf:
      - $ref: '#/components/schemas/SuiValidationResult'
        docs_api_name: ValidationResult
        title: Validation Successful Result
      - $ref: '#/components/schemas/SuiValidationErrorSchema'
      title: ValidationResponseSchemaType[Union[SuiAddress, StructTag]]
    SuiHTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/SuiValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    SuiPostTransactionScanResponse:
      properties:
        simulation:
          anyOf:
          - $ref: '#/components/schemas/SuiPostTransactionSimulationResult'
            docs_api_name: PostTransactionSimulationResult
            title: Post Transaction Simulation Result Schema
          - $ref: '#/components/schemas/SuiSimulationErrorSchema'
          title: Simulation
          description: Simulation result; Only present if simulation option is included in the request
          nullable: true
        validation:
          $ref: '#/components/schemas/SuiValidationResponse'
          description: Validation result; Only present if validation option is included in the request
          docs_api_name: ValidationResponse
          nullable: true
          title: Validation
        account_address:
          type: string
          title: Account Address
      type: object
      required:
      - account_address
      title: Response
    CrossChainBridgeAsset:
      oneOf:
      - $ref: '#/components/schemas/CrossChainBridgeNativeAsset'
      - $ref: '#/components/schemas/CrossChainBridgeFungibleAsset'
      - $ref: '#/components/schemas/CrossChainBridgeNonFungibleAsset'
      discriminator:
        propertyName: type
        mapping:
          NATIVE: '#/components/schemas/CrossChainBridgeNativeAsset'
          FUNGIBLE: '#/components/schemas/CrossChainBridgeFungibleAsset'
          NON_FUNGIBLE: '#/components/schemas/CrossChainBridgeNonFungibleAsset'
      title: CrossChainBridgeAsset
      description: The asset the recipient will receive on the destination chain.
    SuiValidationFeatureType:
      type: string
      enum:
      - Benign
      - Warning
      - Malicious
      - Info
      title: ValidationFeatureType
    SuiAddressScanRequestSchema:
      properties:
        address:
          type: string
          title: Address
        chain:
          $ref: '#/components/schemas/SuiChain'
      type: object
      required:
      - address
      - chain
      title: AddressScanRequestSchema
    SuiTotalUsdDiffSchema:
      properties:
        in:
          type: number
          title: In
          description: Total incoming USD transfers
        out:
          type: number
          title: Out
          description: Total outgoing USD transfers
        total:
          type: number
          title: Total
          description: Total USD transfers
      type: object
      required:
      - in
      - out
      title: Total USD Diff
    SuiNFTDiffSchema:
      properties:
        usd_price:
          type: number
          title: Usd Price
          description: USD price of the asset
          nullable: true
        summary:
          type: string
          title: Summary
          description: Summarized description of the transfer
          nullable: true
        id:
          type: string
          title: Id
          description: NFT ID of the transfer
      type: object
      required:
      - id
      title: NFT Transfer Details
    routers__chain_agnostic__models__request__Account:
      properties:
        account_id:
          type: string
          title: Account Id
          description: Unique identifier for the account.
        account_creation_timestamp:
          type: string
          format: date-time
          title: Account Creation Timestamp
          description: Timestamp when the account was created.
        user_age:
          type: integer
          exclusiveMinimum: 0.0
          title: User Age
          description: Age of the user in years
        user_country_code:
          type: string
          title: User Country Code
          description: ISO country code of the user's location.
        account_addresses:
          items:
            type: string
          type: array
          title: Account Addresses
          description: 'List of all account addresses in different chains based on the CAIPs standard (https://github.com/ChainAgnostic/CAIPs). Ethereum mainnet example: eip155:1:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb'
      type: object
      required:
      - account_id
      title: Account
    SuiInAppRequestMetadata:
      properties:
        type:
          type: string
          const: in_app
          title: Type
          description: Metadata for in-app requests
          default: in_app
        account:
          allOf:
          - $ref: '#/components/schemas/routers__chain_agnostic__models__request__Account'
          title: Account
          description: Account information associated with the request
        connection:
          allOf:
          - $ref: '#/components/schemas/routers__chain_agnostic__models__request__Connection'
          title: Connection
          description: Connection metadata including user agent and IP information
      type: object
      title: In-App Request Metadata
    SuiResultType:
      type: string
      enum:
      - Benign
      - Spam
      - Warning
      - Malicious
      title: ResultType
    SuiSimulationResult:
      properties:
        status:
          type: string
          const: Success
          title: Status
        assets_diffs:
          additionalProperties:
            items:
              anyOf:
              - $ref: '#/components/schemas/SuiNativeAssetDiff'
                docs_api_name: NativeAssetDiff
                title: Native asset Diff
              - $ref: '#/components/schemas/SuiNFTAsse

# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/blockaid/refs/heads/main/openapi/blockaid-sui-api-openapi.yml