> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hashdit.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Address Poisoning Detection

> Provides contextual analysis of addresses and tokens to detect spoofing-based poisoning attacks. Evaluates whether an address or token is dangerous in the context of a specific user and asset.



## OpenAPI

````yaml POST /v2/hashdit/address-poisoning
openapi: 3.1.0
info:
  title: HashDit API
  description: >-
    HashDit threat intelligence API for domain security analysis, blockchain
    address classification, address poisoning detection, address security
    assessment, transaction simulation, transaction security, token security,
    and Solana token security
  version: 2.0.0
servers:
  - url: https://service.hashdit.io
security: []
paths:
  /v2/hashdit/address-poisoning:
    post:
      summary: Address Poisoning Detection
      description: >-
        Provides contextual analysis of addresses and tokens to detect
        spoofing-based poisoning attacks. Evaluates whether an address or token
        is dangerous in the context of a specific user and asset.
      operationId: addressPoisoning
      parameters:
        - name: X-API-Key
          in: header
          description: Your HashDit API key
          required: true
          schema:
            type: string
      requestBody:
        description: Address and token context for poisoning analysis
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddressPoisoningRequest'
            examples:
              Safe Transaction:
                summary: Safe transaction example
                value:
                  chainId: '56'
                  userAddress: '0x938915fd4b7c188a211113ed655ae2218c334146'
                  address: '0x0000000000000000000000000000000000000000'
                  tokenAddress: '0x0000000000000000000000000000000000000000'
              Address Spoofing Attack:
                summary: Address spoofing attack example
                value:
                  chainId: '56'
                  userAddress: '0x938915fd4b7c188a21ad73ed655ae1f18c334146'
                  address: '0x938915fd4b00000000000000000ae1f18c334146'
                  tokenAddress: '0x0000000000000000000000000000000000000000'
              Token Spoofing Attack:
                summary: Token spoofing attack example
                value:
                  chainId: '56'
                  userAddress: '0x938915fd4b7c188a211113ed655ae2218c334146'
                  address: '0x0000000000000000000000000000000000000000'
                  tokenAddress: '0x55d39f326f99059ff775485246999027b3197956'
              Known Poisoning Address:
                summary: Known poisoning address example
                value:
                  chainId: '56'
                  userAddress: '0x938915fd4b7c188a211113ed655ae2218c334146'
                  address: '0x3f83818413214230bdbb365672e23c01785bf360'
                  tokenAddress: '0x0000000000000000000000000000000000000000'
              Multiple Threats Detected:
                summary: Multiple threats detected example
                value:
                  chainId: '56'
                  userAddress: '0x938915fd4b7c188a211113ed655ae2218c334146'
                  address: '0x3f83818413214230bdbb365672e23c01785bf360'
                  tokenAddress: '0x55d39f326f99059ff775485246999027b3197956'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressPoisoningResponse'
              examples:
                Safe Transaction:
                  summary: Safe transaction response
                  value:
                    code: '0'
                    status: ok
                    pollAfter: null
                    data:
                      target_address:
                        is_poisoning: '0'
                        mimics_user: '0'
                      token_address:
                        is_poisoning: '0'
                        mimics_top_token: '0'
                        matched_token: ''
                      user_address_input: '0x938915fd4b7c188a21ad73ed655ae1f18c334146'
                      target_address_input: '0x0000000000000000000000000000000000000000'
                      token_address_input: '0x0000000000000000000000000000000000000000'
                    property: null
                Address Spoofing Attack:
                  summary: Address spoofing attack response
                  value:
                    code: '0'
                    status: ok
                    pollAfter: null
                    data:
                      target_address:
                        is_poisoning: '1'
                        mimics_user: '1'
                      token_address:
                        is_poisoning: '0'
                        mimics_top_token: '0'
                        matched_token: ''
                      user_address_input: '0x938915fd4b7c188a21ad73ed655ae1f18c334146'
                      target_address_input: '0x938915fd4b00000000000000000ae1f18c334146'
                      token_address_input: '0x0000000000000000000000000000000000000000'
                    property: null
                Token Spoofing Attack:
                  summary: Token spoofing attack response
                  value:
                    code: '0'
                    status: ok
                    pollAfter: null
                    data:
                      target_address:
                        is_poisoning: '0'
                        mimics_user: '0'
                      token_address:
                        is_poisoning: '1'
                        mimics_top_token: '1'
                        matched_token: BSC-USD (Binance-Peg BSC-USD
                      user_address_input: '0x938915fd4b7c188a21ad73ed655ae1f18c334146'
                      target_address_input: '0x0000000000000000000000000000000000000000'
                      token_address_input: '0x55d39f326f99059ff775485246999027b3197956'
                    property: null
                Known Poisoning Address:
                  summary: Known poisoning address response
                  value:
                    code: '0'
                    status: ok
                    pollAfter: null
                    data:
                      target_address:
                        is_poisoning: '1'
                        mimics_user: '0'
                      token_address:
                        is_poisoning: '0'
                        mimics_top_token: '0'
                        matched_token: ''
                      user_address_input: '0x938915fd4b7c188a211113ed655ae2218c334146'
                      target_address_input: '0x3f83818413214230bdbb365672e23c01785bf360'
                      token_address_input: '0x0000000000000000000000000000000000000000'
                    property: null
                Multiple Threats Detected:
                  summary: Multiple threats detected response
                  value:
                    code: '0'
                    status: ok
                    pollAfter: null
                    data:
                      target_address:
                        is_poisoning: '1'
                        mimics_user: '0'
                      token_address:
                        is_poisoning: '1'
                        mimics_top_token: '1'
                        matched_token: BSC-USD (Binance-Peg BSC-USD
                      user_address_input: '0x938915fd4b7c188a211113ed655ae2218c334146'
                      target_address_input: '0x3f83818413214230bdbb365672e23c01785bf360'
                      token_address_input: '0x55d39f326f99059ff775485246999027b3197956'
                    property: null
        '400':
          description: Bad request or unsupported chain
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Unsupported chain:
                  summary: Unsupported chain error
                  value:
                    code: '400'
                    status: 'unsupported chain: 990'
                    pollAfter: null
                    data: null
                    property: null
        '401':
          description: Unauthorized - Invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidAPIKey401ErrorResponse'
              examples:
                Invalid API key:
                  summary: Invalid API key error
                  value:
                    code: '401'
                    message: 'invalid apiKey: apiKey invalid'
                    apiKey: ''
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitExceededErrorResponse'
              examples:
                Rate limit exceeded:
                  summary: Rate limit exceeded error
                  value:
                    code: '429'
                    status: error
                    message: Rate limit exceeded
components:
  schemas:
    AddressPoisoningRequest:
      type: object
      required:
        - chainId
        - address
        - userAddress
        - tokenAddress
      properties:
        chainId:
          type: string
          description: >-
            The network chain ID. See [Supported
            Chains](/api-reference/endpoint/address-poisoning/supported-chains)
            for a complete list of supported networks.
          example: '56'
        userAddress:
          type: string
          description: User's own wallet address (hex format).
          example: '0x938915fd4b7c188a211113ed655ae2218c334146'
        address:
          type: string
          description: Target address to be analyzed (hex format).
          example: '0x938915fd4b7c188a21ad73ed655ae1f18c334146'
        tokenAddress:
          type: string
          description: Token contract address involved (hex format).
          example: '0x55d39f326f99059ff775485246999027b3197956'
    AddressPoisoningResponse:
      type: object
      properties:
        code:
          type: string
          description: Response code. `0` indicates success.
          example: '0'
        status:
          type: string
          description: Response status. `ok` indicates successful operation.
          example: ok
        pollAfter:
          type: object
          nullable: true
          description: Reserved for future use.
        data:
          $ref: '#/components/schemas/AddressPoisoningData'
        property:
          type: object
          nullable: true
          description: Reserved for future use.
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
          description: '`400`'
        status:
          type: string
          description: Error status
    InvalidAPIKey401ErrorResponse:
      type: object
      properties:
        code:
          type: string
          description: '`401`'
        message:
          type: string
          description: 'invalid apiKey: apiKey invalid'
        apiKey:
          type: string
          description: API key
          example: ''
    RateLimitExceededErrorResponse:
      type: object
      properties:
        code:
          type: string
          description: '`429`'
        status:
          type: string
          description: error
        message:
          type: string
          description: Rate limit exceeded
    AddressPoisoningData:
      type: object
      properties:
        target_address:
          type: object
          properties:
            is_poisoning:
              type: string
              description: >-
                `1`: Target address is flagged as poisoning by threat
                intelligence.

                `0`: Not flagged.
              enum:
                - '0'
                - '1'
            mimics_user:
              type: string
              description: |-
                `1`: Target address visually mimics the user's address. 
                `0`: No spoofing detected.
              enum:
                - '0'
                - '1'
        token_address:
          type: object
          properties:
            is_poisoning:
              type: string
              description: |-
                `1`: Token is flagged as poisoning. 
                `0`: Not flagged.
              enum:
                - '0'
                - '1'
            mimics_top_token:
              type: string
              description: |-
                `1`: Token mimics a famous/trusted token on the market. 
                `0`: No spoofing detected.
              enum:
                - '0'
                - '1'
            matched_token:
              type: string
              description: |-
                Name of the famous token being mimicked. 
                (Only available when mimics_top_token = `1`)
        user_address_input:
          type: string
          description: Echoed `userAddress` from request.
        target_address_input:
          type: string
          description: Echoed `address` from request.
        token_address_input:
          type: string
          description: Echoed `tokenAddress` from request.

````