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

# Scan EIP-712 Signed Message for Security Risks

> Analyzes an EIP-712 typed data signature for security risks including malicious domains, suspicious contracts, and potential phishing attempts. Supports Ethereum (1), BSC (56), Polygon (137), Optimism (10), Arbitrum (42161), and Base (8453). The chain is determined by the chainId field in the EIP-712 domain.



## OpenAPI

````yaml POST /scan/{fromAddress}/eip712
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:
  /scan/{fromAddress}/eip712:
    post:
      tags:
        - Transaction Scanning
      summary: Scan EIP-712 Signed Message for Security Risks
      description: >-
        Analyzes an EIP-712 typed data signature for security risks including
        malicious domains, suspicious contracts, and potential phishing
        attempts. Supports Ethereum (1), BSC (56), Polygon (137), Optimism (10),
        Arbitrum (42161), and Base (8453). The chain is determined by the
        chainId field in the EIP-712 domain.
      operationId: scanEip712
      parameters:
        - name: fromAddress
          in: path
          required: true
          description: EVM address that will sign the message
          schema:
            type: string
          example: '0x742d35Cc6634C0532925a3b8D400E20257D8D4d7'
        - in: query
          name: refreshCache
          description: Force refresh cached risk data
          required: false
          schema:
            type: boolean
            default: false
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                msg:
                  type: object
                  description: EIP-712 message structure
                  properties:
                    from:
                      type: string
                      description: Address that will sign the message
                    data:
                      type: object
                      description: EIP-712 typed data structure
                      properties:
                        types:
                          type: object
                          description: Type definitions for the structured data
                        primaryType:
                          type: string
                          description: Primary type being signed
                          example: SafeTx
                        domain:
                          type: object
                          description: EIP-712 domain separator
                          properties:
                            name:
                              type: string
                              description: Domain name (optional)
                              example: Gnosis Safe
                            version:
                              type: string
                              description: Domain version (optional)
                              example: '1.0'
                            chainId:
                              oneOf:
                                - type: integer
                                - type: string
                              description: >-
                                Chain ID as a number (can be passed as number or
                                string). Supported values: 1 (Ethereum), 56
                                (BSC), 137 (Polygon), 10 (Optimism), 42161
                                (Arbitrum), 8453 (Base)
                              enum:
                                - 1
                                - 56
                                - 137
                                - 10
                                - 42161
                                - 8453
                              example: 1
                            verifyingContract:
                              type: string
                              description: Contract address (optional)
                              example: '0x1234567890123456789012345678901234567890'
                          required:
                            - chainId
                        message:
                          type: object
                          description: The message data to be signed
                      required:
                        - types
                        - primaryType
                        - domain
                        - message
                  required:
                    - from
                    - data
                domain:
                  type: string
                  description: Optional domain URL
                block:
                  type: integer
                  description: Optional block number
              required:
                - msg
            example:
              msg:
                from: '0x6535d5F76F021FE65E2ac73D086dF4b4Bd7ee5D9'
                data:
                  types:
                    EIP712Domain:
                      - name: chainId
                        type: uint256
                      - name: verifyingContract
                        type: address
                    SafeTx:
                      - name: to
                        type: address
                      - name: value
                        type: uint256
                      - name: data
                        type: bytes
                      - name: operation
                        type: uint8
                      - name: safeTxGas
                        type: uint256
                      - name: baseGas
                        type: uint256
                      - name: gasPrice
                        type: uint256
                      - name: gasToken
                        type: address
                      - name: refundReceiver
                        type: address
                      - name: nonce
                        type: uint256
                  primaryType: SafeTx
                  domain:
                    chainId: 1
                    verifyingContract: '0xA77DE01e157f9f57C7c4A326eeE9C4874D0598b6'
                  message:
                    to: '0xfbffef83b1c172fe3bc86c1ccb036ab9f3efcaf2'
                    value: '0'
                    data: >-
                      0x804e1f0a000000000000000000000000ef279c2ab14960aa319008cbea384b9f8ac35fc6
                    operation: 1
                    baseGas: '0'
                    gasPrice: '0'
                    gasToken: '0x0000000000000000000000000000000000000000'
                    refundReceiver: '0x0000000000000000000000000000000000000000'
                    nonce: 42
                    safeTxGas: '0'
      responses:
        '200':
          description: EIP-712 message risk analysis completed successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  simulation:
                    type: object
                    description: EIP-712 message analysis results
                    properties:
                      domainRisk:
                        type: object
                        description: Domain risk analysis (if domain provided)
                      partyRisk:
                        type: object
                        description: Contract address risk analysis
                      counterpartyRisk:
                        type: object
                        description: Recipient address risk analysis
                      functionRisk:
                        type: object
                        description: >-
                          Function signature risk analysis (if risky signature
                          detected)
                        properties:
                          selector:
                            type: string
                            description: 4-byte function selector
                          functionName:
                            type: string
                            description: Function name
                          signature:
                            type: string
                            description: Full function signature
                          riskLevel:
                            type: string
                            enum:
                              - low
                              - medium
                              - high
                          category:
                            type: string
                            description: Risk category
                          description:
                            type: string
                            description: Risk description
                          risks:
                            type: array
                            items:
                              type: string
                            description: Contextual risk warnings for Safe operations
                          safeOperation:
                            type: string
                            description: Safe operation type (Call, DelegateCall, Create)
                          safeMlScore:
                            type: number
                            description: >-
                              ML-based maliciousness score for Gnosis Safe
                              transactions (0-1, higher is more suspicious)
                  block:
                    type: integer
                    description: Current block number
                  timestamp:
                    type: string
                    format: date-time
                    description: Timestamp of the scan
                  chain:
                    type: string
                    description: Chain identifier
                    example: eth
        '400':
          description: >-
            Invalid request parameters (wrong chain, invalid address, or
            malformed EIP-712 data)
          content:
            application/json:
              examples:
                missingChain:
                  value:
                    message: Chain parameter is required
                missingDomain:
                  value:
                    message: 'Invalid request body: Missing msg.data.domain!'
                missingMessageOrTypes:
                  value:
                    message: >-
                      Invalid request body: Missing msg.data.message or
                      msg.data.types!
        '401':
          $ref: '#/components/responses/UnauthorizedError'
      security:
        - api_key: []
components:
  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

````