> ## 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 Classification

> Classifies a blockchain address by type and behavior. The API identifies whether an address is an externally owned account (EOA) or contract, determines contract characteristics (e.g. proxy patterns), and provides verification and token standard metadata.



## OpenAPI

````yaml POST /v2/hashdit/address-classify
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-classify:
    post:
      summary: Address Classification
      description: >-
        Classifies a blockchain address by type and behavior. The API identifies
        whether an address is an externally owned account (EOA) or contract,
        determines contract characteristics (e.g. proxy patterns), and provides
        verification and token standard metadata.
      operationId: addressClassify
      parameters:
        - name: X-API-Key
          in: header
          description: Your HashDit API key
          required: true
          schema:
            type: string
      requestBody:
        description: Blockchain address to classify
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddressClassifyRequest'
            examples:
              ERC-20 Token:
                summary: ERC20 token example
                value:
                  chainId: '56'
                  address: '0x55d398326f99059ff775485246999027b3197955'
              Proxy Contract:
                summary: Proxy contract example
                value:
                  chainId: '56'
                  address: '0x40af3827F39D0EAcBF4A168f8D4ee67c121D11c9'
              Externally Owned Address:
                summary: EOA (Externally Owned Address) example
                value:
                  chainId: '56'
                  address: '0x000000000000000000000000000000000000dead'
              Unverified Contract:
                summary: Unverified contract example
                value:
                  chainId: '56'
                  address: '0x6ce880bd41b0da78eb94da063e9a6b2fd5d721a9'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressClassifyResponse'
              examples:
                ERC-20 Token:
                  summary: ERC20 token response
                  value:
                    code: '0'
                    status: ok
                    data:
                      address: bsc:0x55d398326f99059ff775485246999027b3197955
                      address_type: Contract
                      classification: ERC20
                      classification_id: 101
                      details:
                        is_verified: true
                        proxy_impl_address: ''
                        proxy_impl_type: ''
                      is_erc20: '1'
                      scanned_time: 1766048799
                      status: 200
                      timestamp: '2025-12-18T09:06:43.166765'
                      verify_status: verified
                Proxy Contract:
                  summary: Proxy contract response
                  value:
                    code: '0'
                    status: ok
                    data:
                      address: bsc:0x40af3827f39d0eacbf4a168f8d4ee67c121d11c9
                      address_type: Contract
                      classification: Proxy
                      classification_id: 5
                      details:
                        is_verified: true
                        proxy_impl_address: '0x0d7adc70a18a5aef0bd6ecb098e1da0244c57711'
                        proxy_impl_type: ERC20
                      is_erc20: '1'
                      scanned_time: 1763479290
                      status: 200
                      timestamp: '2025-11-18T15:21:34.616086'
                      verify_status: verified
                Externally Owned Address:
                  summary: EOA (Externally Owned Address) response
                  value:
                    code: '0'
                    status: ok
                    data:
                      address: bsc:0x000000000000000000000000000000000000dead
                      address_type: EOA
                      classification: EOA
                      classification_id: -1
                      details:
                        is_verified: false
                        proxy_impl_address: ''
                        proxy_impl_type: ''
                      is_erc20: '0'
                      scanned_time: 1763166063
                      status: 200
                      timestamp: '2025-11-15T00:21:08.740209'
                Unverified Contract:
                  summary: Unverified contract response
                  value:
                    code: '0'
                    status: ok
                    data:
                      address: bsc:0x6ce880bd41b0da78eb94da063e9a6b2fd5d721a9
                      address_type: Contract
                      classification: Unverified
                      classification_id: 2
                      details:
                        is_verified: false
                        proxy_impl_address: ''
                        proxy_impl_type: ''
                      is_erc20: '0'
                      scanned_time: 1766103184
                      status: 200
                      timestamp: '2025-12-19T00:13:08.908724'
                      verify_status: unverified
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Unauthorized - Invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidAPIKeyErrorResponse'
              examples:
                Invalid API key:
                  summary: Invalid API key error
                  value:
                    code: '403'
                    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:
    AddressClassifyRequest:
      type: object
      required:
        - chainId
        - address
      properties:
        chainId:
          type: string
          description: >-
            The network chain ID. See [Supported
            Chains](/api-reference/endpoint/address-classify/supported-chains)
            for a complete list of supported network for this endpoint.
          example: '56'
        address:
          type: string
          description: The blockchain address to classify.
          example: '0x01bff41798a0bcf287b996046ca68b395dbc1071'
    AddressClassifyResponse:
      type: object
      properties:
        code:
          type: string
          description: API status code. "0" indicates success.
          example: '0'
        status:
          type: string
          description: Request status.
          example: ok
        data:
          $ref: '#/components/schemas/AddressClassifyData'
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
          description: '`400`'
        status:
          type: string
          description: Error status
    InvalidAPIKeyErrorResponse:
      type: object
      properties:
        code:
          type: string
          description: '`403`'
        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
    AddressClassifyData:
      type: object
      properties:
        address:
          type: string
          description: Fully qualified address with chain prefix.
          example: bsc:0x01bff41798a0bcf287b996046ca68b395dbc1071
        address_type:
          type: string
          description: Address category.
          enum:
            - Contract
            - EOA
        classification:
          type: string
          description: High-level contract classification.
          enum:
            - ERC20
            - Proxy
            - Verified
            - Unverified
        classification_id:
          type: number
          description: Internal classification identifier.
        details:
          $ref: '#/components/schemas/AddressClassifyDetails'
        is_erc20:
          type: string
          description: >-
            Indicates whether the contract follows the ERC-20 standard (1 =
            yes).
          enum:
            - '1'
            - '0'
        scanned_time:
          type: number
          description: Unix timestamp when the address was last analyzed.
        status:
          type: number
          description: HTTP-style status code for the classification result.
        timestamp:
          type: string
          description: ISO 8601 timestamp of the last time when the result was updated.
          example: '2025-12-18T09:08:44.067312'
        verify_status:
          type: string
          description: Verification status of the contract (e.g. verified).
          enum:
            - verified
            - unverified
    AddressClassifyDetails:
      type: object
      properties:
        is_verified:
          type: boolean
          description: Whether the contract source code is verified.
          example: true
        proxy_impl_address:
          type: string
          description: Implementation contract address if the contract is a proxy.
          example: '0xb8ce59fc3717ada4c02eadf9682a9e934f625ebb'
        proxy_impl_type:
          type: string
          description: Token or contract standard of the proxy implementation.
          example: ERC20

````