Ripple Labs Quotes API

Use these operations to manage your quotes. | Operation | Method | Description | | -- | -- | -- | | [Accept quote](/products/payments-odl/api-docs/ripplenet/reference/openapi/quotes/acceptquote) | POST | Accepts a quote ID to start the payment process. | | [Get quotes](/products/payments-odl/api-docs/ripplenet/reference/openapi/quotes/getquotes) | GET | Gets a list of quotes. | | [Get quote by quote ID](/products/payments-odl/api-docs/ripplenet/reference/openapi/quotes/getquotebyquoteid) | GET | Gets a quote by ID. | | [Create quote collection](/products/payments-odl/api-docs/ripplenet/reference/openapi/quotes/createquotecollection) | POST | Creates a collection of quotes for a proposed payment. | | [Get quote collection by ID](/products/payments-odl/api-docs/ripplenet/reference/openapi/quotes/getquotecollectionbyid) | GET | Gets a quote collection that was created for a proposed payment. |

OpenAPI Specification

ripple-labs-quotes-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Palisade Addresses Quotes API
  description: The Palisade API enables programmatic interaction with the various features of the Palisade platform
  version: '2.0'
servers:
- url: https://api.sandbox.palisade.co
  description: Sandbox server (uses TESTNET data, private keys and accounts)
- url: https://api.palisade.co
  description: Palisade server (uses MAINNET data, private keys and accounts)
security:
- TokenAuth: []
tags:
- name: Quotes
  description: '

    Use these operations to manage your quotes.


    | Operation | Method | Description |

    | -- | -- | -- |

    | [Accept quote](/products/payments-odl/api-docs/ripplenet/reference/openapi/quotes/acceptquote)                            | POST | Accepts a quote ID to start the payment process. |

    | [Get quotes](/products/payments-odl/api-docs/ripplenet/reference/openapi/quotes/getquotes)                                | GET  | Gets a list of quotes. |

    | [Get quote by quote ID](/products/payments-odl/api-docs/ripplenet/reference/openapi/quotes/getquotebyquoteid)                   | GET  | Gets a quote by ID. |

    | [Create quote collection](/products/payments-odl/api-docs/ripplenet/reference/openapi/quotes/createquotecollection)       | POST | Creates a collection of quotes for a proposed payment. |

    | [Get quote collection by ID](/products/payments-odl/api-docs/ripplenet/reference/openapi/quotes/getquotecollectionbyid)   | GET  | Gets a quote collection that was created for a proposed payment. |

    '
paths:
  /payments/accept:
    post:
      tags:
      - Quotes
      summary: Accept quote
      description: Accepts a quote ID to start the payment process.
      operationId: acceptQuote
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentAcceptRequest'
        description: The JSON object to include in your request to accept a quote that you want to advance as a payment.
        required: true
      responses:
        '200':
          description: Successfully accepted quote resulting in a payment object in `ACCEPTED` state.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment'
        '412':
          description: Quote expiry has passed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RippleNetProblem'
      security:
      - Bearer: []
  /quotes:
    get:
      tags:
      - Quotes
      summary: Get quotes
      description: Gets a list of quotes.
      operationId: getQuotes
      parameters:
      - name: page
        in: query
        description: 'The page number for [paginated results](/products/payments-odl/api-docs/ripplenet/best-practices/pagination/). The value is zero-based, where `0` represents the first page.<br/>

          Set it to `0` to get the first page of results.

          '
        required: false
        schema:
          type: integer
          default: 0
      - name: size
        in: query
        description: Number of objects to return per page.
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 20
      responses:
        '200':
          description: Successfully returned array of quotes.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Quote'
        '400':
          description: Bad request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RippleNetProblem'
      security:
      - Bearer: []
  /quotes/{quote_id}:
    get:
      tags:
      - Quotes
      summary: Get quote by quote ID
      description: Gets a quote by ID.
      operationId: getQuoteByQuoteId
      parameters:
      - name: quote_id
        in: path
        description: Unique identifier of the quote you want to retrieve.
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Successfully retrieved quote.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Quote'
        '400':
          description: Bad request. Quote ID is either invalid or not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RippleNetProblem'
      security:
      - Bearer: []
  /quote_collections:
    post:
      tags:
      - Quotes
      summary: Create quote collection
      description: Creates a collection of quotes for a proposed payment.
      operationId: createQuoteCollection
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentQuoteRequest'
        required: true
      responses:
        '200':
          description: Successfully returned quote collection.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteCollection'
        '400':
          description: Bad request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RippleNetProblem'
      security:
      - Bearer: []
  /quote_collections/{quote_collection_id}:
    get:
      tags:
      - Quotes
      summary: Get quote collection by ID
      description: Gets a quote collection that was created for a proposed payment.
      operationId: getQuoteCollectionById
      parameters:
      - name: quote_collection_id
        in: path
        description: The ID of the quote collection you want returned.
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Successfully returned a quote collection.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteCollection'
        '400':
          description: Bad request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RippleNetProblem'
      security:
      - Bearer: []
components:
  schemas:
    PaymentQuoteRequest:
      type: object
      required:
      - amount
      - currency
      - quote_type
      - receiving_address
      - sending_address
      properties:
        sending_address:
          type: string
          example: sf@rn.us.ca.san_francisco
          description: 'RippleNet account name and address of the sender.


            **Format**: `accountname@ripplenetaddress`


            **Example**: `new_york@rn.us.ny.new_york`

            '
        receiving_address:
          type: string
          example: sf_gbp@rn.us.ca.san_francisco
          description: 'RippleNet account name and address of the receiver.


            **Format**: `accountname@ripplenetaddress`


            **Example**: `new_york@rn.us.ny.new_york`

            '
        amount:
          type: string
          minimum: 1
          example: '1'
          description: 'Amount to be sent or received, depending on the `quote_type`.


            Use this table to determine what `amount` to assign.


            **Example**: `"1"`


            | Quote type | Amount |

            | --- | --- |

            | SENDER_AMOUNT | Amount to be sent by the payment originator |

            | SENDER_INSTITUTION_AMOUNT | Set to `SENDER_INSTITUTION_AMOUNT` to calculate the quote based on the amount to be sent, plus any fees collected by the sending institution |

            | RECEIVER_AMOUNT | Amount to be received by the payment beneficiary |

            | RECEIVER_INSTITUTION_AMOUNT | Set to `RECEIVER_INSTITUTION_AMOUNT` to calculate the quote based on the amount to be received, minus any fees collected by the receiving institution |

            '
        currency:
          type: string
          example: USD
          description: 'Currency code of the amount to be sent or received, depending on the `quote_type`.


            Use this table to determine what `currency` code to assign.


            **Example**: `USD`


            | Quote type | Currency code description |

            | --- | --- |

            | SENDER_AMOUNT | Specify the currency code for the sending currency, for example `USD` |

            | SENDER_INSTITUTION_AMOUNT | Specify the currency code for the sending currency, for example `USD` |

            | RECEIVER_AMOUNT | Specify the currency code for the receiving currency, for example `USD` |

            | RECEIVER_INSTITUTION_AMOUNT | Specify the currency code for the receiving currency, for example `USD` |

            '
        quote_type:
          type: string
          example: SENDER_AMOUNT
          description: 'Specifies how to calculate the quote.


            **Example**: `SENDER_AMOUNT`

            '
          enum:
          - SENDER_AMOUNT
          - RECEIVER_AMOUNT
          - SENDER_INSTITUTION_AMOUNT
          - RECEIVER_INSTITUTION_AMOUNT
          x-enumDescriptions:
            SENDER_AMOUNT: Quote based on the amount the payment originator or originating institution wants to send
            SENDER_INSTITUTION_AMOUNT: Quote based on the amount (to debit the originator) is `amount` plus any fees to be collected by the sending institution
            RECEIVER_AMOUNT: Quote based on the amount the payment beneficiary or beneficiary institution should receive
            RECEIVER_INSTITUTION_AMOUNT: The amount (to credit the beneficiary) is `amount` minus any fees to be collected by the receiving institution
        sender_or_receiver_currency:
          type: string
          description: 'Currency code of the sender or receiver based on `quote_type`.


            If provided, you can use this to filter the options for quotes.

            '
          example: USD
        custom_fee:
          type: number
          description: 'Custom fee for the sending account.


            Setting this field overrides all fees configured on the sender''s RippleNet instance.

            '
        custom_rate:
          $ref: '#/components/schemas/PaymentQuoteCustomRateRequest'
        quote_route:
          type: array
          example:
          - rn.us.ca.san_francisco
          - rn.us.tx.austin
          - rn.us.ny.new_york
          description: 'Custom route that quote must follow.


            Provide an array of RippleNet address strings that convey the route the quote must follow.


            **Example**: `g.us.ca.san_francisco`

            '
          items:
            type: string
        payment_method:
          type: string
          description: 'Payout method for the quote.


            Senders can use this field to define the payout method that the receiver should use to deliver the payment to end

            customer.


            On-Demand Liquidity (ODL) receivers should set `payment_method` to the `outlet_id` or the string `none` (not an empty value)

            to keep funds at the destination exchange when paying out to a local rail.


            **Caution**: The existing quote parameter is named `payment_method` while elsewhere it is `payout_method`.

            '
        enable_quote_per_payout_method:
          type: boolean
          example: true
          description: Enable this flag to generate quotes using payout methods configured by the receiver.
        digital_asset_origination:
          type: boolean
          description: 'When true, this flag tells RippleNet to provide a full quote as if the payment originates in the specified source fiat currency.


            The quote for the source exchange excludes trading fees.


            On execution, the source exchange trade is skipped, and XRP is withdrawn from the source exchange as the first step.

            '
          example: false
        force_path_finding_and_liquidity_path_finding:
          type: boolean
          description: 'When true, this flag tells RippleNet to ignore cached value for path finding and liquidity path finding.


            Force performing new path finding and liquidity path finding.

            '
          example: false
          default: false
        payout_method_category:
          type: string
          example: BOOK_TRANSFER
          description: Category the payout method will be associated with. Defaults to `OTHER` if not specified.
          enum:
          - REAL_TIME_GROSS_SETTLEMENT_SYSTEM
          - REAL_TIME_NET_SETTLEMENT_SYSTEM
          - MASS_NET_PAYMENT_SYSTEM
          - BOOK_TRANSFER
          - CASH_PAYOUT
          - WALLET_PAYMENT
          - OTHER
          x-enumDescriptions:
            REAL_TIME_GROSS_SETTLEMENT_SYSTEM: Real-time gross settlement system
            REAL_TIME_NET_SETTLEMENT_SYSTEM: Real-time net settlement system
            MASS_NET_PAYMENT_SYSTEM: Mass net payment system
            BOOK_TRANSFER: Book transfer
            CASH_PAYOUT: Cash payout
            WALLET_PAYMENT: Wallet payment
            OTHER: Other
        sender_segregated_account:
          type: string
          maxLength: 254
          example: conct_php_receiver_coins_sender@receiver
          description: 'RippleNet account name and address of the sender owned account at receiver to be used for failure conversion (in case of payment failure).


            **Format**: `accountname@ripplenetaddress`


            **Example**: `new_york@rn.us.ny.new_york`

            '
        quote_limit:
          type: integer
          description: Flag for truncating the total amount of quotes to a maximum amount after sorting and filters are applied. Optional.
        quote_filter_types:
          type: array
          description: Filter on a type of quote.
          items:
            type: string
            enum:
            - LIQUIDITY_WARNINGS
            - QUOTE_ERRORS
            x-enumDescriptions:
              LIQUIDITY_WARNINGS: Filter for liquidity warnings
              QUOTE_ERRORS: Filter for quote errors
      description: JSON request object to generate a quote collection.
    QuoteElement:
      type: object
      required:
      - quote_element_id
      - quote_element_order
      - quote_element_type
      - receiver_address
      - receiving_amount
      - receiving_fee
      - sender_address
      - sending_amount
      - sending_fee
      properties:
        quote_element_id:
          type: string
          format: uuid
          example: 259189e7-cb14-42e7-99ef-375f3285e356
          description: Unique identifier for the quote element.
        quote_element_type:
          type: string
          example: EXCHANGE
          description: Type of quote element.<p><ul> <li>`TRANSFER` represents the movement of funds between two accounts.</li> <li>`EXCHANGE` represents the exchange of currencies between two accounts.</li> <li>`EXCHANGE_TRADE` represents the exchange of fiat to digital currency on a digital exchange.</li> <li>`CRYPTO_TRANSFER` represents the movement of digital funds between two digital exchanges.</li> </ul></p>
          enum:
          - TRANSFER
          - EXCHANGE
          - EXCHANGE_TRADE
          - CRYPTO_TRANSFER
        quote_element_order:
          type: string
          example: '1'
          description: Order of each quote element along the liquidity path. If a quote includes five quote elements, each one is enacted according to its quote_element_order number to make the proposed payment.
        sender_address:
          type: string
          example: sf@rn.us.ca.san_francisco
          description: RippleNet account name and address of the sender, in the format `accountname@ripplenetaddress`. For example, `new_york@rn.us.ny.new_york`.
        receiver_address:
          type: string
          example: sf_gbp@rn.us.ca.san_francisco
          description: RippleNet account name and address of the receiver, in the format `accountname@ripplenetaddress`. For example, `new_york@rn.us.ny.new_york`.
        sending_amount:
          type: number
          example: 1
          description: Amount the sender is sending.
        receiving_amount:
          type: number
          example: 355
          description: Amount the receiver is receiving.
        sending_fee:
          type: number
          example: 0
          description: Fees the sender is charging. When `quote_element_type` is set to `EXCHANGE`, this field value is always set to `0`.
        receiving_fee:
          type: number
          example: 0
          description: Fees the receiver is charging. When `quote_element_type` is set to `EXCHANGE`, this field value is always set to `0`.
        sending_currency_code:
          type: string
          example: USD
          description: Currency code of the sending amount. Included in quote elements with `quote_element_type` set to `EXCHANGE`.
        receiving_currency_code:
          type: string
          example: GBP
          description: Currency code of the receiving amount. Included in quote elements with `quote_element_type` set to `EXCHANGE`.
        fx_rate:
          $ref: '#/components/schemas/FXRate'
        transfer_currency_code:
          type: string
          description: Currency code of the transfer. Included in quote elements with `quote_element_type` set to `TRANSFER`.
      description: JSON object that provides transfer and exchange elements used to provide the quote. A transfer element represents the transfer of currency between two accounts. An exchange element represents the exchange of currencies between two accounts.
    TotalFees:
      type: object
      required:
      - total_fee
      - fee_currency
      properties:
        total_fee:
          type: number
          description: total value of fee
        fee_currency:
          type: string
          description: currency of the fee charged
    RippleNetProblem:
      type: object
      description: Represents a request to create and update a payout method record.
      properties:
        type:
          type: string
          example: https://errors.ripplenet.ripple.com/error/json-processing-error
          description: URL to the error documentation.
        title:
          type: string
          example: Invalid Request Object
          description: Summary of the returned problem.
        detail:
          type: string
          example: The request parameter [account_id] is not in the correct format.
          description: Description of the returned problem.
        status:
          type: number
          example: 400
          description: HTTP error code.
        ripplenet_error_code:
          type: string
          example: E0104
          description: RippleNet specific error code.
        finality:
          type: string
          example: PERMANENT
          description: Specifies if the request can be retried for a successful response.
    Quote:
      type: object
      required:
      - amount
      - created_at
      - currency_code
      - currency_code_filter
      - expires_at
      - liquidity_warning
      - price_guarantee
      - quote_elements
      - quote_id
      - receiver_address
      - sender_address
      - service_type
      - type
      properties:
        quote_id:
          type: string
          format: uuid
          example: 2a547e56-4aac-4375-86a8-8b3e7014801d
          description: Unique identifier for the quote.
        created_at:
          type: string
          format: date-time
          example: '2020-01-29T20:59:44.925Z'
          description: Date and time at which the quote was created, as an ISO-8601 timestamp in UTC.
        expires_at:
          type: string
          format: date-time
          example: '2020-01-29T21:29:44.925Z'
          description: Date and time after which the quote and its pricing expire, as an ISO-8601 timestamp in UTC.
          default: 300s/300000ms
        type:
          type: string
          example: SENDER_AMOUNT
          description: Indicates how the amount field should be treated for calculating quote values.
          enum:
          - SENDER_AMOUNT
          - RECEIVER_AMOUNT
          - SENDER_INSTITUTION_AMOUNT
          - RECEIVER_INSTITUTION_AMOUNT
          - REVERSAL_AMOUNT
        price_guarantee:
          type: string
          example: FIRM
          description: Indicates whether a quote's pricing is `INDICATIVE` or `FIRM`. An `INDICATIVE` quote allows for price movements between quote issuance and payment execution, such that the quoted amount and delivered amount may differ. A `FIRM` quote ensures that the quoted and delivered payment amounts are equal.
          default: FIRM
        sender_address:
          type: string
          example: sf@rn.us.ca.san_francisco
          description: RippleNet account name and address of the sender, in the format `accountname@ripplenetaddress`. For example, `new_york@rn.us.ny.new_york`.
        receiver_address:
          type: string
          example: sf_gbp@rn.us.ca.san_francisco
          description: RippleNet account name and address of the receiver, in the format `accountname@ripplenetaddress`. For example, `new_york@rn.us.ny.new_york`.
        amount:
          type: string
          example: '1'
          description: Amount to be sent or received, depending on the `type` value.
        currency_code:
          type: string
          example: USD
          description: Currency code for the `amount` value.
        currency_code_filter:
          type: string
          example: EUR
          description: Currency code that can be used to filter quotes at the opposite end of the quote request. For example, you can filter by this currency code to find the receiving currency for a quote with a `SENDER_AMOUNT` quote_type. If not sent in the request, this field value is set to `null`.
        service_type:
          type: string
          description: Returns `null`.
        quote_elements:
          type: array
          description: Transfer and exchange elements. A transfer element represents a movement of funds between two accounts. An exchange element represents the exchange of currencies between two accounts.
          items:
            $ref: '#/components/schemas/QuoteElement'
        liquidity_warning:
          type: string
          description: Triggered when a quote causes an account to go below its `minimum_allowed_balance`. Otherwise, this field value is set to `null`.
        payment_method:
          type: string
          example: LOCAL_RAILS
          description: Payout method for the quote.
        payment_method_fields:
          type: string
          example: '{"category_id":"bank","required_originator_fields":[{"field_name":"sender_address","field_label":"Sender address"}]}'
          description: JSON object containing payment method metadata.
        payout_method_info:
          type: object
          description: Details about the payout method.
          properties:
            payout_method_name:
              type: string
              example: Cash Payout
              description: Payout method for the quote.
            payout_method_category:
              type: string
              example: BOOK_TRANSFER
              description: Category of the payout method. Defaults to <code>OTHER</code> if not specified.
              enum:
              - REAL_TIME_GROSS_SETTLEMENT_SYSTEM
              - REAL_TIME_NET_SETTLEMENT_SYSTEM
              - MASS_NET_PAYMENT_SYSTEM
              - BOOK_TRANSFER
              - CASH_PAYOUT
              - WALLET_PAYMENT
              - OTHER
            description:
              type: string
              example: local rails
              description: User defined description of the payout method.
            estimated_time_to_credit:
              type: string
              example: 3 days
              description: The estimated time to credit the beneficiary using this payout method.
      description: JSON response object that represents a quote for a proposed payment or return payment.
    QuotePathRos:
      type: object
      required:
      - source
      - destination
      - source_currency
      - destination_currency
      properties:
        source:
          type: string
          description: RippleNet account name and address of the source account, in the format `accountname@ripplenetaddress`. For example, `new_york@rn.us.ny.new_york`.
        destination:
          type: string
          description: RippleNet account name and address of the destination account, in the format `accountname@ripplenetaddress`. For example, `new_york@rn.us.ny.new_york`.
        source_currency:
          type: string
          description: Currency associated with the source account.
        destination_currency:
          type: string
          description: Currency associated with the destination account.
        account_liquidity_relationship_id:
          type: string
          format: uuid
          example: 480e3a6f-3bcd-48cd-9ce9-9d940aa3c9c6
          description: Unique identifier for an account liquidity relationship.
        peer_liquidity_relationship_id:
          type: string
          format: uuid
          example: 480e3a6f-3bcd-48cd-9ce9-9d940aa3c9c6
          description: Unique identifier for a peer liquidity relationship.
      description: Object that describes a liquidity path used to generate a quote.
      x-docs-model-object:
        object-name: Quote Path Object
    ExecutionResult:
      type: object
      required:
      - execution_result_id
      - execution_result_order
      - execution_result_type
      - execution_timestamp
      - receiver_address
      - receiving_amount
      - receiving_fee
      - sender_address
      - sending_amount
      - sending_fee
      properties:
        execution_result_id:
          type: string
          format: uuid
          example: 06f6d4e2-3523-4d17-92fd-53192a06207f
          description: Unique identifier for this payment result.
        execution_timestamp:
          type: string
          format: date-time
          example: '2019-10-01T18:24:29.867Z'
          description: Date and time at which this portion of the payment was executed, as an ISO-8601 timestamp in UTC.
        execution_result_type:
          type: string
          example: TRANSFER
          description: Type of payment execution result.<p><ul> <li>`TRANSFER` represents the movement of funds between two accounts.</li> <li>`EXCHANGE` represents the exchange of currencies between two accounts.</li> <li>`EXCHANGE_TRADE` represents the exchange of fiat to digital currency on a digital exchange.</li> <li>`CRYPTO_TRANSFER` represents the movement of digital funds between two digital exchanges.</li> </ul></p>
          enum:
          - TRANSFER
          - EXCHANGE
          - EXCHANGE_TRADE
          - CRYPTO_TRANSFER
        execution_result_order:
          type: integer
          example: 1
          description: Order in which the payment execution action was taken along the liquidity path. For example, a payment may include five execution results along the liquidity path. Each execution result has an order number that indicates the order in which the execution result was achieved to make the payment.
        sender_address:
          type: string
          example: trans_usd_sf@rn.us.ca.san_francisco
          description: RippleNet account name and address of the sender, in the format `accountname@ripplenetaddress`. For example, `new_york@rn.us.ny.new_york`.
        receiver_address:
          type: string
          example: conct_usd_sf@rn.us.ca.san_francisco
          description: RippleNet account name and address of the receiver, in the format `accountname@ripplenetaddress`. For example, `new_york@rn.us.ny.new_york`.
        sending_amount:
          type: number
          example: 498
          description: Amount the sender is sending.
        receiving_amount:
          type: number
          example: 498
          description: Amount the receiver is receiving.
        sending_fee:
          type: number
          example: 2
          description: Fees the sender is charging.
        receiving_fee:
          type: number
          example: 0
          description: Fees the receiver is charging.
        sending_currency_code:
          type: string
          example: USD
          description: Currency code of the sending amount. Included in execution results with `execution_result_type` set to `EXCHANGE`.
        receiving_currency_code:
          type: string
          example: GBP
          description: Currency of the receiving amount. Included in execution results with `execution_result_type` set to `EXCHANGE`.
        fx_rate:
          $ref: '#/components/schemas/FXRate'
        transfer_currency_code:
          type: string
          description: Currency of the transfer. Returned in execution results with `execute_result_type` set to `TRANSFER`.
        intermediary_delta:
          type: number
          example: 0.2
          description: Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool. (Soon to be deprecated)
        incentive_type:
          type: string
          example: firm
          description: Configuration of the incentive pool on the xRapid side. Two values are supported, `firm` and `fx`. For `firm`, xRapid guarantees that the FX rate at the moment of execution is the same as at the moment of quoting. For `fx`, xRapid guaratees a predefined FX rate.
        incentive_value:
          type: number
          example: 0.2
          description: Amount of XRP representing the difference in FX rate between the moment of quoting and the moment of execution. A positive value is the amount taken out of the incentive pool. A negative value is the amount returned to the incentive pool.
        transaction_hash:
          type: string
          example: 5.5467794184785867e+76
          description: Hash representing the unique identifier for the transfer of funds in the XRP ledger.
        venue_id:
          type: string
          example: nz7RpAujYgnQtjEM
          description: The id from an exchange associated with a transaction involving an exchange account.
        fiat_adjusted_value:
          type: number
          example: 0.02
          description: Represents the delta between quoted and received executed amounts, for exchange trades.
        odl_payment_id:
          type: string
          description: Payment ID in On-Demand Liquidity (ODL) for an executed ODL payment containing the transaction represented by this execution result.
      description: Represents the actual movement of funds in a payment. Each execution result corresponds to a quote element and represents its execution in a payment. Included once the payment is in `EXECUTED` state.
    RippleNetInfo:
      type: object
      required:
      - node_address
      - settlement_declined
      properties:
        node_address:
          type: string
          example: rn.us.ny.new_york
          description: RippleNet address of the node from which the RippleNetInfo originated.
        settlement_declined:
          type: array
          description: If applicable, provides an array of RippleNetInfoEntry's explaining transitions into the `SETTLEMENT_DECLINED` state
          items:
            $ref: '#/components/schemas/RippleNetInfoEntry'
      description: Application-generated information explaining actions taken by RippleNet applications.
    Payment:
      description: JSON response object that represents a payment. A payment is the movement of value across accounts on potentially different RippleNet instances involving one or more currencies.
      required:
      - user_info
      - internal_info
      - accepted_at
      allOf:
      - $ref: '#/components/schemas/BasePayment'
      - type: object
        properties:
          accepted_at:
            type: string
            format: date-time
            example: '2019-10-01T18:25:47.347Z'
            description: Date and time at which the payment was last accepted, as an ISO-8601 timestamp in UTC.
          locked_at:
            type: string
            format: date-time
            example: '2019-10-01T18:25:47.347Z'
            description: Date and time at which the payment was last locked, as an ISO-8601 timestamp in UTC.
        

# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ripple-labs/refs/heads/main/openapi/ripple-labs-quotes-api-openapi.yml