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

# Get a Real-Time Analysis for a Given Contract Address

> Perform real-time security analysis on a smart contract including vulnerability detection



## OpenAPI

````yaml GET /contracts/{contractAddress}
openapi: 3.0.1
info:
  title: Risk Score API
  description: API definition for Webacy Risk Scores
  version: 1.2.0
servers:
  - url: https://api.webacy.com
    description: Webacy Risk Score API (Production)
  - url: https://api-development.webacy.com
    description: Webacy Risk Score API (Development)
  - url: http://0.0.0.0:3030/api/v1/risk-score
    description: Webacy Risk Score API - Local
security:
  - api_key: []
tags:
  - name: Threat Risks
    description: Analyze addresses for security threats and malicious activity
  - name: Sanction Checks
    description: Check addresses against OFAC and other sanction lists
  - name: Approval Risks
    description: Analyze token approvals and associated risks
  - name: Transaction Risks
    description: Assess risk details for blockchain transactions
  - name: Exposure Risk
    description: Understand risk profile and exposure of addresses
  - name: Contract Risk
    description: Real-time smart contract security analysis
  - name: URL Risks
    description: Analyze URLs for phishing and security threats
  - name: API Usage
    description: Monitor and manage API consumption
  - name: Holder Analysis
    description: Token holder distribution and sniper detection
  - name: Address Poisoning
    description: Detect address poisoning attack patterns
  - name: Token Analysis
    description: Comprehensive token security and market analysis
  - name: Pool Analysis
    description: Liquidity pool data and analysis
  - name: Transaction Scanning
    description: Scan and simulate transactions for risks
  - name: trading-lite
    description: Lightweight trading risk assessment
  - name: RWA & Pegged Tokens
    description: >-
      Real-world asset and pegged-token analytics (supply flows, mint/burn
      velocity)
  - name: Vault Risk v3
    description: >-
      Webacy-native v3 vault risk surface — composite grade, categories,
      coverage, and the framework taxonomy (RFC-019).
  - name: RWA Risk v3
    description: >-
      Webacy-native v3 RWA / stablecoin risk surface — composite grade,
      structural-health criteria, and batch (RFC-019).
paths:
  /contracts/{contractAddress}:
    get:
      tags:
        - Contract Risk
      summary: Get a real-time analysis for a given contract address
      description: >-
        Perform real-time security analysis on a smart contract including
        vulnerability detection
      operationId: getContractRisk
      parameters:
        - name: contractAddress
          in: path
          description: contract address
          required: true
          schema:
            type: string
        - in: query
          name: chain
          description: >-
            Selected chain. This includes 'eth', 'base', 'bsc', 'pol', 'opt' and
            'arb'.
          schema:
            $ref: '#/components/schemas/ChainType'
        - in: query
          name: fromBytecode
          description: >-
            Does full bytecode analysis on unverified contracts. The full scan
            can take up to several minutes. To retrieve the final results,
            either refresh this endpoint, or supply a callback URL for which
            results will be posted every 5 seconds.
          schema:
            type: boolean
        - in: query
          name: refreshCache
          description: Re-analyze contract address and retrieve fresh data.
          schema:
            type: boolean
        - in: query
          name: callback
          description: >-
            Returns asynchronous response from bytecode analysis. This callback
            will be called every 5 seconds with any new data found until the
            full analysis has been completed. If an analysis is already
            completed, the callback will not be called.
          schema:
            type: string
        - in: query
          name: deployer_risk
          required: false
          description: >-
            Analyze the deployer address for risks and include a flag if the
            deployer is risky
          schema:
            type: boolean
        - in: query
          name: hide_trust_flags
          description: >-
            Boolean to determine whether to hide trust-related flags from the
            response
          schema:
            type: boolean
          required: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/contract'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
      security:
        - api_key: []
components:
  schemas:
    ChainType:
      type: string
      enum:
        - eth
        - base
        - bsc
        - pol
        - opt
        - arb
        - hedera
      description: Supported blockchain networks
    contract:
      type: object
      properties:
        score:
          type: integer
          description: Overall risk score for the contract
          example: 3
        tags:
          type: array
          description: List of tags associated with the contract
          items:
            $ref: '#/components/schemas/tag'
          example:
            centralized_risk_high:
              key: centralized_risk_high
              name: Centralized Risk High
              description: >-
                This contract may have logic that lead us to think it is is a
                drainer.
              tags:
                centralized_risk_high: true
        categories:
          type: array
          description: List of categories associated with the contract
          items:
            $ref: '#/components/schemas/category'
          example:
            contract_possible_drainer:
              key: contract_possible_drainer
              name: Centralized Risk High
              description: >-
                Our detectors have found that this smart contract has
                exploitable logic that can be used to drain funds. This is a
                serious risk and you should avoid interacting with this
                contract.
              tags:
                centralized_risk_high: true
        analysis:
          type: object
          description: List of analyses associated with the contract
          example:
            address_characteristics:
              key: address_characteristics
              name: Wallet Characteristics
              description: >-
                This address may have risk factors related to address age,
                number of transactions, or balance.
              tags:
                insufficient_wallet_age: true
        metadata:
          $ref: '#/components/schemas/TokenMetadata'
          description: >-
            Token metadata information including name, symbol, links, and other
            details
        source_code_analysis:
          oneOf:
            - $ref: '#/components/schemas/SolidityAnalysisResponse'
            - $ref: '#/components/schemas/ErrorResponse'
            - $ref: '#/components/schemas/MessageResponse'
          description: >-
            Source code analysis result if available. May be an analysis
            payload, an error, or an informational message.
        similar_contracts:
          type: array
          description: >-
            List of similar/related contracts discovered during checksum
            comparison
          items:
            type: object
            additionalProperties: true
        analysis_status:
          type: string
          description: Static analysis job status
          example: STARTED
        analysis_type:
          type: string
          description: Type of analysis performed
          example: STATIC
        deployer:
          type: object
          description: >-
            Information about the contract deployer and its risk assessment
            (only returned when deployer_risk=true)
          properties:
            address:
              type: string
              description: The address of the contract deployer
              example: '0xaBA7161A7fb69c88e16ED9f455CE62B791EE4D03'
            risk:
              $ref: '#/components/schemas/addresses'
            deployed_contracts:
              type: array
              description: Contracts deployed by this address (if available)
              items:
                type: object
                additionalProperties: true
    tag:
      type: object
      properties:
        name:
          type: string
          description: Name of the tag
          example: Insufficient Wallet Age
        description:
          type: string
          description: Description of the tag
          example: The age of this wallet or address is new.
        type:
          type: string
          description: Type of the tag
          example: noHistoryRisk
        severity:
          type: integer
          description: Severity of the tag
          example: 3
        key:
          type: string
          description: Key of the tag
          example: insufficient_wallet_age
    category:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/categoryIssue'
    TokenMetadata:
      type: object
      properties:
        name:
          type: string
          description: Name of the token
          example: USD Coin
        symbol:
          type: string
          description: Symbol of the token
          example: USDC
        contract_address:
          type: string
          description: Contract address of the token
          example: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
        chain:
          type: string
          description: The blockchain network where the token resides
          example: eth
        other_chains:
          type: array
          description: List of other chains where this token is deployed
          items:
            type: object
            properties:
              chain:
                type: string
                description: Network identifier
                example: pol
              contract_address:
                type: string
                description: Token address on this network
                example: '0x2791bca1f2de4661ed88a30c99a7a9449aa84174'
        decimals:
          type: integer
          description: Number of decimal places
          example: 6
        links:
          type: object
          description: External resources related to the token
          properties:
            homepage:
              type: string
              description: Project website URL
              example: https://www.circle.com/en/usdc
            github:
              type: array
              description: GitHub repository URLs
              items:
                type: string
              example:
                - https://github.com/centrehq
            twitter:
              type: string
              description: Twitter profile URL
              example: https://twitter.com/circle
            telegram:
              type: string
              description: Telegram channel URL
              example: https://t.me/circle_issuer
        categories:
          type: array
          description: Token categories or tags
          items:
            type: string
          example:
            - stablecoin
            - asset-backed-stablecoin
            - usd-stablecoin
        image_url:
          type: string
          description: URL to token logo image
          example: >-
            https://assets.coingecko.com/coins/images/6319/large/USD_Coin_icon.png
        created_at:
          type: string
          description: Token creation date
          example: '2018-09-26'
        last_updated:
          type: string
          description: Last time this data was updated
          format: date-time
          example: '2023-06-15T12:34:56Z'
      required:
        - name
        - symbol
        - contract_address
        - chain
        - other_chains
        - categories
        - last_updated
    SolidityAnalysisResponse:
      type: object
      properties:
        analysis:
          $ref: '#/components/schemas/AnalysisResponse'
      required:
        - analysis
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
          description: Error message
      required:
        - error
    MessageResponse:
      type: object
      properties:
        message:
          type: string
          description: Informational message
      required:
        - message
    addresses:
      type: object
      properties:
        analyzed_at:
          type: string
          format: date-time
          description: >-
            Timestamp (ISO 8601) of when this address was analyzed. Use this as
            the freshness signal for address risk — this endpoint does not
            return a `stale` flag.
          example: '2026-07-07T03:06:06.986Z'
        count:
          type: integer
          description: Number of transactions
          example: 1
        medium:
          type: integer
          description: Number of medium risk transactions
          example: 1
        high:
          type: integer
          description: Number of high risk transactions
          example: 0
        overallRisk:
          type: number
          description: Overall risk score
          example: 25.99
        issues:
          type: array
          description: List of issues found
          items:
            $ref: '#/components/schemas/issueAddresses'
        details:
          type: object
          description: Detailed analysis information
          properties:
            source_code_analysis:
              $ref: '#/components/schemas/AnalysisResponse'
            multiPlatformAnalysisData:
              $ref: '#/components/schemas/MultiPlatformAnalysisData'
        context:
          type: array
          description: >-
            Contextual information tags that are NOT security risks (e.g., paid
            DexScreener promotional info)
          items:
            $ref: '#/components/schemas/informationalTag'
        isContract:
          type: boolean
          description: >-
            Legacy field indicating if the address has bytecode deployed (true)
            or is an EOA (false). For more detailed classification, use
            addressType. Note: May be true for EIP-7702 delegated EOAs that have
            bytecode but are functionally EOAs. Optional for chains without
            smart contracts (e.g., BTC).
          example: false
        addressType:
          $ref: '#/components/schemas/AddressType'
          description: >-
            Detailed classification of the address type. Indicates whether the
            address is an EOA, smart contract, token, contract wallet, or other
            chain-specific type. For EIP-7702 delegated EOAs, this will be 'EOA'
            even if bytecode exists. May be undefined if classification is
            unavailable.
        tokenStandard:
          $ref: '#/components/schemas/TokenStandard'
          description: >-
            Token standard classification if the address represents a token
            contract (e.g., ERC20, ERC721, SPL). Only populated for token
            addresses. May be undefined for non-token addresses or if standard
            cannot be determined.
    categoryIssue:
      type: object
      properties:
        key:
          type: string
        name:
          type: string
        description:
          type: string
        tags:
          type: object
          additionalProperties:
            type: boolean
    AnalysisResponse:
      type: object
      properties:
        contract_address:
          type: string
          description: Address of the analyzed contract
          example: '0x1234567890123456789012345678901234567890'
        chain:
          type: string
          description: Blockchain network where the contract is deployed
          example: eth
        analysis_date:
          type: string
          format: date-time
          description: Date when the analysis was performed
          example: '2023-11-15T10:30:00Z'
        status:
          type: string
          description: Status of the analysis
          enum:
            - completed
            - in_progress
            - failed
            - pending
          example: completed
        findings:
          type: array
          description: Security analysis findings with associated risk tags
          items:
            $ref: '#/components/schemas/DetectorResult'
        urls:
          type: array
          description: Associated URLs related to the analysis
          items:
            $ref: '#/components/schemas/AnalysisUrl'
      required:
        - contract_address
        - chain
        - analysis_date
        - status
        - findings
        - urls
    issueAddresses:
      type: object
      properties:
        score:
          type: integer
          description: Overall risk score for the issue
          example: 3
        tags:
          type: array
          description: List of tags associated with the issue
          items:
            $ref: '#/components/schemas/tag'
        categories:
          type: array
          description: List of categories associated with the issue
          items:
            $ref: '#/components/schemas/category'
          example:
            address_characteristics:
              key: address_characteristics
              name: Wallet Characteristics
              description: >-
                This address may have risk factors related to address age,
                number of transactions, or balance.
              tags:
                insufficient_wallet_age: true
    MultiPlatformAnalysisData:
      type: object
      description: >-
        Multi-platform token launch analysis for developer migration risk
        assessment
      properties:
        developerAddress:
          type: string
          description: The developer's wallet address
          example: ESoMiyuJ1ksL5L99LjYCcwjt7XR2B7hdn6mkbBDFbadV
        analyzedAt:
          type: string
          format: date-time
          description: Timestamp when analysis was performed
          example: '2025-09-05T18:28:55.907Z'
        platformBreakdown:
          type: object
          description: Analysis breakdown by platform
          additionalProperties:
            $ref: '#/components/schemas/PlatformAnalysisResult'
      required:
        - developerAddress
        - analyzedAt
        - platformBreakdown
    informationalTag:
      type: object
      description: Contextual information tag without severity (not a security risk)
      properties:
        name:
          type: string
          description: Name of the informational tag
          example: Paid Information
        description:
          type: string
          description: Description of the informational tag
          example: >-
            The project has paid to display additional project info on platforms
            like DexScreener
        type:
          type: string
          description: Type of the tag
          example: tokenRisk
        key:
          type: string
          description: Key of the tag
          example: paid-info
    AddressType:
      type: string
      enum:
        - CONTRACT
        - EOA
        - TOKEN
        - CONTRACT_WALLET
        - OBJECT
        - PACKAGE
        - DYNAMIC_FIELD
        - UNKNOWN
      description: >-
        Type classification for blockchain addresses. CONTRACT: Smart contract
        address, EOA: Externally Owned Account (user wallet), TOKEN: Token
        contract, CONTRACT_WALLET: Smart contract wallet (e.g., Gnosis Safe,
        Argent), OBJECT: Sui object, PACKAGE: Sui package, DYNAMIC_FIELD: Sui
        dynamic field, UNKNOWN: Classification unavailable
    TokenStandard:
      type: string
      enum:
        - ERC20
        - ERC1155
        - ERC721
        - SPL
        - NFT
        - JETTON
        - JETTON_WALLET
        - TONNFT
        - UNKNOWN
        - SUI_COIN
        - SUI_NFT
        - STELLAR_ASSET
      description: >-
        Token standard classification for blockchain tokens. ERC20: Ethereum
        fungible token standard, ERC721: Ethereum NFT standard, ERC1155:
        Ethereum multi-token standard, SPL: Solana Program Library token, NFT:
        Solana NFT, JETTON: TON fungible token, JETTON_WALLET: TON jetton wallet
        contract, TONNFT: TON NFT, SUI_COIN: Sui coin standard, SUI_NFT: Sui
        NFT, STELLAR_ASSET: Stellar asset, UNKNOWN: Standard cannot be
        determined
    DetectorResult:
      type: object
      properties:
        risk:
          type: string
          description: Risk tag mapped from the security detector
          example: reentrancy
        details:
          type: object
          description: Detailed information about the detector findings
          additionalProperties: true
        function_signatures:
          type: array
          description: Function signatures where issues were detected
          items:
            $ref: '#/components/schemas/FunctionSignature'
        statements:
          type: array
          description: Specific statements that triggered the detector
          items:
            $ref: '#/components/schemas/Statement'
      required:
        - risk
        - details
        - function_signatures
        - statements
    AnalysisUrl:
      type: object
      properties:
        url:
          type: string
          description: URL related to the analysis
          example: https://example.com/analysis-report
      required:
        - url
    PlatformAnalysisResult:
      type: object
      description: Analysis results for a specific token launch platform
      properties:
        platform:
          type: string
          description: Platform name
          enum:
            - pump_fun
            - moonshot
            - jupiter_lfg
          example: pump_fun
        chains:
          type: array
          description: Supported blockchain chains for this platform
          items:
            type: string
          example:
            - sol
        totalLaunches:
          type: integer
          description: Total number of tokens launched by developer on this platform
          example: 74
        successfulLaunches:
          type: integer
          description: Number of successful token launches
          example: 70
        successRate:
          type: number
          description: Success rate percentage
          example: 94.59
        totalFundsRaised:
          type: number
          description: Total funds raised across all launches
          example: 0
        platformRiskFactors:
          type: array
          description: Risk factors identified for this platform
          items:
            type: string
          example:
            - Tokens consistently fail to gain traction
        tokens:
          type: array
          description: Individual token launch records
          items:
            $ref: '#/components/schemas/TokenLaunchRecord'
      required:
        - platform
        - chains
        - totalLaunches
        - successfulLaunches
        - successRate
        - totalFundsRaised
        - platformRiskFactors
        - tokens
    FunctionSignature:
      type: object
      properties:
        function_name:
          type: string
          description: Name of the function
          example: withdraw
        function_signature:
          type: string
          description: Complete function signature
          example: function withdraw(uint256 amount) external
      required:
        - function_name
        - function_signature
    Statement:
      type: object
      properties:
        statement_type:
          type: string
          description: Type of the statement
          example: call
        statement_text:
          type: string
          description: Text of the statement
          example: 'msg.sender.call{value: amount}("")'
      required:
        - statement_type
        - statement_text
    TokenLaunchRecord:
      type: object
      description: Individual token launch record
      properties:
        tokenAddress:
          type: string
          description: Token contract address
          example: 4wTV1YmiEkRvAtNtsSGPtUrqRYQMe5SKy2uB4Jjaxnjf
        platform:
          type: string
          description: Launch platform
          example: pump_fun
        chain:
          type: string
          description: Blockchain network
          example: sol
        developerAddress:
          type: string
          description: Developer wallet address
          example: ESoMiyuJ1ksL5L99LjYCcwjt7XR2B7hdn6mkbBDFbadV
        successful:
          type: boolean
          description: Whether the launch was successful
          example: true
        status:
          type: string
          description: Launch status
          enum:
            - successful
            - rugged
            - failed
            - abandoned
          example: successful
        name:
          type: string
          description: Token name
          example: Dug the Dog
        symbol:
          type: string
          description: Token symbol
          example: Dug
        launchedAt:
          type: string
          format: date-time
          description: Launch timestamp
          example: '2025-06-27T03:36:23.000Z'
        successMetrics:
          $ref: '#/components/schemas/TokenSuccessMetrics'
      required:
        - tokenAddress
        - platform
        - chain
        - developerAddress
        - successful
        - status
        - launchedAt
    TokenSuccessMetrics:
      type: object
      description: Success metrics for a token launch
      properties:
        criteriaType:
          type: string
          description: Type of success criteria used
          example: bonding_curve_completion
        targetValue:
          type: number
          description: Target value for success
          example: 69000
        achievedValue:
          type: number
          description: Achieved value
          example: 69000
        successPercentage:
          type: number
          description: Success percentage
          example: 100
        liquidityAmount:
          type: number
          description: Liquidity amount
          example: 12000
        migrationDestination:
          type: string
          description: Where liquidity was migrated to
          example: raydium
        additionalMetrics:
          type: object
          description: Additional success metrics
          properties:
            detectionMethod:
              type: string
              description: Method used to detect success
              example: market_cap
          additionalProperties: true
  responses:
    UnauthorizedError:
      description: Authorization information is missing or invalid
      content:
        application/json:
          example:
            message: Unauthorized
  securitySchemes:
    api_key:
      type: apiKey
      in: header
      name: x-api-key

````