# Jupiter要求v1却返回v0？核两个入口参数、资源配置与读回版本

整理：链小知（AI 辅助）
资料核对日期：2026-10-14
引用地址：https://lianxiaozhi.com/tools/guides/jupiter-swap-v1-parameters-config-readback
难度：进阶
核验方式：官方文档整理，未执行真实账户操作

针对Swap V2交易v1的实际字段差异，排查静默忽略、路由/代付回退、空ComputeBudget与优先费单位；仅核已有集成资料。

## 使用工具
- [Jupiter](https://lianxiaozhi.com/tools/jupiter) · [官方入口](https://jup.ag/)

## 前置条件
- 准备脱敏的原/build或/order请求参数/响应、实际transactionVersion、原SDK/钱包版本、资源配置与失败日志，不含API Key/签名。
- 按当前Jupiter版本说明核材料；本次未调用报价、/execute、RPC或模拟，也未安装、构建、签名或测试本人钱包。

## 1. 按入口核正确的v1参数

/build用transactionVersion="1"强制生成v1，集成方自己组装；/order用maxSupportedTransactionVersion="1"表示可接受上限，不强制返回v1，两者默认"0"。

核原参数名与响应transactionVersion。/order会忽略transactionVersion，/build会忽略maxSupportedTransactionVersion，且无报错；不能以请求成功或参数里有1推断返回v1。

核对结果：入口、参数名与实际返回版本匹配，静默忽略能定位。
依据：[Jupiter：v0/v1参数、资源配置和费用单位](https://developers.jup.ag/docs/swap/advanced/transaction-versions)

## 2. 解释/order的v0回退

所读版本规则仅Metis胜出且非gasless的/order可返回v1；其他router或gasless仍为v0。包括低SOL自动赞助和integrator payer，未主动申请代付也可能回退。

按原路由/代付与transactionVersion判断，不把资足测试钱包结果推广低SOL用户。/order返回已构建transaction；这里不套/build的手工组装流程。

核对结果：原路由、代付与v0结果可解释，支持上限未当强制选择。
依据：[Jupiter：v0/v1参数、资源配置和费用单位](https://developers.jup.ag/docs/swap/advanced/transaction-versions)

## 3. 识别/build v1响应的新形状

v1的computeBudgetInstructions为空、addressesByLookupTableAddress为{}，新增computeUnitPrice字符串，单位micro-lamports/CU。ALTs为空是v1结构，不等路由资料缺失。

交易字节上限从1232变4096，账户上限仍64；增大字节不等无账户限额。若原响应或序列化版本不一致，先标版本/组装问题，不为排错重发交易。

核对结果：空指令/ALT、实际版本和费用字段单位对应同一响应。
依据：[Jupiter：v0/v1参数、资源配置和费用单位](https://developers.jup.ag/docs/swap/advanced/transaction-versions)

## 4. 核资源配置与绝对优先费

/build v1在message config设置computeUnitLimit和loadedAccountsDataSizeLimit，二者默认0会失败。优先费也在config，priorityFeeLamports是总lamports：ceil(computeUnitPrice×computeUnitLimit÷1,000,000)。

核已有资源估算/配置和整数向上舍入，不将单价直接填总费，也不硬套示例最大CU。旧clamp从computeBudgetInstructions取单价，v1为空时不生效；需按原computeUnitPrice及本人预设上限检查。缺估算就未验证，不发起模拟。

核对结果：资源非默认0，micro-lamports/CU与总lamports换算、限价检查有原资料。
依据：[Jupiter：v0/v1参数、资源配置和费用单位](https://developers.jup.ag/docs/swap/advanced/transaction-versions)

## 5. 核签名能力与读回支持

所读文档指定@solana/kit v8+构建/反序列化/签v1；@solana/web3.js v1不能签。API接受v1参数不代表原SDK或钱包会签，钱包未支持可在签名阶段失败。

已有getTransaction等读回日志需核maxSupportedTransactionVersion:1，否则unsupported version可能只说明读回端不支持。这里不调用RPC；缺回执不视作交易未执行，缺钱包版本不猜兼容。

核对结果：生成、钱包/SDK签名和RPC读回三个能力分别有资料或待核。
依据：[Jupiter：v0/v1参数、资源配置和费用单位](https://developers.jup.ag/docs/swap/advanced/transaction-versions)

## 6. 按实际版本保留结论与失败层

结果写参数忽略、/order正常v0回退、v1组装资源/费用不符、签名能力不足或读回版本缺失。原错误与response版本不明就停在未定位。

/order的/execute可处理两版本是方法说明，不证明原订单提交或落块。已构建transaction、签名提示和tx标识也不能代替最终回执；保留原执行层结果，不重复发送来验证。

核对结果：原版本与具体失败层对应，构建/签名/执行/读回结果未混。
依据：[Jupiter：v0/v1参数、资源配置和费用单位](https://developers.jup.ag/docs/swap/advanced/transaction-versions)

## 常见错误
- v1交易格式与Swap API V2版本、SDK包的v1名称不是同一版本编号。
- 自动赞助使低SOL用户仍可能返回v0；旧ComputeBudget单价clamp不保护v1新字段。

## 完成检查
- 形成入口/参数/实际版本、路由代付、资源/费用单位和签名/读回支持对照。
- documentation：只核官方方法及原材料，未验证本人API、运行配置、钱包兼容或交易。

## 相关知识
- [Gas 怎么计算？交易失败为什么仍可能扣费](https://lianxiaozhi.com/learn/gas-and-failed-transactions)
- [免 Gas 的 Paymaster 怎样承担费用？](https://lianxiaozhi.com/learn/paymaster-sponsored-gas)

## 官方依据
- [Jupiter：v0/v1参数、资源配置和费用单位](https://developers.jup.ag/docs/swap/advanced/transaction-versions)
