Quote an N:N basket: N input tokens funding M output tokens in one atomic transaction

Not decomposable into separate POST /quote calls — the backend's waterfall allocation (which input finances which output) is the thing being computed, then each resulting slice is quoted through the same provider fan-out POST /quote uses. inputLegs[] is what you sell (tokenIn + amount|amountRaw, each). outputLegs[] is what you want back as outputPercent, an integer percent of the TOTAL basket value (not a fixed amount) — every outputLegs[].outputPercent in the request must sum to exactly 100. Up to 10 combined input+output legs; the waterfall never produces more than inputLegs.length + outputLegs.length - 1 real on-chain legs. CoW is never a candidate leg (an EIP-712 signature or a separately-settled ETH-flow order can't be one leg of one atomic transaction). Pass the signing wallet to receive a buildable basket quoteId; without it the response is indicative and has no handoff.

post/multi-quote

Request

  • Base URL: https://swap.vurto.cc/v1
  • URL: https://swap.vurto.cc/v1/multi-quote
  • Auth: none required

Request body

walletstring

Optional EVM signing address. Makes the basket quote executable and adds quoteId to the response.

chainIdinteger required

The multi-swap router must be deployed on this chain or the request fails with 503 multi_swap_not_supported_on_chain.

slippageBpsinteger

Applied to every leg. Default 50.

Response

OK

requestIdstring uuid
quoteIdstring uuid

Present only when the request included wallet. Pass it to POST /multi-quote/build.

chainIdinteger
walletstring
pivotstring

USDC address on this chain — the internal reference asset the waterfall allocation prices every input/output against. Not part of execution.

indicativeboolean
expiresAtinteger

Unix ms for the shortest-lived leg quote.

refreshedAtinteger

Changes

No recorded changes to this operation across all 1 revision of this API.