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

# Price every way this funding intent could be paid



## OpenAPI

````yaml /api-reference/openapi.yaml get /funding_intents/{id}/options
openapi: 3.1.0
info:
  title: Useroutr API
  version: 1.0.0
  description: |
    Universal application funding. Users fund an application with whatever they
    hold, on whatever rail, and the application receives exactly what it needs,
    credited exactly once.

    This document is the single source of truth for every wire type. Server
    handlers, the SDK, the checkout, and the dashboard all consume types
    generated from it. A handler change without a regenerated type fails CI.
servers:
  - url: https://api.useroutr.com/v1
    description: Production
  - url: https://api.sandbox.useroutr.com/v1
    description: Sandbox
security:
  - secretKey: []
tags:
  - name: Funding intents
  - name: Funding addresses
  - name: Customers
  - name: Registry
  - name: Webhooks
paths:
  /funding_intents/{id}/options:
    get:
      tags:
        - Funding intents
      summary: Price every way this funding intent could be paid
      operationId: listFundingOptions
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Quotes, best first for the intent's optimize policy.
          content:
            application/json:
              schema:
                type: object
                required:
                  - options
                properties:
                  options:
                    type: array
                    items:
                      $ref: '#/components/schemas/Quote'
        default:
          $ref: '#/components/responses/Error'
components:
  schemas:
    Quote:
      type: object
      description: >
        An immutable price. Accepting one pins its route; it is never recomputed

        afterwards, and re-quoting produces a new quote rather than editing
        this.
      required:
        - id
        - source
        - pay_amount
        - receive_amount_min
        - estimated_duration_seconds
        - expires_at
      properties:
        id:
          type: string
          examples:
            - qt_...
        source:
          type: object
          required:
            - rail
            - asset
          properties:
            rail:
              type: string
            asset:
              type: string
        pay_amount:
          $ref: '#/components/schemas/Money'
        receive_amount_min:
          $ref: '#/components/schemas/Money'
        fees:
          type: array
          items:
            type: object
            additionalProperties: true
        estimated_duration_seconds:
          type: integer
        expires_at:
          type: string
          format: date-time
    Money:
      type: object
      required:
        - amount
        - asset
      properties:
        amount:
          $ref: '#/components/schemas/Decimal'
        asset:
          type: string
          description: Namespaced. crypto:USDC, fiat:NGN, credit:acme:ai_tokens.
          examples:
            - crypto:USDC
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
            - type
            - request_id
          properties:
            code:
              type: string
            message:
              type: string
            type:
              type: string
              enum:
                - validation_error
                - authentication_error
                - permission_error
                - not_found
                - conflict
                - rate_limit
                - provider_error
                - compliance_error
                - internal_error
            param:
              type:
                - string
                - 'null'
            retryable:
              type: boolean
            retry_after_seconds:
              type: integer
            docs_url:
              type: string
              format: uri
            request_id:
              type: string
    Decimal:
      type: string
      description: Decimal string. Never a float, never a bare integer.
      pattern: ^-?\d+(\.\d+)?$
      examples:
        - '100.00'
  responses:
    Error:
      description: Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    secretKey:
      type: http
      scheme: bearer
      description: Server-side only. Never ships to a browser.

````