输入/搜索内容
内置函数
结构体
内置变量与常量
通用约定
交易所
能力矩阵
中心化交易所
去中心化交易所
预测市场
证券与期货
链上与自定义接入

Uniswap / PancakeSwap、Aerodrome / Velodrome、KyberSwap、1inch这几个交易所对象是同一套实现(EVM链上的兑换、区间流动性与跨链桥),本目录是它们共用的exchange.IO()指令子页:各交易所页的专属IO指令表列出全部指令并链到这里,交易所之间的差别写在子页的备注里。

指令适用的交易所
兑换询价与模拟:route、simulate;代币表:token全部(KyberSwap、1inch的路径由聚合器给出)
钱包:transfer、receipt、wrap、unwrap全部
设置:approve、slippage、deadline、cancelWait、gasMultiplier全部
区间流动性:lp.*Uniswap、PancakeSwap、Aerodrome、Velodrome;gauge质押lp.stake、lp.unstake、lp.claim只在Aerodrome、Velodrome
跨链桥:bridge.*全部

区间流动性的一般流程:lp.pools或lp.select选池 → lp.plan做计划 → lp.simulate模拟 → lp.add建仓 → lp.positions监控 → lp.collect领手续费、lp.decrease减仓或lp.remove撤出;完整的策略示例见lp.add页;出区间自动调仓、gauge质押复投、DEX与CEX搬砖、定投等可以直接运行的策略见DEX策略示例。

本章内容整章阅读

名称描述
exchange.IO("route", ...)询价:列出一笔兑换在各条候选路径上的报价及最优路径,不下单。
exchange.IO("simulate", ...)按下单逻辑(选路、询价、价格保护)构造兑换交易,只在链上模拟执行(eth_call),不签名、不广播、不花费gas。
exchange.IO("token", ...)登记代币,或列出代币表;登记后的代币可以直接写在交易对里。
exchange.IO("transfer", ...)从配置的钱包转出链上原生币(如ETH、BNB)或ERC20代币。
exchange.IO("receipt", ...)查询本链任意交易(不限本交易所对象发出的下单、转账等)的回执,可以等待交易上链。
exchange.IO("wrap", ...)把原生币(如ETH、BNB)包装成包装币(如WETH、WBNB),1:1兑换,没有滑点,只花gas。
exchange.IO("unwrap", ...)把包装币(如WETH、WBNB)解包成原生币(如ETH、BNB),1:1兑换,没有滑点,只花gas。
exchange.IO("approve", ...)设置代币授权模式:每次只授权本次兑换需要的数量,或授权无限额度。
exchange.IO("slippage", ...)设置市价单的滑点保护比例。
exchange.IO("deadline", ...)设置兑换交易的有效期(截止时间)。
exchange.IO("cancelWait", ...)设置撤单时等待结果的最长时间。
exchange.IO("gasMultiplier", ...)设置gas上限倍数:交易的gasLimit为节点估算的gas乘以该倍数。
exchange.IO("lp.pools", ...)列出代币的全部LP池子(Uniswap、PancakeSwap为V3与V4/Infinity CL池子,Aerodrome、Velodrome为Slipstream与基础池子),包括费率、现价、流动性、TVL与24小时成交额,按T…
exchange.IO("lp.select", ...)按规则自动选择一个LP池子:在流动性充足的池子中选择24小时成交额最大的,或选择指定费率的池子。
exchange.IO("lp.pool", ...)查询单个池子的实时状态,包括两种代币、费率、tick间距、当前tick、价格与流动性。
exchange.IO("lp.ticks", ...)查询池子在一段tick区间内的流动性分布,按段给出流动性和两种代币的数量。
exchange.IO("lp.plan", ...)生成建仓计划(只读,不花钱):按预算、价格区间和形状算出各仓位的区间、流动性和两种代币的数量,以及钱包够不够、还要换多少币。
exchange.IO("lp.simulate", ...)按计划用eth_call模拟建仓交易(不签名、不广播、不花钱),确认交易能执行并查看实际投入的数量。
exchange.IO("lp.add", ...)按计划建仓:需要时先换币,再授权,一笔交易创建计划中的全部仓位,等交易上链后返回仓位ID。
exchange.IO("lp.increase", ...)给已有仓位加仓:预算按仓位区间与现价的配比拆成两种代币,缺的那种先换,然后加到同一个仓位里。
exchange.IO("lp.decrease", ...)按比例减仓,同时领取仓位的全部手续费;仓位保留(比例为1时流动性清零但不销毁NFT)。
exchange.IO("lp.collect", ...)领取仓位累积的手续费,不动本金;多个仓位合成一笔交易。
exchange.IO("lp.remove", ...)撤出仓位的流动性并领取手续费,全部撤出时销毁仓位NFT;多个仓位合成一笔交易。
exchange.IO("lp.positions", ...)列出钱包的LP仓位:区间、是否在区间内、流动性、当前数量与价值、未领手续费。
exchange.IO("lp.history", ...)查询仓位的资金流水与盈亏:存入、撤出的本金和领取的手续费,按当前池价折算。
exchange.IO("lp.track", ...)登记仓位ID,让lp.positions在节点查不到完整历史日志时也能找到这些仓位(重启后找回以前建的仓位)。
exchange.IO("bridge.*", ...)跨链桥(经LI.FI聚合的Across、Stargate、CCTP等):查询支持的链与代币、报价、模拟,把代币从本交易所对象的链转到另一条EVM链或Solana,并查询到账进度。