{"templateId":"markdown","versions":[{"version":"v2026.03","label":"v2026.03","link":"/products/payments-direct-2/api-docs/concepts/quotes","default":true,"active":true,"folderId":"eb16255d"},{"version":"v2025.11","label":"v2025.11","link":"/products/payments-direct-2/v2025.11/api-docs/concepts/quotes","default":false,"active":false,"folderId":"eb16255d"}],"sharedDataIds":{"sidebar":"sidebar-products/payments-direct-2/@v2025.11/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"Quotes","description":"User guides, API reference, and support resources.","siteUrl":"https://docs.ripple.com/products/custody","lang":"en-US","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"quotes","__idx":0},"children":["Quotes"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Quotes let you ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["preview the full cost and outcome of a proposed payment before you initiate it"]},". A quote reflects the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["exchange rate"]},", ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["fees"]},", and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["deliverable amount"]}," between a source and destination currency, and it is ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["time-sensitive"]}," (quotes expire after a defined period). Quotes are central to the Ripple Payments Direct 2.0 payment flow and should be created ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["before"]}," you call the Payments endpoint."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-a-quote-includes","__idx":1},"children":["What a quote includes"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A quote returns the key information you need to decide whether to proceed with a payment, including:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Source and destination amounts"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sourceAmount"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["destinationAmount"]},") depending on whether you request a quote by source amount or destination amount. Amounts are rounded to the number of decimal places defined by the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://www.iso.org/iso-4217-currency-codes.html"},"children":["ISO 4217"]}," standard for the relevant currency (for example, 2 for USD/EUR, 0 for JPY/KRW, 3 for BHD/KWD), using HALF_UP rounding."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Adjusted exchange rate"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["adjustedExchangeRate"]},") that reflects the rate used for conversion."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Fees"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fees"]},") with a total fee and optional breakdown line items."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Taxes"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["taxes"]},") when applicable (taxes apply to Ripple service fees, not principal)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Timestamps and validity"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["createdAt"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expiresAt"]},") and a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["status"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ACTIVE"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["EXPIRED"]},")."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-quotes-fit-into-the-payment-flow","__idx":2},"children":["How quotes fit into the payment flow"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A typical flow is:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create a quote collection"]}," for a proposed payment (usually returns a single quote)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Select a quote"]}," (use the returned quoteId)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create the payment"]}," using the quote information."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Important"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In Ripple Payments Direct 2.0, a quote must be accepted/used before it expires. Expired quotes are marked ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["EXPIRED"]}," and can’t be used to create payments."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Implementation note"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Internally, quote IDs are used in payment creation such that the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quoteId"]}," used becomes the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentId"]},". Make sure your integration treats quote identifiers consistently across quote → payment steps."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"quote-collections-vs-quotes","__idx":3},"children":["Quote collections vs. quotes"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The API uses “quote collection” terminology, but for Ripple Payments Direct 2.0 today a quote collection typically contains a single quote. A quote collection exists to support retrieval and traceability of the quoting event and to allow future expansion to multiple quote options."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"quote-expiration-and-status","__idx":4},"children":["Quote expiration and status"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Quotes are time-sensitive:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quoteStatus=ACTIVE"]}," means the quote can be used to create a payment."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quoteStatus=EXPIRED"]}," means the quote is no longer valid and must be regenerated."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expiresAt"]}," to implement client-side logic (for example, refresh the quote if the expiration time is near)."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"taxes-in-quotes-fees-only","__idx":5},"children":["Taxes in quotes (fees only)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In jurisdictions where Ripple is required to comply with consumption tax regulations (VAT/GST, etc.), quote responses can include taxes applied to Ripple service fees (fixed/variable fee components), not to the principal payment amount."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Key aspects:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Tax calculations provide upfront cost transparency."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Taxes are calculated on the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["fees portion"]},", not the amount being transferred."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If no taxes apply (or the calculated tax is zero), the API will not include the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["taxes"]}," object in the response."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"endpoints","__idx":6},"children":["Endpoints"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use these endpoints to create and retrieve quotes:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v2/quotes/quote-collection"]}," — Create a quote collection for a proposed payment."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /v2/quotes/quote-collection/{quote-collection-id}"]}," — Retrieve a previously created quote collection."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /v2/quotes/{quote-id}"]}," — Retrieve a specific quote by ID."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"funding-model-payincategory","__idx":7},"children":["Funding model (payinCategory)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payinCategory"]}," field specifies how you fund the payment. The following values are supported:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Value"},"children":["Value"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PRE_FUNDING"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The payment is funded from a balance you have pre-deposited with Ripple. Use this for funded account models where you maintain a prefunded ledger balance."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CREDIT_FUNDING"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The payment is settled via an outstanding invoice. Ripple executes the payment and invoices you for the amount afterward."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["JIT_FUNDING"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The payment is funded just-in-time: you must transfer the funds to your Ripple ledger account before the payment expires. See ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#jit-funded-payments"},"children":["JIT-funded payments"]}," below."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FUNDED"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Deprecated."]}," Equivalent to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PRE_FUNDING"]},". Still accepted on v2 quote endpoints; migrate to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PRE_FUNDING"]}," when ready."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["T_PLUS_ONE"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Deprecated."]}," Equivalent to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CREDIT_FUNDING"]},". Still accepted on v2 quote endpoints; migrate to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CREDIT_FUNDING"]}," when ready."]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Deprecation notice"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FUNDED"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["T_PLUS_ONE"]}," are deprecated and will be removed in a future release. The v2 quote endpoint currently accepts all five values. New integrations should use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PRE_FUNDING"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CREDIT_FUNDING"]},", or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["JIT_FUNDING"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"jit-funded-payments","__idx":8},"children":["JIT-funded payments"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When you use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["JIT_FUNDING"]},", the payment enters an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AWAITING_FUNDING"]}," state after it is created. You must transfer the required funds to your Ripple ledger account before the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["jitFundingExpiresAt"]}," timestamp on the payment object. If funding is not received in time, the payment expires and you must create a new quote and payment."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For more information on payment states including ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AWAITING_FUNDING"]},", see ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/products/payments-direct-2/api-docs/concepts/payment-states"},"children":["Payment states"]},"."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"required-inputs-for-quoting","__idx":9},"children":["Required inputs for quoting"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To create a quote collection, provide:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quoteAmount"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quoteAmountType"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SOURCE_AMOUNT"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DESTINATION_AMOUNT"]},")"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sourceCurrency"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["destinationCurrency"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sourceCountry"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["destinationCountry"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payinCategory"]}," (for example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PRE_FUNDING"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CREDIT_FUNDING"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["JIT_FUNDING"]},")"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payoutCategory"]}," (for example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["BANK"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CRYPTO"]},")"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Optional: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["destinationBlockchainNetwork"]}," when quoting crypto payouts."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"error-handling","__idx":10},"children":["Error handling"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Quote Service errors are standardized into categories such as:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["AUTH_xxx"]}," authorization errors (missing/invalid token)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["USR_xxx"]}," validation errors (missing/invalid request fields)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["SYS_xxx"]}," internal or upstream failures"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Errors return a structured object with status and an errors[] array (code, title, type, description, timestamp)."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"best-practices","__idx":11},"children":["Best practices"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SOURCE_AMOUNT"]}," when the sender knows what they want to send."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DESTINATION_AMOUNT"]}," when the sender needs the beneficiary to receive an exact amount."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"example-create-a-quote-collection","__idx":12},"children":["Example: Create a quote collection"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Request"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -i -X POST \\\n  http://127.0.0.1:4000/_mock/products/payments-direct-2/@v2026.03/api-docs/payments-direct-api/payments-direct-2-api/v2/quotes/quote-collection \\\n  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n    \"quoteAmount\": 123.45,\n    \"quoteAmountType\": \"SOURCE_AMOUNT\",\n    \"sourceCurrency\": \"USD\",\n    \"destinationCurrency\": \"MXN\",\n    \"sourceCountry\": \"US\",\n    \"destinationCountry\": \"PH\",\n    \"payoutCategory\": \"BANK\",\n    \"payinCategory\": \"PRE_FUNDING\",\n    \"destinationBlockchainNetwork\": \"Ethereum\"\n  }'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Response (excerpt)"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"quoteCollectionId\": \"11111111-aaaa-2222-bbbb-222222222222\",\n  \"quotes\": [\n    {\n      \"quoteId\": \"7ea3399c-1234-5678-8d8f-d320ea406630\",\n      \"quoteStatus\": \"ACTIVE\",\n      \"quoteAmountType\": \"SOURCE_AMOUNT\",\n      \"sourceAmount\": 123.45,\n      \"destinationAmount\": 2438.19,\n      \"sourceCurrency\": \"USD\",\n      \"destinationCurrency\": \"MXN\",\n      \"sourceCountry\": \"US\",\n      \"destinationCountry\": \"MX\",\n      \"payoutCategory\": \"BANK\",\n      \"payinCategory\": \"PRE_FUNDING\",\n      \"adjustedExchangeRate\": {\n        \"adjustedRate\": 2\n      },\n      \"fees\": [\n        {\n          \"totalFee\": 12.23,\n          \"feeCurrency\": \"USD\",\n          \"feeBreakdown\": [\n            {\n              \"calculatedFee\": 2.43,\n              \"feeName\": \"Service fee\",\n              \"feeDescription\": \"The service fee charged for this transaction.\"\n            }\n          ]\n        }\n      ],\n      \"taxes\": [\n        {\n          \"totalTaxes\": 5.12,\n          \"taxCurrency\": \"USD\",\n          \"taxBreakdown\": [\n            {\n              \"taxAmount\": 2.43,\n              \"taxName\": \"ISS/ VAT/ GST etc\",\n              \"taxDescription\": \"The service fee tax charged for this transaction.\",\n              \"taxRate\": 5\n            }\n          ]\n        }\n      ],\n      \"createdAt\": \"2025-11-02T18:26:00.000123Z\",\n      \"expiresAt\": \"2025-11-02T18:26:00.000123Z\",\n      \"destinationBlockchainNetwork\": \"Ethereum\"\n    }\n  ]\n}","lang":"json"},"children":[]}]},"headings":[{"value":"Quotes","id":"quotes","depth":1},{"value":"What a quote includes","id":"what-a-quote-includes","depth":2},{"value":"How quotes fit into the payment flow","id":"how-quotes-fit-into-the-payment-flow","depth":2},{"value":"Quote collections vs. quotes","id":"quote-collections-vs-quotes","depth":2},{"value":"Quote expiration and status","id":"quote-expiration-and-status","depth":2},{"value":"Taxes in quotes (fees only)","id":"taxes-in-quotes-fees-only","depth":2},{"value":"Endpoints","id":"endpoints","depth":2},{"value":"Funding model (payinCategory)","id":"funding-model-payincategory","depth":2},{"value":"JIT-funded payments","id":"jit-funded-payments","depth":3},{"value":"Required inputs for quoting","id":"required-inputs-for-quoting","depth":2},{"value":"Error handling","id":"error-handling","depth":2},{"value":"Best practices","id":"best-practices","depth":2},{"value":"Example: Create a quote collection","id":"example-create-a-quote-collection","depth":2}],"frontmatter":{"seo":{"title":"Quotes"}},"lastModified":"2026-04-03T15:45:06.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/payments-direct-2/api-docs/concepts/quotes","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}