Swap Node
Swap Node 是 TradingFlow 的核心交易执行节点,用于在去中心化交易所(DEX)上执行代币交换操作。节点支持多链(Aptos、Flow EVM),具有智能池子搜索、动态滑点保护和精确的价格计算功能。
节点信息
节点类型
swap_node
显示名称
Swap
节点分类
Trade(交易执行)
图标
⚖️ 天平图标
句柄颜色
Amber(橙色) / Emerald(绿色)
节点类别
Base Node(基类节点)
功能说明
Swap Node 在去中心化交易所执行代币交换,自动搜索最优交易池、计算最佳价格、应用滑点保护,并返回完整的交易收据。节点是 Buy Node 和 Sell Node 的基类。
主要用途:
在 DEX 上交换代币
自动寻找最优流动性池
按百分比或固定金额交易
滑点保护和价格计算
多链交易执行(Aptos Hyperion、Flow EVM)
核心特性:
🔍 智能池子搜索:自动查找最优费率的流动性池
💹 动态价格计算:基于池子实时数据计算交换比率
🛡️ 滑点保护:动态计算 sqrt_price_limit 防止价格异常
📊 灵活金额设置:支持百分比和固定金额两种方式
🌐 多链支持:Aptos(Hyperion DEX)和 Flow EVM
输入参数
参数列表
chain
select
✅
aptos
区块链网络
from_token
searchSelect
✅
-
源代币符号
to_token
searchSelect
✅
-
目标代币符号
vault_address
text
✅
-
金库地址
amount_in_human_readable
switch
✅
{mode:"from_fixed",value:""}
交易金额(4 种模式:From/To + Fixed/% v0.4.1+)
slippery
number
✅
1.0
滑点容忍度(%)
chain 参数
支持的区块链:
Aptos
aptos
Hyperion
主网/测试网支持
Flow EVM
flow_evm
Flow DEX
测试网支持
from_token 和 to_token 参数
Aptos 支持的代币:
APT
Aptos Coin
0x1::aptos_coin::AptosCoin
USDT
Tether USD
0xf22bede237...::asset::USDT
USDC
USD Coin
0xf22bede237...::asset::USDC
BTC
Bitcoin
代币地址
ETH
Ethereum
代币地址
Flow EVM 支持的代币:
FLOW
Flow Token
0xEeee...EEeE
USDC
USD Coin
ERC20 地址
USDT
Tether USD
ERC20 地址
amount_in_human_readable 参数 ✨ v0.4.1+
说明: 交易金额,支持 4 种模式(2x2 网格布局显示)
模式切换格式:
4 种模式:
From - Fixed
源代币的固定数量
交换 100 USDT
From - %
源代币余额的百分比
交换 50% 的 USDT
To - Fixed
目标代币的固定数量
获得 1000 APT
To - %
目标代币的百分比增长
增加 20% 的 APT
示例 1 - From Fixed:
说明:用 100 USDT 交换 APT
示例 2 - From Percent:
说明:用 50% 的 USDT 余额交换 APT
示例 3 - To Fixed(v0.4.1+):
说明:交换 USDT 以获得 1000 APT
示例 4 - To Percent(v0.4.1+):
说明:交换 USDT 以使 APT 余额增加 20%
向后兼容性:
"number"模式自动映射为"from_fixed""percentage"模式自动映射为"from_percent"
slippery 参数
格式: 百分比(推荐 0.5-5.0)
高流动性代币
0.5-1.0%
主流交易对
中等流动性
1.0-3.0%
一般代币
低流动性
3.0-5.0%
小市值代币
说明:
防止价格在交易执行时发生不利变化
值越低,保护越强,但交易失败风险越高
Aptos 使用动态 sqrt_price_limit 计算
vault_address 参数
来源: Vault Node 输出
格式: 区块链地址
说明:
通常从上游 Vault Node 接收
必须是有效的金库地址
用于执行交易和查询余额
输出参数
输出列表
trade_receipt
Trade Receipt
object
完整的交易收据
trade_receipt 输出
数据类型: object
完整数据结构:
Aptos 交易示例:
Flow EVM 交易示例:
核心算法
1. 智能池子搜索
Aptos Hyperion DEX:
节点自动搜索最优流动性池,按以下优先级:
1
1
0.05%
稳定币对
2
2
0.3%
主流代币对
3
0
0.01%
极低费率池
4
3
1.0%
低流动性代币
池子适用性检查:
最小流动性:$1,000 USD
有效价格:sqrt_price > 0
TVL 数据可用
工作流程:
2. 动态价格计算
基于池子的价格计算(推荐):
示例计算:
3. 滑点保护
动态 sqrt_price_limit 计算:
保护机制:
卖出波动代币:设置价格下限,防止卖便宜
买入波动代币:设置价格上限,防止买贵
自适应方向:根据交易对自动判断
工作流程
完整执行流程
使用示例
示例 1:简单代币交换
场景: 使用 100 USDT 购买 APT。
工作流结构:
Swap Node 配置:
输出示例:
示例 2:按百分比交易
场景: 使用当前 USDT 余额的 25% 购买 APT。
Swap Node 配置:
执行过程:
示例 3:AI 驱动的动态交易
场景: AI 分析后决定交易代币和金额。
工作流结构:
示例 4:多池子对比
场景: 智能选择最优池子执行交易。
执行日志示例:
API 依赖
Aptos Vault Service
方法: admin_execute_swap()
参数:
Flow EVM Vault Service
方法: execute_swap()
参数:
Monitor API
端点: GET /aptos/pools/pair
参数:
token1: 第一个代币地址token2: 第二个代币地址feeTiers: 费率优先级列表(如 "1,2,0,3")
响应:
最佳实践
1. 金额设置
固定金额(推荐用于精确控制):
百分比金额(推荐用于动态调整):
2. 滑点设置
稳定币对(USDT/USDC)
0.1-0.5%
价格稳定
主流币对(APT/USDT)
0.5-1.0%
流动性好
一般代币
1.0-3.0%
中等流动性
小市值代币
3.0-5.0%
价格波动大
3. 错误处理
✅ 推荐模式:
4. 交易确认
添加确认步骤:
注意事项
⚠️ 重要提示
金额参数互斥
同时提供两个金额参数时,优先使用
amount_in_human_readable建议只提供一个金额参数
滑点设置
过低的滑点可能导致交易失败
过高的滑点可能导致不利成交
根据代币流动性合理设置
池子流动性
确保交易金额不超过池子流动性
大额交易可能需要更高滑点
查看日志中的 TVL 信息
Gas 费用
Aptos 交易消耗 APT 作为 Gas
确保金库有足够 APT 支付 Gas
典型 Gas 消耗:3000-6000 Gas Units
交易失败处理
检查 trade_receipt.success 状态
查看 message 字段了解失败原因
常见失败原因:余额不足、滑点超限、池子流动性不足
故障排查
Q: 提示 "No valid amount specified"?
A:
确认提供了
amount_in_human_readable或amount_in_percentage检查金额值是否有效(大于 0)
百分比值必须在 0-100 范围内
Q: 池子搜索失败,使用默认 fee_tier?
A:
这是正常回退机制,不影响交易
Monitor API 可能暂时不可用
代币对可能没有最优池子
默认 fee_tier=1(0.05%)适用于大多数交易
Q: 交易失败,提示滑点超限?
A:
增加
slippery参数值(如从 0.5 增加到 1.0)检查池子流动性是否充足
尝试减少交易金额
等待市场波动平复
Q: Gas 不足错误?
A:
确保金库有足够 APT(Aptos)或 FLOW(Flow EVM)
典型交易需要 0.001-0.005 APT
可以先执行一次小额充值
Q: 输出金额与预期不符?
A:
检查日志中的价格计算过程
确认当前市场价格
滑点保护会降低最小输出金额
实际输出通常高于 amount_out_min
技术规格
节点版本
0.0.2
节点类别
Base Node
支持的链
Aptos, Flow EVM
支持的 DEX
Hyperion (Aptos), Flow DEX
最大并发
1
执行超时
60 秒
Gas 估算
动态(3000-6000 Units)
日志级别
DEBUG, INFO, WARNING, ERROR
实例节点
Swap Node 是基类节点,有两个专门的实例节点:
这些实例节点提供更清晰的语义,底层使用 Swap Node 的功能。
相关节点
Vault Node - 提供金库地址和余额信息
Buy Node - Swap Node 的买入实例
Sell Node - Swap Node 的卖出实例
Code Node - 预处理交易参数
Condition Node - 检查交易结果
相关文档:
节点与工作流 - 节点基础概念
Vault Node - 金库管理节点
Weather 语法 - 工作流文件格式
Last updated