进阶

反 MEV 保护

通过 BoltTx 发送的每一笔交易,默认都会受到 MEV 攻击保护。无需任何配置。

全套餐内置

反 MEV 保护覆盖所有 BoltTx 套餐 —— 从入门到企业版。无额外费用、无需开启开关、无需任何配置。当你通过 BoltTx 发送交易时,它会自动免受抢跑、三明治攻击等各种 MEV 攻击。

默认启用

所有发送端点的 anti_mev 选项默认为 true 。你可以显式设置为 false 关闭,但我们强烈建议保持开启。

工作原理

BoltTx 使用私有交易投递通道,让你的交易负载在上链之前不会出现在公共 mempool 或搜索者订阅源中。

私有投递

交易通过加密通道进入 BoltTx 的私有投递管线,不会被重新广播到搜索者监听的公共订阅源。

零审查

我们不会分析你的交易内容去寻找 MEV 机会。你的负载对我们是一块不透明的字节 —— 无跟单、无抢跑。

最优路由

我们的路由引擎持续在最快投递路径之间自适应调度,最大限度缩短提交到落块之间的时间。

基于 Tip 的公平排序

交易完全按照你设置的 tip 排序 —— tip 越高,优先级越高。无隐藏费用、无特殊照顾、无重排。你发送的已签名字节,就是最终落块的字节。

可防御的 MEV 攻击类型

攻击类型描述防护
抢跑 (Frontrunning)机器人检测到你的交易后,抢在你之前执行同样的交易已防护
三明治攻击 (Sandwich)机器人在你的交易前后各挂一单,利用价格冲击牟利已防护

最佳实践

  • 反 MEV 始终开启 —— 无论是普通 SOL 转账还是多跳 Swap,BoltTx 投递的每一笔交易都由我们的私有投递管线保护,无需任何切换或配置。
  • 仍然建议使用合理的滑点容忍度 —— 反 MEV 防的是抢跑与三明治,但它无法替代应对正常市场波动所需的滑点配置。

可选增强:Jito Sandwich Mitigation

BoltTx 的私有投递管线已经封堵了常见的抢跑与三明治路径。如果你想对通过 Jito bundle 通道的攻击做纵深防御,可以额外给交易打上 Jito 原生的"禁止前插"标记 —— 这是零成本、零延迟的提示,由 Jito block engine 在 bundle 层面强制执行。

原理

在你交易的任一指令里,引用一个以 jitodontfront 开头的任意合法 Solana 公钥。账户不需要对应链上真实账户,但仍必须是一个结构上合法的 pubkey(可被 base58 解码、长度 32 字节)—— 不能用任意字节拼凑。

Jito block engine 会拒绝任何包含此交易、但该交易不在位置 0 的 bundle。攻击者在物理上无法把交易插到你之前。

JavaScript 示例
import { PublicKey } from "@solana/web3.js";

// Any valid Solana pubkey starting with "jitodontfront" works.
// The key does NOT need to exist on-chain.
const dontFrontKey = new PublicKey(
  "jitodontfront111111111111111111111111111111"
);

// Canonical pattern: attach the key as a read-only, non-signer
// account meta on an instruction you already have (e.g. your swap).
// No extra instruction is needed — this saves bytes and CUs.
yourSwapIx.keys.push({
  pubkey: dontFrontKey,
  isSigner: false,
  isWritable: false,
});

// ...then build, sign, and submit the transaction as usual.

适用范围很关键:jitodontfront 规则完全由 Jito 的 block engine 强制执行。只有当交易进入 Jito —— 通过 Jito 的 sendTransaction 端点(mainnet.block-engine.jito.wtf/api/v1/transactions)或 sendBundle 端点 —— 这层保护才会生效。只经 BoltTx 投递的交易完全绕开了 Jito 管线,不会触发任何 jitodontfront 检查。如果你既想要 BoltTx 的落块速度,又想要 Jito 的三明治防护,推荐模式是把同一笔已签名交易并发扇出给两条路径(如何安全实现请参见 Durable Nonce 页)。此功能仅在 mainnet/testnet 生效 —— 在 devnet 或本地测试网上加这个标记完全无效 —— 并且 Jito 自己也声明:此机制是一种缓解手段,并不能保证防住所有形式的三明治排序攻击。

官方最佳实践

  • 把 dontfront 账户标为只读(isWritable: false)。写入也能生效,但只读能优化落块速度。
  • 为你的应用使用一个独特的前缀变体(例如 jitodontfront11111111111111111111111xxxxyyyy)。Jito 接受任何以 jitodontfront 开头的合法 pubkey,使用独特变体可以在链上数据中区分你的应用来源。
  • dontfront 账户可以通过 Address Lookup Table 引入;但 tip 账户不能走 ALT。

延伸阅读