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

# Check gate eligibility or proof criteria (server-side)

> Primary server-side integrator endpoint for access control. Pass gateId from your deployed gate, or explicit verifier/criteria filters. Returns eligible plus matched proof references without exposing private proof payloads.



## OpenAPI

````yaml /openapi/public-api.json get /api/v1/proofs/check
openapi: 3.0.3
info:
  title: NEUS API — Public Integrator API
  version: 1.0.0
  description: >-
    Public HTTP API for NEUS integrators.


    Recommended integration order (simplest first):

    1. Browser — VerifyGate widget or hosted verify at
    https://neus.network/verify (wallet, passkey, and OAuth handled by NEUS).

    2. JavaScript — `@neus/sdk` `client.verify()` signs and submits for
    signature-based verifiers; use VerifyGate for hosted/interactive verifiers.

    3. Server gate checks — `GET /api/v1/proofs/check` with `gateId` or criteria
    before granting access.

    4. Raw HTTP — two-phase signing below only when you cannot use the SDK or
    hosted flows.


    Raw HTTP verification uses POST /api/v1/verification/standardize → sign
    signerString → POST /api/v1/verification with the same body plus signature.
    Session-authenticated callers may skip the signature when a valid session is
    present.


    Use your deployment base URL (for example https://api.neus.network). Some
    verifiers require pro access. Administrative endpoints are not included in
    this specification.
  license:
    name: Business Source License 1.1
    url: https://mariadb.com/bsl11/
servers:
  - url: https://api.neus.network
    description: Production API
security: []
paths:
  /api/v1/proofs/check:
    get:
      tags:
        - Proofs
        - Gates
      summary: Check gate eligibility or proof criteria (server-side)
      description: >-
        Primary server-side integrator endpoint for access control. Pass gateId
        from your deployed gate, or explicit verifier/criteria filters. Returns
        eligible plus matched proof references without exposing private proof
        payloads.
      operationId: proofCheck
      parameters:
        - name: address
          in: query
          required: false
          schema:
            type: string
        - name: qHash
          in: query
          required: false
          schema:
            type: string
            pattern: ^0x[a-fA-F0-9]{64}$
        - name: gateId
          in: query
          required: false
          schema:
            type: string
            maxLength: 80
            pattern: ^[a-zA-Z0-9:_-]+$
        - name: verifierIds
          in: query
          required: false
          schema:
            type: string
        - name: verifierId
          in: query
          required: false
          schema:
            type: string
        - name: requireAll
          in: query
          required: false
          schema:
            type: boolean
        - name: minCount
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 1000
        - name: sinceDays
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 3650
        - name: since
          in: query
          required: false
          schema:
            type: integer
            minimum: 0
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 1000
        - name: referenceType
          in: query
          required: false
          schema:
            type: string
        - name: referenceId
          in: query
          required: false
          schema:
            type: string
        - name: tag
          in: query
          required: false
          schema:
            type: string
        - name: tags
          in: query
          required: false
          schema:
            type: string
        - name: contentType
          in: query
          required: false
          schema:
            type: string
        - name: content
          in: query
          required: false
          schema:
            type: string
        - name: contentHash
          in: query
          required: false
          schema:
            type: string
        - name: contractAddress
          in: query
          required: false
          schema:
            type: string
        - name: tokenId
          in: query
          required: false
          schema:
            type: string
        - name: chainId
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            description: >-
              EVM chain ID of the asset being checked (e.g. 1 for Ethereum
              Mainnet, 8453 for Base). Required for asset verifiers
              (nft-ownership, token-holding, contract-ownership). Not a hub or
              proof-storage filter.
        - name: domain
          in: query
          required: false
          schema:
            type: string
        - name: minBalance
          in: query
          required: false
          schema:
            type: string
        - name: provider
          in: query
          required: false
          schema:
            type: string
        - name: handle
          in: query
          required: false
          schema:
            type: string
        - name: namespace
          in: query
          required: false
          description: >-
            When set, requires ownership-pseudonym proofs to include this
            namespace (matches verifier data.namespace; legacy proofs without
            namespace default to neus).
          schema:
            type: string
            minLength: 1
            maxLength: 64
            pattern: ^[a-z0-9._-]+$
        - name: traitPath
          in: query
          required: false
          schema:
            type: string
        - name: traitGte
          in: query
          required: false
          schema:
            type: number
            minimum: 0
        - name: select
          in: query
          required: false
          schema:
            type: string
        - name: ownerAddress
          in: query
          required: false
          schema:
            type: string
        - name: riskLevel
          in: query
          required: false
          schema:
            type: string
        - name: sanctioned
          in: query
          required: false
          schema:
            type: boolean
        - name: poisoned
          in: query
          required: false
          schema:
            type: boolean
        - name: primaryWalletAddress
          in: query
          required: false
          schema:
            type: string
        - name: secondaryWalletAddress
          in: query
          required: false
          schema:
            type: string
        - name: controllerWallet
          in: query
          required: false
          description: >-
            Approving account (delegation grantor) for agent-delegation checks;
            optional filter. Not the agent wallet.
          schema:
            type: string
        - name: agentWallet
          in: query
          required: false
          schema:
            type: string
        - name: delegationScope
          in: query
          required: false
          schema:
            type: string
        - name: agentId
          in: query
          required: false
          schema:
            type: string
        - name: verificationMethod
          in: query
          required: false
          schema:
            type: string
        - name: neusPersonhoodId
          in: query
          required: false
          schema:
            type: string
        - name: ageMin
          in: query
          required: false
          schema:
            type: integer
            minimum: 0
            maximum: 150
        - name: sanctionsPassed
          in: query
          required: false
          schema:
            type: boolean
        - name: subject
          in: query
          required: false
          schema:
            type: string
            enum:
              - me
        - name: includePrivate
          in: query
          required: false
          schema:
            type: boolean
        - name: x-wallet-address
          in: header
          required: false
          schema:
            type: string
        - name: x-signature
          in: header
          required: false
          schema:
            type: string
        - name: x-signed-timestamp
          in: header
          required: false
          schema:
            type: string
        - name: x-chain
          in: header
          required: false
          schema:
            type: string
            description: >-
              CAIP-2 chain reference for non-EVM signature verification (e.g.
              solana:mainnet)
        - name: x-signature-method
          in: header
          required: false
          schema:
            type: string
            description: Signature method hint for non-EVM signatures (e.g. ed25519)
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GateCheckResponse'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Authentication required for subject=me
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Service unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    GateCheckResponse:
      type: object
      required:
        - success
        - data
      properties:
        success:
          type: boolean
          enum:
            - true
        data:
          type: object
          additionalProperties: true
        timestamp:
          $ref: '#/components/schemas/Timestamp'
      additionalProperties: true
    ErrorResponse:
      type: object
      required:
        - success
        - error
      properties:
        success:
          type: boolean
          enum:
            - false
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
            message:
              type: string
            type:
              type: string
            details: {}
          additionalProperties: true
        timestamp:
          $ref: '#/components/schemas/Timestamp'
        requestId:
          type: string
      additionalProperties: true
    Timestamp:
      oneOf:
        - type: string
          format: date-time
        - type: number

````