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

# Verify finalized builder fee attribution

> Requires receipts scope. Use the same API key that prepared the swap. Returns confirming until finality, then verifies and records the attributed settlement.

[Authentication](/api-reference/authentication) · [Builder integration](/builders)


## OpenAPI

````yaml openapi.json POST /api/v2/builders/receipts
openapi: 3.1.0
info:
  title: route
  version: 2.15.0
  description: >-
    Route compares swap paths offchain and executes swaps on Robinhood Chain.
    The API returns quotes and unsigned transactions. It does not sign or submit
    for you. V2 deducts a disclosed pair-dependent output fee up to 0.50%; pool
    fees, provider charges and gas may still apply. Contracts are experimental
    and unaudited. Public routing and data endpoints require no API key. Use the
    documented /api/v2 endpoints for integrations. Builder endpoints require a
    scoped x-api-key from build.route.fun. Public quote, swap and data endpoints
    remain keyless.
servers:
  - url: https://api.route.fun
security: []
paths:
  /api/v2/builders/receipts:
    post:
      tags:
        - Builder API
      summary: Verify finalized builder fee attribution
      description: >-
        Requires receipts scope. Use the same API key that prepared the swap.
        Returns confirming until finality, then verifies and records the
        attributed settlement.
      operationId: builderReceipt
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
                - quoteId
                - hash
              properties:
                quoteId:
                  type: string
                hash:
                  type: string
                  pattern: ^0x[0-9a-fA-F]{64}$
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - confirming
                      - finalized
                  hash:
                    type: string
                  builderCode:
                    type: string
                    pattern: ^[A-Za-z0-9_-]{3,32}$
                    description: >-
                      Public, case-sensitive registered attribution code. May
                      differ from the API key workspace. Omitted: use the key
                      workspace code.
                  routeFee:
                    type: string
                    pattern: ^[0-9]+$
                  builderFee:
                    type: string
                    pattern: ^[0-9]+$
                  amountOut:
                    type: string
                    pattern: ^[0-9]+$
                  tokenOut:
                    type: string
                    pattern: ^0x[0-9a-fA-F]{40}$
        '400':
          description: Invalid request or fee above cap
        '401':
          description: Missing, invalid, expired or revoked key
        '403':
          description: Key scope, builder identity or access denied
        '409':
          description: Expired quote, changed policy, price or receipt conflict
        '429':
          description: Workspace or global capacity limit; obey Retry-After
        '503':
          description: Network unavailable or builder settlement not commissioned
      security:
        - BuilderKey: []
components:
  securitySchemes:
    BuilderKey:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Server-side key created in an authenticated developer workspace. Builder
        codes are public attribution, not credentials.

````