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

# Reserve funds for a credit transfer

> Reserves funds for a Settlement Advance draw. This is the first mandatory step in the Settlement Advance transfer flow.

Reserved funds expire after 30 minutes if not progressed to `requested` status via the request reserved funds endpoint.

Only one transfer may be in `funds_reserved` status per credit line at a time.

**Note:** This endpoint is only available for Settlement Advance products.




## OpenAPI

````yaml openapi/credit.yaml post /v1/credit/transfers/reserveFunds
openapi: 3.0.2
info:
  version: ${version}
  title: Credit API
  description: >
    The Circle Credit API provides access to credit facilities including Line of
    Credit and Settlement Advance products.


    **Line of Credit** enables direct drawdowns with auto-approval and
    asynchronous disbursement. Supports both fiat and crypto repayment.


    **Settlement Advance** requires a reserve-then-request flow with manual
    approval. Requires wire proof upload for disbursement approval. Supports
    fiat repayment only.
servers:
  - url: https://api-sandbox.circle.com
  - url: https://api.circle.com
security: []
tags:
  - name: Credit
    description: Get credit line details.
  - name: Credit Transfers
    description: Create, reserve, and manage credit transfers (drawdowns).
  - name: Credit Fees
    description: View fees charged on credit transfers.
  - name: Credit Repayments
    description: View and initiate repayments on credit transfers.
paths:
  /v1/credit/transfers/reserveFunds:
    post:
      tags:
        - Credit Transfers
      summary: Reserve funds for a credit transfer
      description: >
        Reserves funds for a Settlement Advance draw. This is the first
        mandatory step in the Settlement Advance transfer flow.


        Reserved funds expire after 30 minutes if not progressed to `requested`
        status via the request reserved funds endpoint.


        Only one transfer may be in `funds_reserved` status per credit line at a
        time.


        **Note:** This endpoint is only available for Settlement Advance
        products.
      operationId: reserveCreditTransferFunds
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreditTransferCreationRequest'
            examples:
              Without Destination:
                value:
                  idempotencyKey: ba943ff1-ca16-49b2-ba55-1057e70ca5c7
                  amount:
                    amount: '100000.00'
                    currency: USD
              With Blockchain Destination:
                value:
                  idempotencyKey: ba943ff1-ca16-49b2-ba55-1057e70ca5c7
                  amount:
                    amount: '100000.00'
                    currency: USD
                  destination:
                    type: verified_blockchain
                    addressId: a1b2c3d4-e5f6-7890-abcd-ef1234567890
      responses:
        '201':
          description: Successfully reserved funds for a credit transfer.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
          content:
            application/json:
              schema:
                title: ReserveCreditTransferFundsResponse
                properties:
                  data:
                    $ref: '#/components/schemas/CreditTransfer'
              examples:
                Without Destination:
                  value:
                    data:
                      id: fc988ed5-c129-4f70-a064-e5beb7eb8e32
                      amount:
                        amount: '100000.00'
                        currency: USD
                      status: funds_reserved
                      expiresAt: '2024-03-20T15:00:00.000Z'
                      createDate: '2024-03-20T14:30:00.000Z'
                      updateDate: '2024-03-20T14:30:00.000Z'
                With Blockchain Destination:
                  value:
                    data:
                      id: fc988ed5-c129-4f70-a064-e5beb7eb8e32
                      amount:
                        amount: '100000.00'
                        currency: USD
                      status: funds_reserved
                      expiresAt: '2024-03-20T15:00:00.000Z'
                      blockchainDestination:
                        addressId: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                        status: pending
                      createDate: '2024-03-20T14:30:00.000Z'
                      updateDate: '2024-03-20T14:30:00.000Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '409':
          $ref: '#/components/responses/Conflict'
      security:
        - bearerAuth: []
components:
  schemas:
    CreditTransferCreationRequest:
      type: object
      description: Request body for creating a new credit transfer (drawdown).
      required:
        - idempotencyKey
        - amount
      properties:
        idempotencyKey:
          $ref: '#/components/schemas/IdempotencyKey'
        amount:
          $ref: '#/components/schemas/FiatMoneyUsd'
          description: >-
            The amount and currency for the transfer. Currency must match the
            credit line currency.
        destination:
          $ref: '#/components/schemas/CreditTransferDestination'
          description: >-
            Optional blockchain destination for the transfer. When provided,
            disbursed funds will be sent to the specified verified blockchain
            address instead of the default fiat account.
    CreditTransfer:
      type: object
      description: A credit transfer (drawdown) from the credit line.
      required:
        - id
        - amount
        - status
        - createDate
        - updateDate
      properties:
        id:
          description: Unique identifier of the transfer.
          type: string
          format: uuid
          example: b3d9d2d5-4c12-4946-a09d-953e82fae2b0
        amount:
          $ref: '#/components/schemas/FiatMoneyUsd'
          description: The transfer amount.
        status:
          description: Current status of the transfer.
          type: string
          enum:
            - funds_reserved
            - expired
            - canceled
            - requested
            - rejected
            - disbursed
            - paid
            - past_due
          example: disbursed
        outstanding:
          $ref: '#/components/schemas/FiatMoneyUsd'
          description: >-
            Remaining outstanding balance on the transfer. Present only when
            status is disbursed, paid, or past_due.
        fees:
          $ref: '#/components/schemas/CreditTransferFees'
          description: >-
            Fee summary for the transfer. Present only when status is disbursed,
            paid, or past_due.
        expiresAt:
          $ref: '#/components/schemas/UtcTimestamp'
          description: >-
            ISO-8601 UTC date/time when the reserved funds expire. Present only
            when status is funds_reserved.
        dueDate:
          $ref: '#/components/schemas/UtcTimestamp'
          description: >-
            ISO-8601 UTC date/time when the transfer repayment is due. Present
            only when status is disbursed, paid, or past_due.
        disbursedDate:
          $ref: '#/components/schemas/UtcTimestamp'
          description: >-
            ISO-8601 UTC date/time when the transfer was disbursed. Present only
            when status is disbursed, paid, or past_due.
        paidDate:
          $ref: '#/components/schemas/UtcTimestamp'
          description: >-
            ISO-8601 UTC date/time when the transfer was fully repaid. Present
            only when status is paid.
        blockchainDestination:
          $ref: '#/components/schemas/BlockchainDestinationResponse'
          description: >-
            Blockchain destination details. Present when the transfer was
            requested with a blockchain destination.
        createDate:
          $ref: '#/components/schemas/UtcTimestamp'
          description: ISO-8601 UTC date/time when the transfer was created.
        updateDate:
          $ref: '#/components/schemas/UtcTimestamp'
          description: ISO-8601 UTC date/time when the transfer was last updated.
    IdempotencyKey:
      type: string
      description: >-
        Universally unique identifier (UUID v4) idempotency key. This key is
        utilized to ensure exactly-once execution of mutating requests.
      format: uuid
      example: ba943ff1-ca16-49b2-ba55-1057e70ca5c7
    FiatMoneyUsd:
      type: object
      required:
        - amount
        - currency
      properties:
        amount:
          description: Magnitude of the amount, in units of the currency, with a `.`.
          type: string
          example: '3.14'
        currency:
          description: Currency code.
          type: string
          enum:
            - USD
    CreditTransferDestination:
      type: object
      description: >-
        Optional blockchain destination for the credit transfer. When provided,
        the disbursed funds will be sent to the specified verified blockchain
        address.
      required:
        - type
        - addressId
      properties:
        type:
          description: The destination type.
          type: string
          enum:
            - verified_blockchain
          example: verified_blockchain
        addressId:
          description: The identifier of the verified blockchain address to send funds to.
          type: string
          format: uuid
          example: b3d9d2d5-4c12-4946-a09d-953e82fae2b0
    CreditTransferFees:
      type: object
      description: Fee summary for a credit transfer.
      required:
        - total
        - unpaid
      properties:
        total:
          $ref: '#/components/schemas/FiatMoneyUsd'
          description: Total fees accrued on the transfer.
        unpaid:
          $ref: '#/components/schemas/FiatMoneyUsd'
          description: Fees that have not yet been paid.
    UtcTimestamp:
      type: string
      description: ISO-8601 UTC date/time format.
      example: '2020-04-10T02:13:30.000Z'
    BlockchainDestinationResponse:
      type: object
      description: >-
        Blockchain destination details for a credit transfer. Present when the
        transfer was requested with a blockchain destination.
      required:
        - addressId
        - status
      properties:
        addressId:
          description: The identifier of the verified blockchain address.
          type: string
          format: uuid
          example: b3d9d2d5-4c12-4946-a09d-953e82fae2b0
        status:
          description: The status of the blockchain transfer.
          type: string
          enum:
            - pending
            - initiated
            - complete
            - failed
          example: pending
        transferId:
          description: >-
            The identifier of the blockchain transfer. Present once the transfer
            has been initiated.
          type: string
          format: uuid
          example: fc988ed5-c129-4f70-a064-e5beb7eb8e32
  headers:
    XRequestId:
      description: >-
        Universally unique identifier (UUID v4) for the request. Helpful for
        identifying a request when communicating with Circle support.
      schema:
        type: string
        format: uuid
        example: 2adba88e-9d63-44bc-b975-9b6ae3440dde
  responses:
    BadRequest:
      description: The request cannot be processed due to a client error.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            type: object
            title: BadRequest
            required:
              - code
              - message
            properties:
              code:
                type: integer
                example: 400
              message:
                type: string
                example: Something went wrong.
            example:
              code: 400
              message: Bad request.
          examples:
            response:
              value:
                code: 400
                message: Bad request.
    NotAuthorized:
      description: >-
        The request has not been applied because it lacks valid authentication
        credentials.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            type: object
            title: NotAuthorized
            required:
              - code
              - message
            properties:
              code:
                type: integer
                example: 400
              message:
                type: string
                example: Something went wrong.
            example:
              code: 401
              message: Malformed authorization.
          examples:
            response:
              value:
                code: 401
                message: Malformed authorization.
    Conflict:
      description: >-
        The request has not been applied because it comes in conflict with
        another request (such as re-using an idempotencyKey for a different
        request).
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            type: object
            title: Conflict
            required:
              - code
              - message
            properties:
              code:
                type: integer
                example: 400
              message:
                type: string
                example: Something went wrong.
            example:
              code: 409
              message: Conflicts with another request.
          examples:
            response:
              value:
                code: 409
                message: Conflicts with another request.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````