Build one unsigned Solana transaction

There is no approve on Solana and therefore no steps[] array: the response carries a single base64 v0 transaction. simulation.status is "passed" only after the build was run against the network and the output was proven to reach the destination account, so anything else is a refusal to proceed, not a warning. Omit "provider" and the best route is chosen here, which costs one fan-out before the build; pass one from a prior quote and that wait disappears.

post/svm/swap

Request

  • Base URL: https://swap.vurto.cc/v1
  • URL: https://swap.vurto.cc/v1/svm/swap
  • Auth: none required

Request body

chainId'solana-mainnet' required

Solana names its network, it does not number it.

tokenInstring required

Mint address, or the symbol of a VERIFIED token. Symbols resolve only against the verified list on purpose: on Solana anyone can mint a token carrying another one's symbol, name and icon, and the mint is the only real identity. CASE-SENSITIVE.

tokenOutstring required

Mint address, or the symbol of a VERIFIED token. Symbols resolve only against the verified list on purpose: on Solana anyone can mint a token carrying another one's symbol, name and icon, and the mint is the only real identity. CASE-SENSITIVE.

walletstring required

The signing wallet, base58. CASE-SENSITIVE.

amountstring

Human decimal. Use this OR amountIn.

amountInstring

Raw integer string.

tokenInDecimalsinteger

Optional.

tokenOutDecimalsinteger

Optional.

slippageBpsinteger

Optional.

providerstring

Optional: jupiter_router, raydium, orca or meteora. Omitted means "pick the best". jupiter_meta is no longer compared: it charges its own fee, cannot deliver to a receiver other than the signer, and each Jupiter call queues behind a shared rate budget.

receiverstring

Optional: deliver the output to this address instead of the signing wallet. Only providers that can honour it are considered.

Response

{build: {quote, transaction, buildId, lastValidBlockHeight, simulation, executionRef?}}. executionRef present or absent decides how you send it, see POST /svm/execute.

Changes

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