Jito 捆绑包
一个捆绑包把最多五笔交易原子地、按顺序放进同一个区块:要么全部上链,要么一笔都不上,而且中间不会插进任何别的交易。典型用途是一次创建加多个钱包的买入,或者一次协同卖出。
两个调用:
POST /api/local-bundle用共享的 blockhash 构建未签名交易,Jito 小费放在最后一笔上。- 用各自的钱包签署每笔交易,然后
POST /api/send-bundle把签好名的一组转发给 Jito 区块引擎并返回捆绑包 id。你也可以自己提交给 Jito。
构建
POST https://sol.shrine.trade/api/local-bundle
{
"trades": [
{ "action": "buy", "publicKey": "<wallet A>", "mint": "<mint>", "amount": 0.5, "slippage": 15, "pool": "pumpfun" },
{ "action": "buy", "publicKey": "<wallet B>", "mint": "<mint>", "amount": 0.3, "slippage": 15, "pool": "pumpfun" }
],
"jitoTip": 0.001
}
每一项接受与本地交易相同的字段。每笔交易的钱包可以不同;每个钱包签署自己的那笔交易。小费由最后一笔交易的钱包支付。
响应:
{
"transactions": ["<base64 tx 1>", "<base64 tx 2>"],
"blockhash": "…",
"feeLamports": 2000000,
"tipLamports": 1000000
}
捆绑包中的多操作交易
不传 trades,改传 transactions:每一项是一个多操作请求体,带有自己的 publicKey 和 actions。发币的狙击买入就是这么做的:第一笔交易里创建,后面是其他钱包的买入。在一笔交易中设置的 mintRef 在后面的交易中仍可解析。
{
"transactions": [
{ "publicKey": "<dev>", "actions": [
{ "action": "create", "mintRef": "coin", "mint": "<mint keypair public key>", "name": "My Coin", "symbol": "COIN", "uri": "https://…/metadata.json", "initialBuy": 0.5 }
]},
{ "publicKey": "<wallet A>", "actions": [{ "action": "buy", "mint": "$coin", "amount": 0.3, "slippage": 30 }] },
{ "publicKey": "<wallet B>", "actions": [
{ "action": "buy", "mint": "$coin", "amount": 0.3, "slippage": 30 },
{ "action": "buy", "mint": "$coin", "amount": 0.2, "slippage": 30, "publicKey": "<wallet C>" }
]}
],
"jitoTip": 0.001
}
此时响应携带 signers,每笔交易一个列表,列出必须为它签名的每个密钥(这里第一笔是开发者钱包和 mint 密钥对)。对尚不存在的币的买入按它的发射常量报价,所以用 slippage 给它们留出空间。
发送
POST https://sol.shrine.trade/api/send-bundle
{
"transactions": ["<base64 signed tx 1>", "<base64 signed tx 2>"],
"blockEngine": "https://frankfurt.mainnet.block-engine.jito.wtf",
"guaranteedDelivery": true
}
blockEngine 可选,必须是 Jito 主网主机;默认是全局端点。提交会带上我们的区块引擎认证,Jito 要求捆绑包必须有它才能进入其系统。响应为 { "bundleId": "…", "guaranteedDelivery": true }。用它轮询 Jito 的 getBundleStatuses,或者盯着你的钱包。
开启 guaranteedDelivery 后,我们每两秒重发同一个签好名的捆绑包,直到 Jito 报告它已上链,或者它的 blockhash 在大约一分钟后过期。一次调用,你这边不需要重试循环;交易不可能上链两次,因为已上链的签名在重发时会被拒绝。
单笔交易小费
任何本地交易、创建或领取都接受 jitoTip,它会把小费转账追加到那一笔交易里,这样你可以把它单独作为一个单交易捆绑包发送。
费用
没有交易费:捆绑包随 Lite 和 Developer 提供,这两个套餐交易费率为 0%。把你套餐的密钥作为 x-api-key 发送。小费归 Jito,不归我们。
LimitsLite 1 req/sDeveloper 10 req/sSee plans →