> ## 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: KYB and Sanctions Screening API - Entity verification and risk scoring
  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
      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.