All Quote

Compare documented v1 Swap API quote results across providers, read provider-level route misses correctly, and choose when to move into transaction building.

All Quote

Use All Quote when you want to inspect Carbium's older v1 quote results across the documented provider set before you choose a route or build a transaction.

This page is a reference companion for:

GET https://api.carbium.io/api/v1/quote/all

For most new executable quote flows, start with Q1. Q1 uses the newer GET /api/v2/quote surface and can return a txn when user_account is present.

Part of the Carbium Solana infrastructure stack.


What All Quote is for

All Quote is useful when your integration needs provider-level visibility, not just one route answer.

Use All Quote when you need to...Use another page when you need to...
compare documented providers for the same pair and amountbuild an executable Q1 transaction payload
inspect output, minimum received, and price impact per providersign, submit, or confirm a transaction
distinguish partial route misses from total request failuretroubleshoot API key or request-family mistakes

It is not the main transaction-building guide. Treat it as a comparison step that can inform your app's route selection, fallback behavior, or diagnostics.


Request shape

Method: GET

URL:

https://api.carbium.io/api/v1/quote/all

Headers:

X-API-KEY: YOUR_API_KEY
accept: text/plain
ParameterRequiredMeaning
fromMintYesInput token mint
toMintYesOutput token mint
amountYesRaw input amount in smallest units
slippageYesSlippage tolerance in basis points
📘

All Quote belongs to the older v1 request family. Use fromMint, toMint, amount, and slippage here. Do not send Q1 fields like src_mint, dst_mint, amount_in, or slippage_bps to this endpoint.


Minimal request

curl --request GET \
  --url 'https://api.carbium.io/api/v1/quote/all?fromMint=So11111111111111111111111111111111111111112&toMint=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v&amount=1000000&slippage=100' \
  --header 'X-API-KEY: YOUR_API_KEY' \
  --header 'accept: text/plain'

This example requests provider-level quotes for SOL to USDC with a raw input amount of 1000000 and 100 basis points of slippage.


How to read the response

A successful response groups results by provider. Each provider can return either a quote object or a route-level error.

{
  "success": true,
  "data": {
    "meteora": {
      "inputMint": "So11111111111111111111111111111111111111112",
      "inAmount": "10000",
      "outputMint": "AT79ReYU9XtHUTF5vM6Q4oa9K8w7918Fp5SU7G1MDMQY",
      "outAmount": "92423917",
      "minimumReceived": "90575439",
      "slippage": 200,
      "priceImpactPercent": "0.0135723484306514772574751266",
      "ammKey": "2EwDgGitpoqDaAkscPXN74hE1C1o6fsiHP9FKo7TDq9r"
    },
    "meteora-dlmm": {
      "error": "Could not find any route",
      "error_code": "COULD_NOT_FIND_ANY_ROUTE"
    }
  }
}

The important part is that route misses can be provider-specific. One provider returning COULD_NOT_FIND_ANY_ROUTE does not automatically mean every provider failed.

FieldHow to use it
inputMint / outputMintConfirm the response is for the pair you requested
inAmountConfirm the raw amount used for comparison
outAmountCompare expected output across providers
minimumReceivedCheck the slippage-bounded output
priceImpactPercentFlag routes that may be too expensive for the trade size
ammKeyInspect the pool or AMM path returned by that provider
error_codeSeparate provider-level misses from full request failures

Route-miss handling

All Quote is most useful when your code handles mixed results deliberately.

Response patternWhat it usually meansBetter handling
One provider returns a quote and another returns COULD_NOT_FIND_ANY_ROUTEThe pair or size is not routable through every providerCompare the successful providers before failing the whole request
Every provider returns a route missThe pair, size, or liquidity path is unavailable through the documented providersChange pair, reduce size, or retry later with a narrower request
Auth fails before provider data appearsThe request never reached route comparisonCheck X-API-KEY and use Get your API key
Parameter names do not match this pageThe request family is mixedUse the v1 names here or move to Q1

For deeper failure triage, use Swap API Errors Reference.


Where All Quote fits in an integration

Use this endpoint as a comparison or diagnostic step:

  1. get a Swap API key
  2. request All Quote for the pair and amount you care about
  3. inspect successful provider responses and provider-level misses
  4. choose whether the route quality is acceptable
  5. move to a transaction-building path only after quote comparison is good enough

If you want the current quote-to-transaction flow, move to Q1. If you are maintaining an older provider-specific transaction builder, move to Swap.

🔶

Use All Quote to compare provider-level routes, then move into Q1 or Swap only when the quote quality matches your product's execution rules. Platform setup starts at carbium.io.