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

# Deliver the gate reward after verification and payment

> Post-verify reward delivery. Requires a verified proof (qHash) for the caller wallet. Paid gates also require paymentCheckoutSessionId (Stripe) or paymentTxHash (USDC). Returns the fulfillment payload and optional rewardProof / rewardPack. Payments are bound to a single gateId + qHash pair — reuse returns 409 PAYMENT_ALREADY_USED.



## OpenAPI

````yaml /openapi/public-api.json post /api/v1/profile/gates/{gateId}/fulfill
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/profile/gates/{gateId}/fulfill:
    post:
      tags:
        - Gates
      summary: Deliver the gate reward after verification and payment
      description: >-
        Post-verify reward delivery. Requires a verified proof (qHash) for the
        caller wallet. Paid gates also require paymentCheckoutSessionId (Stripe)
        or paymentTxHash (USDC). Returns the fulfillment payload and optional
        rewardProof / rewardPack. Payments are bound to a single gateId + qHash
        pair — reuse returns 409 PAYMENT_ALREADY_USED.
      operationId: fulfillGate
      parameters:
        - name: gateId
          in: path
          required: true
          schema:
            type: string
            maxLength: 80
            pattern: ^[a-zA-Z0-9:_-]+$
      responses:
        '200':
          description: Fulfillment result
        '400':
          description: Invalid request, proof not verified, or gate misconfigured
        '402':
          description: Payment required
        '404':
          description: Gate or proof not found
        '409':
          description: Payment already used for a different checkout
        '503':
          description: Fulfillment temporarily unavailable

````