Skip to main content
简而言之
自动结算会自动将到账存款转换为您在任意区块链上偏好的资产。规则只需定义一次,所有匹配的存款都会被自动兑换并路由到您的目标链——无需任何手动干预。
自动结算

前提条件

在配置自动结算规则之前,请确保具备以下条件:
1

API 密钥

Blockradar 控制台获取您的 API 密钥。前往 Developers 进行生成。
2

已创建 Master Wallet

Blockradar 控制台创建一个 master wallet。规则按 wallet 进行配置——可通过 Get Wallet 查询。
3

目标 Wallet

如需进行跨链结算,请确保在目标区块链上已有可用于接收已转换资产的 wallet。
4

充足的 Gas

请向您的 wallet 充值原生代币(ETH、BNB、MATIC 等),以支付 swap 与转账的手续费。
5

已配置 Webhook

设置 webhook 以接收结算通知。事件族取决于实际执行的结算类型:swap.*withdraw.*gateway-deposit.*reward-deposit.*。详见下文的 Webhook 通知以及 Webhooks 指南。

工作原理

自动结算可以根据您配置的规则,将到账存款自动转换为任意区块链网络上的目标资产。这样无需手动进行 swap 或 bridge,即可让您的资金库自动按偏好转换为多条链上的目标资产。

规则管理

创建并管理自动结算规则,实现资产转换的自动化。

资产转换

根据您的规则,自动将任意稳定币转换为其他资产。

跨链

无缝地在任意区块链网络上完成资产结算。

风险管理

应用滑点容忍度与规则,防止出现不利的执行结果。

自动结算如何运作

1. 创建规则

定义结算规则,明确何时以及如何对存款进行自动转换。

2. 检测存款

当资金到达您的地址时,Blockradar 会自动检测与您规则匹配的存款。

3. 资产转换

存款会被自动 swap 为您所选链上的目标资产(通常是 USDC)。

4. 余额统一

所有已转换的资产都会汇总为您目标链上的统一余额。

结算类型

每条规则最终都会归结为四种结算流程之一。请通过 type 字段显式指定:
出于向后兼容,type 是可选的。在该字段出现之前创建的规则没有 type,并保留其推断行为:Blockradar 通过比较源与目标的资产和链来判定属于 withdraw 还是 swap。请在每条新规则上发送 type 以明确流程,并在更新时发送它,以将旧规则迁移到显式类型体系。
子地址上,type 不只是一个提示。如果创建子地址规则时不带 type,扩展字段——isRewardrewardProviderrewardTypeuseTransactionAmountdeductionPercentage——会被静默丢弃,规则将以旧格式保存。创建子地址规则时请务必发送 type

按类型的校验规则

API 会拒绝互相矛盾的组合:
  • type: gateway 要求 isGateway: true,而 isGateway: true 要求 type: gateway
  • type: earn 要求 isReward: true,而 isReward: true 要求 type: earn
  • 一条规则永远不能同时是 gateway 和 earn
  • type: withdraw 要求提供 destination.address,且目标区块链必须与源区块链相同
  • type: swap 会拒绝与目标资产在同一条链上相同的源资产
  • 同一个 wallet 上的两条规则不能覆盖同一条链上的同一种源资产

gateway 规则可能回退为 swap

只有当源链和源资产符合 Gateway 的支持条件时,gateway 规则才会执行 Gateway 存款。若不符合,该规则会回退并以 swap 的方式执行到 destination.blockchain / destination.asset。资金照常完成结算,但您收到的是 swap.* 而非 gateway-deposit.* webhook。因此在 Gateway 支持范围之外的链上配置 gateway 规则时,请同时处理这两类事件。

自动结算规则

规则组成部分

每条自动结算规则包含以下参数:

实际结算多少金额

默认情况下,结算金额取自地址余额,而不是触发它的那笔存款。可用 useTransactionAmount 选择: 随后金额会按以下顺序调整:
  1. source.minAmount 比较。低于该值则不结算。
  2. source.maxAmount 封顶("-1" 表示不封顶)。
  3. 从剩余金额中扣留 deductionPercentage"2.5" 表示结算 97.5%,并把 2.5% 留在地址上。
当您需要每笔存款恰好对应一次结算时(例如逐笔对账),请设置 useTransactionAmount: true。若希望每次都把地址清空,则保持为 false

Earn 结算规则

earn 规则会把入账资金存入收益仓位,而不是转出。它是自动结算通往 Earn 的入口。 约束条件:
  • 仅限主网。 earn 规则在测试网会被拒绝。
  • source.assets 中的每种资产都必须被所选提供方在该 wallet 的区块链上支持,否则规则在创建时即被拒绝。
  • rewardProviderrewardType 必须一致:fija 始终为 regulated,aave 始终为 defi
  • 一条规则不能同时为 isGatewayisReward
Earn 结算会创建一笔 REWARD_DEPOSIT 交易,并发出 reward-deposit.* webhook。
基于余额的 earn 规则(useTransactionAmount: false)在同一地址、同一资产已有结算处于 pending 或 processing 状态时会跳过新的结算,因为进行中的结算本就会吸收新到账的资金。基于金额的 earn 规则(useTransactionAmount: true)则永远不会被跳过。

规则配置选项

金额阈值

  • 最小金额:仅在金额高于此阈值时才结算
  • 最大金额:限制单次结算的金额上限
  • 累积:当 useTransactionAmount: false(默认值)时,规则会结算该地址上源资产的全部余额,因此单笔低于 minAmount 的存款会在余额超过该阈值后被一并取走

滑点保护

  • 不限制:-1(无滑点上限)
  • 保守:0.1% - 0.5%(对价格影响最小)
  • 适中:0.5% - 1.0%(均衡策略)
  • 激进:1.0% - 2.0%(执行更快)
执行前,结算会先获取报价,并将报价的滑点与您的容忍度比较。若报价超出容忍度,结算会直接失败,而不会以更差的价格成交。
在 swap 规则上请始终显式发送 slippageTolerance"-1" 表示不限制,"5" 之类的值表示 5%。容忍度为 "0" 只允许滑点恰好为零的结算,几乎会拒绝所有真实报价。gateway 和 earn 规则不使用滑点容忍度。

目标地址(可选)

destination.address 字段在 swapgatewayearn 规则中为可选。如果未提供,系统会使用智能回退逻辑来确定收款地址:
对于大多数用例,您可以省略目标地址,让系统根据结算类型自动将资金路由到合适的地址。

执行偏好

  • Fastest:速度优先,而非成本
  • Cheapest:优化为最低手续费
  • Recommended:在速度、成本与可靠性之间取得平衡
  • No Slippage:仅在无价格偏差时执行

规则的层级与优先级

规则的应用方式

关键概念:默认情况下,在 master wallet 上创建的规则会应用到该 master wallet 及其下所有 child address。对于某笔与之匹配的存款,child address 上的规则优先于 master wallet 的规则。

规则应用顺序

优先级是逐笔存款评估的,而不是按地址评估:
  1. 先在该 child address 上寻找匹配的规则。 规则处于启用状态,且其 source.assetssource.blockchain 覆盖该笔存款时,即为匹配。
  2. 回退到 master wallet 规则。 此时只有当某条 master wallet 规则的 inheritance 设置允许它作用于收到该存款的地址时,才会被纳入考虑。
  3. 两个层级都没有匹配:不会进行任何自动结算。
child address 上存在某些规则,并不会使 master wallet 的规则对该地址失效。如果该 child address 的规则都不匹配存入的资产与链,系统会继续评估 master wallet 的规则。若要阻止某条 master wallet 规则作用到某个地址,请显式设置该规则的 inheritance,见下文。

按规则的继承设置

每条 master wallet 规则都通过可选的 inheritance 对象控制自己会传递到哪些 child address: 完全省略 inheritance 将保持原有行为,等同于 all_children
selected_children 的规则要求:
  • childAddressIds 必须存在且非空,否则请求会以 At least one child address must be selected 失败。
  • 每个 ID 都必须是同一网络下、属于您商户的启用状态地址。
  • 这些地址必须与该 wallet 属于同一链系。非 EVM wallet(例如 Tron、Solana 或 Stellar)上的规则只接受同一条链的地址;EVM wallet 上的规则接受任意 EVM 地址。不匹配时会以 One or more selected child addresses are not valid for this chain or are inactive 失败。
inheritance 只存在于 master wallet 规则上。直接创建在 child address 上的规则没有可传递的对象,因此该字段会被忽略,也不会保存在那里。

针对特定区块链的规则

重要:规则相互隔离并绑定到各自的区块链。为某条区块链(例如 Ethereum)配置的规则不会影响其他区块链(例如 Base 或 Optimism)上的存款。
这意味着:
  • 您必须为每条希望自动结算的源区块链分别创建规则
  • 一条针对 “Ethereum 上的 USDC” 的规则不会对 “Base 上的 USDC” 生效
  • 这样可以按链对结算行为实现细粒度控制
示例:如果您希望同时将 Ethereum 与 Base 上的 USDC 自动结算到 Optimism,需要创建两条独立规则:
  1. Ethereum USDC → Optimism USDC 的规则
  2. Base USDC → Optimism USDC 的规则

各级别的使用场景

Master Wallet 规则

  • 统一策略:所有 child address 采用相同的结算行为
  • 简化管理:在单一位置配置默认行为
  • 批量操作:一次性应用规则到多个地址
  • 标准化:确保合规与一致性

Child Address 规则

  • 测试:在特定地址上尝试不同的结算策略
  • 定制需求:满足特定地址的结算需求
  • 覆盖默认:针对特定用例修改行为
  • 细粒度控制:对特定地址精细调整结算

创建自动结算规则

通过控制台

  1. 进入您 wallet 的 Auto Settlements 区域
  2. 点击 “Create New Rule”
  3. 配置规则参数
  4. 设置金额阈值与滑点容忍度
  5. 选择源/目标资产与链
  6. 保存并启用规则

通过 API

可使用 Auto Settlement Rules API 以编程方式创建结算规则:
在此示例中,slippageTolerance 被设为 -1 表示不限制滑点,且 destination.address 被省略。系统会自动使用智能回退逻辑来确定收款地址。
带有显式目标地址的示例:

在多个 wallet 之间复制规则

规则是按区块链划分的,因此要把同一套策略铺开到您运营的每一条链上,就意味着要把同一条规则重建很多次。复制端点可以一次调用完成:
规则是按值发送的,而不是按 ID,因此来源可以是某个 master wallet 的规则、某个 child address 的规则,或您自己拼装的 payload。每条规则的 source.blockchain 在保存前都会被改写为目标 wallet 自身的区块链。

部分成功是正常情况

即使有些规则被跳过、有些 wallet 失败,该调用仍会返回 200。请始终读取响应内容,而不要依赖状态码:
每个目标 wallet 都会被加锁并在各自的事务中写入,因此某一个目标失败时,绝不会让另一个只写入了一半。只要有一条规则被应用到某个 wallet,也会同时开启该 wallet 的自动结算。
rules 数组格式有误、rulestargetWalletIds 为空,或列出的唯一目标就是源 wallet 时(源 wallet 始终会从目标列表中移除),请求本身会以 400 失败。

使用场景

资金库管理

  • 灵活的资产转换:可转换为任意偏好资产(USDC、ETH、USDT 等)
  • 跨链运营:在多条网络中维护余额
  • 自动化归集:无需任何手动干预
  • 多资产策略:支持多种资产偏好与策略

业务运营

  • 支付处理:自动将到账款项结算为偏好资产
  • 收入管理:将多种稳定币转换为指定的目标资产
  • 风险缓解:自动应用滑点保护
  • 资产多样化:自动维持目标资产配置

DeFi 集成

  • 流动性挖矿:自动将奖励结算为偏好资产
  • 流动性管理:汇总 LP 奖励与手续费
  • 投资组合再平衡:维持目标资产配置

最佳实践

规则配置

  • 从保守开始:以较低的滑点容忍度起步
  • 监控表现:跟踪结算的成功率
  • 逐步调整:根据市场情况逐步优化规则
  • 在测试网测试:在主网部署前先验证规则

风险管理

  • 滑点限制:设置合适的容忍度
  • 金额上限:限制最大结算规模
  • 网络选择:选择可靠的目标链
  • 回退规则:创建备用结算方案

运营效率

  • 累积:将 useTransactionAmount 保持为 false,让小额存款在余额超过 minAmount 后被一并结算
  • 时机优化:考虑网络拥堵规律
  • 成本分析:在速度与成本之间取得平衡
  • 监控:为失败的结算配置告警

监控与告警

控制台监控

  • 规则状态:启用/停用状态指示
  • 结算历史:跟踪成功与失败的结算
  • 性能指标:成功率与执行时长
  • 资产余额:监控统一余额的增长情况

Webhook 通知

执行自动结算时会触发 webhook 事件。您收到哪一族事件,取决于实际执行的结算类型:
在不符合 Gateway 支持条件的链上,gateway 规则会回退为 swap,因此发出的是 swap.* 而非 gateway-deposit.* 事件。若您在 Gateway 支持范围之外的链上使用 gateway 规则,请同时订阅这两类事件。

Webhook 负载示例

识别自动结算交易

识别自动结算交易最可靠的方式是查看 metadata 字段。根据具体操作,metadata 中会包含以下键之一: swap、gateway 和提现对应的对象包含: rewardAutoSettlement 的结构不同——它携带规则的 ID,而不是完整规则:
当上述任意一个 metadata 键存在时,该笔交易就是由自动结算规则触发的。对于 swap、gateway 和提现结算,rule 字段包含完整的规则配置,而不仅仅是一个 ID;对于 earn 结算,请通过 ruleId 查询对应规则。

关键 Webhook 数据字段

API 参考

端点

Master Wallet 自动结算

Child Address 自动结算

child address 没有对应的复制端点:复制的目标始终是 master wallet,尽管被复制的规则本身可以来自某个 child address。

不同层级的更新语义不同

更新 child address 规则时,请先读取该规则,再把完整对象发送回去。只发送想要修改的那个字段,会静默地把规则的其余部分重置为默认值。
两种情况下,合并后的规则都会被重新校验,因此更新可能因为某个您并未发送的字段而被拒绝。

规则参数

快速开始

1. 启用自动结算

  • 进入您的 wallet 设置
  • 启用自动结算功能
  • 配置默认偏好

2. 创建您的第一条规则

  • 从一条简单的 USDT 到 ETH 的规则开始(或您偏好的任意资产)
  • 设置较保守的滑点容忍度
  • 选择您偏好的目标链与目标资产

3. 测试与监控

  • 先在测试网部署
  • 监控结算成功率
  • 按需调整参数

4. 逐步扩展

  • 为更多资产添加规则
  • 引入批量处理
  • 针对您的用例进行优化

支持与资源

获取帮助

自动结算是自动化资金库管理的强大方式。请从简单的规则开始,在熟悉系统后再逐步增加复杂度。