Swap
/jupiter/swapParameters (Kit SDK)
When using @sonabuild/kit, you only provide these parameters. The SDK automatically handles context (wallet, origin) and encryption.
inputMintstringrequiredInput token mint address on Solana. Common tokens: SOL=So11111111111111111111111111111111111111112, USDC=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
outputMintstringrequiredOutput token mint address on Solana. Common tokens: SOL=So11111111111111111111111111111111111111112, USDC=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
amountnumberrequiredAmount of input token to swap (in token units, not lamports)
slippageBpsintegerrequiredSlippage tolerance in basis points (50 = 0.5%, 100 = 1%)
Full Request Schema (Direct API)
If calling the API directly (without Kit), send this complete structure. The Kit SDK constructs this automatically from your params.
encryptedstringrequiredSealed box encrypted payload
hintobjectrequiredPlaintext hint for hint verification
contextobjectrequiredwalletstringrequiredUser wallet public key
originstringrequiredRequest origin URL
paramsobjectrequiredinputMintstringrequiredInput token mint address on Solana. Common tokens: SOL=So11111111111111111111111111111111111111112, USDC=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
outputMintstringrequiredOutput token mint address on Solana. Common tokens: SOL=So11111111111111111111111111111111111111112, USDC=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
amountnumberrequiredAmount of input token to swap (in token units, not lamports)
slippageBpsintegerrequiredSlippage tolerance in basis points (50 = 0.5%, 100 = 1%)
includeAttestationbooleanWhether to include attestation in response
Response Schema
All responses follow this structure. The data field contains operation-specific results (see example response →).
successbooleanrequiredtransactionstringBase64 encoded signed transaction
attestationobjectsignaturestringrequiredAttestation signature
docstringNSM attestation document (base64, includes PCR measurements)
metadataobjectprotocolstringrequiredoperationstringrequiredtimestampnumberrequireddataobjectswapobjectrequiredrouteobjectrequiredinputMintstringrequiredSolana wallet or account address (Base58)
outputMintstringrequiredSolana wallet or account address (Base58)
inAmountstringrequiredoutAmountstringrequiredpriceImpactPctstringrequiredslippageBpsnumbermarketInfosarrayfeesobjectsignatureFeeLamportsintegerrequiredprioritizationFeeLamportsintegerrequiredrentFeeLamportsintegerrequiredfeeBpsnumberrouterstringrequestIdstringerrorstring | null# Attested operations require encrypted payloads
# Use @sonabuild/kit SDK to handle encryption automatically
curl -X POST https://api.sona.build/jupiter/swap \
-H "Content-Type: application/json" \
-d '{
"encrypted": "base64_encrypted_payload_from_kit",
"hint": {
"context": {
"wallet": "YourWalletPublicKey",
"origin": "https://your-app.com"
},
"params": {
"inputMint": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
"outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"amount": 100000000,
"slippageBps": 100
}
},
"includeAttestation": true
}'Example Response
{
"transaction": "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQACC...",
"attestation": {
"signature": "PWT2ZBBQ2p0ZuDw+cysk1KfY6OGlCV03TY3W4K63yrgvF+81L2HFctankBsqaIMM110YiJk9v+miitHHevcjDw==",
"pcrs": {}
},
"metadata": {
"protocol": "jupiter",
"operation": "operation",
"timestamp": 1766817748748
},
"data": {
"result": "success"
}
}Cryptographic Attestation
This endpoint generates transactions in a secure enclave. Every transaction includes a cryptographic attestation that can be verified before signing.
Calling directly without the SDK? See our Manual Encryption Guide to learn how to encrypt payloads for attested endpoints.