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

# Agent Check

> Check a counterparty agent's wallet: sanctions, balance, ERC-8004 identity, wallet risk, open feedback.



## OpenAPI

````yaml /api-reference/openapi.json post /v1/agent/check
openapi: 3.1.0
info:
  title: Limitguard.ai
  description: >-
    Lead validation API: the company behind each lead checked against the NL and
    BE business registers, EU VAT and sanctions lists, plus company, KYB and
    agent wallet checks for developers and AI agents
  version: 0.1.0
servers:
  - url: https://api.limitguard.ai
security: []
paths:
  /v1/agent/check:
    post:
      tags:
        - agent
      summary: Agent Check
      description: >-
        Check a counterparty agent's wallet: sanctions, balance, ERC-8004
        identity, wallet risk, open feedback.
      operationId: agent_check_v1_agent_check_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentCheckRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentCheckResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - APIKeyHeader: []
components:
  schemas:
    AgentCheckRequest:
      properties:
        wallet:
          type: string
          title: Wallet
          description: EVM wallet address (0x + 40 hex characters). Read on Base.
          examples:
            - '0x4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b'
        agent_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Agent Id
          description: >-
            Optional ERC-8004 agentId (decimal) the wallet claims. When given,
            the check reads that agent's owner and payment wallet and says
            whether this wallet is one of them.
          examples:
            - '1'
        domain:
          anyOf:
            - type: string
              maxLength: 253
            - type: 'null'
          title: Domain
          description: >-
            Optional website domain the agent gives for itself (e.g.
            example.com). Reported with WHOIS age, mail records and TLS
            certificate; never read by the verdict.
          examples:
            - example.com
      additionalProperties: false
      type: object
      required:
        - wallet
      title: AgentCheckRequest
      description: An EVM wallet, and optionally the ERC-8004 agent id it claims.
    AgentCheckResponse:
      properties:
        wallet:
          type: string
          title: Wallet
        chain_id:
          type: string
          title: Chain Id
        verdict:
          type: string
          enum:
            - block
            - review
            - no_findings
          title: Verdict
        verdict_reasons:
          items:
            type: string
          type: array
          title: Verdict Reasons
        ran:
          items:
            type: string
          type: array
          title: Ran
        did_not_run:
          items:
            $ref: '#/components/schemas/SkippedComponent'
          type: array
          title: Did Not Run
        sanctions:
          $ref: '#/components/schemas/SanctionsComponent'
        balance:
          $ref: '#/components/schemas/BalanceComponent'
        identity:
          $ref: '#/components/schemas/IdentityComponent'
        reputation:
          $ref: '#/components/schemas/ReputationComponent'
        wallet_risk:
          $ref: '#/components/schemas/WalletRiskComponent'
        domain:
          $ref: '#/components/schemas/DomainComponent'
        schema_version:
          type: string
          const: agent-check-v1
          title: Schema Version
          default: agent-check-v1
        checked_at:
          type: string
          title: Checked At
      additionalProperties: false
      type: object
      required:
        - wallet
        - chain_id
        - verdict
        - verdict_reasons
        - ran
        - did_not_run
        - sanctions
        - balance
        - identity
        - reputation
        - wallet_risk
        - domain
        - checked_at
      title: AgentCheckResponse
      description: 'The bundle: one verdict, and each component with its own status.'
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    SkippedComponent:
      properties:
        component:
          type: string
          title: Component
        reason:
          type: string
          title: Reason
      additionalProperties: false
      type: object
      required:
        - component
        - reason
      title: SkippedComponent
    SanctionsComponent:
      properties:
        status:
          type: string
          enum:
            - ok
            - unavailable
            - error
            - not_requested
          title: Status
        reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Reason
        hit:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Hit
        lists:
          items:
            type: string
          type: array
          title: Lists
          default: []
        programs:
          items:
            type: string
          type: array
          title: Programs
          default: []
        list_as_of:
          anyOf:
            - type: string
            - type: 'null'
          title: List As Of
        list_status:
          anyOf:
            - type: string
            - type: 'null'
          title: List Status
      additionalProperties: false
      type: object
      required:
        - status
      title: SanctionsComponent
      description: OFAC SDN digital-currency address list match for the wallet.
    BalanceComponent:
      properties:
        status:
          type: string
          enum:
            - ok
            - unavailable
            - error
            - not_requested
          title: Status
        reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Reason
        chain_id:
          type: string
          title: Chain Id
        balance_usdc:
          anyOf:
            - type: number
            - type: 'null'
          title: Balance Usdc
        balance_native:
          anyOf:
            - type: number
            - type: 'null'
          title: Balance Native
      additionalProperties: false
      type: object
      required:
        - status
        - chain_id
      title: BalanceComponent
      description: USDC and native (ETH) balance of the wallet on the deployed Base chain.
    IdentityComponent:
      properties:
        status:
          type: string
          enum:
            - ok
            - unavailable
            - error
            - not_requested
          title: Status
        reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Reason
        registry:
          type: string
          const: erc8004
          title: Registry
          default: erc8004
        wallet_agent_ids:
          items:
            type: string
          type: array
          title: Wallet Agent Ids
          default: []
        agent_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Agent Id
        agent_registered:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Agent Registered
        agent_owner:
          anyOf:
            - type: string
            - type: 'null'
          title: Agent Owner
        agent_wallet:
          anyOf:
            - type: string
            - type: 'null'
          title: Agent Wallet
        wallet_controls_agent:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Wallet Controls Agent
      additionalProperties: false
      type: object
      required:
        - status
      title: IdentityComponent
      description: ERC-8004 identity registration of the wallet, and of the given agent id.
    ReputationComponent:
      properties:
        status:
          type: string
          enum:
            - ok
            - unavailable
            - error
            - not_requested
          title: Status
        reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Reason
        note:
          type: string
          title: Note
        agents:
          items:
            $ref: '#/components/schemas/AgentReputation'
          type: array
          title: Agents
          default: []
      additionalProperties: false
      type: object
      required:
        - status
        - note
      title: ReputationComponent
      description: Open ERC-8004 feedback. Reported only; never read by the verdict.
    WalletRiskComponent:
      properties:
        status:
          type: string
          enum:
            - ok
            - unavailable
            - error
            - not_requested
          title: Status
        reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Reason
        risk_score:
          anyOf:
            - type: integer
            - type: 'null'
          title: Risk Score
        risk_level:
          anyOf:
            - type: string
            - type: 'null'
          title: Risk Level
        rules_fired:
          items:
            type: string
          type: array
          title: Rules Fired
          default: []
      additionalProperties: false
      type: object
      required:
        - status
      title: WalletRiskComponent
      description: The wallet screen's own risk score and the named rules that fired.
    DomainComponent:
      properties:
        status:
          type: string
          enum:
            - ok
            - unavailable
            - error
            - not_requested
          title: Status
        reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Reason
        domain:
          anyOf:
            - type: string
            - type: 'null'
          title: Domain
        probes:
          anyOf:
            - $ref: '#/components/schemas/DomainProbes'
            - type: 'null'
        domain_age_days:
          anyOf:
            - type: integer
            - type: 'null'
          title: Domain Age Days
        domain_expires_at:
          anyOf:
            - type: string
            - type: 'null'
          title: Domain Expires At
        has_mx:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Has Mx
        has_spf:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Has Spf
        has_dmarc:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Has Dmarc
        ssl_valid:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Ssl Valid
        ssl_issuer:
          anyOf:
            - type: string
            - type: 'null'
          title: Ssl Issuer
        web_score:
          anyOf:
            - type: integer
            - type: 'null'
          title: Web Score
      additionalProperties: false
      type: object
      required:
        - status
      title: DomainComponent
      description: >-
        WHOIS (RDAP) age, DNS mail records and TLS certificate of the domain the
        caller gave.


        Reported only; never read by the verdict. A field whose probe got no
        answer is None,

        never False.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    AgentReputation:
      properties:
        agent_id:
          type: string
          title: Agent Id
        feedback_count:
          type: integer
          title: Feedback Count
        distinct_clients:
          type: integer
          title: Distinct Clients
        clients_capped:
          type: boolean
          title: Clients Capped
        top_tags:
          items:
            $ref: '#/components/schemas/ReputationTag'
          type: array
          title: Top Tags
          default: []
      additionalProperties: false
      type: object
      required:
        - agent_id
        - feedback_count
        - distinct_clients
        - clients_capped
      title: AgentReputation
      description: >-
        Open ERC-8004 feedback summary for one agent id. Descriptive, never
        scored.
    DomainProbes:
      properties:
        whois:
          type: string
          enum:
            - ok
            - unavailable
          title: Whois
        dns:
          type: string
          enum:
            - ok
            - unavailable
          title: Dns
        ssl:
          type: string
          enum:
            - ok
            - unavailable
          title: Ssl
      additionalProperties: false
      type: object
      required:
        - whois
        - dns
        - ssl
      title: DomainProbes
      description: 'Each probe''s own status: "unavailable" when it got no answer.'
    ReputationTag:
      properties:
        tag:
          type: string
          title: Tag
        count:
          type: integer
          title: Count
        avg:
          type: number
          title: Avg
      additionalProperties: false
      type: object
      required:
        - tag
        - count
        - avg
      title: ReputationTag
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.