关于 dflow-platform-fees
dflow-platform-fees 是一项为经 DFlow Trade API 路由的交易添加建造者费用的技能。它说明费用参数、代币账户、API 密钥选择及操作注意事项;具体编码应参考 DFlow docs MCP。
主要功能
- 01按基点设置固定费率
- 02选择支付费用的代币侧
- 03指定已存在的费用账户
- 04确保账户与收取代币匹配
- 05考虑 API 密钥和主机选择
- 06避免费用与滑点问题
适用场景
- 01通过应用路由交易并收取费用
- 02以 USDC 或 SOL 收取费用
- 03为 Trade API 订单添加费用参数
- 04交易前核对费用账户配置
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ dflowprotocol/ dflow-skills --skill dflow-platform-fees安装后在 Claude Code 中输入/dflow-platform-fees确认已加载。
详细介绍
DFlow 平台费用
对你的应用通过 DFlow Trade API 路由的交易收取费用;交易成功执行后,费用将支付到一个由构建者控制的代币账户。这是构建者向用户收取的费用,供构建者通过其分发渠道变现。
前提条件
- DFlow 文档 MCP(
https://pond.dflow.net/mcp)——按照仓库 README 安装。本技能提供操作方法;MCP 是参考资料。准确的参数编码、响应结构和完整的模式矩阵都在其中,切勿猜测。
接入方式
仅限 API。 平台费用是 Trade API 的 /order 参数。dflow CLI 用于直接进行自我交易,不适用于通过分发产品变现,因此不提供平台费用标志——不要寻找 --platform-fee-bps 选项。
使用哪个主机取决于 API 密钥状态,与其他交易技能相同:生产环境使用 https://quote-api.dflow.net 和 x-api-key;开发环境使用 https://dev-quote-api.dflow.net。
费用模型 — platformFeeBps
按基点计算的交易固定百分比(1 bps = 0.01%)。platformFeeBps: 50 → 0.5% 费用。
核心 /order 参数
完整参数详情和编码方式 → 查阅文档 MCP,或直接阅读页面:/spot/trading/platform-fees、/spot/recipes/platform-fees。
platformFeeBps— 以 bps 为单位的固定费用。platformFeeMode— 由哪一侧支付费用:outputMint(默认)或inputMint。feeAccount— 接收费用的 SPL 代币账户。交易前必须已存在;DFlow 不会创建该账户。
费用账户(ATA)
每种收取费用的代币都需要一个 ATA。如果构建者要收取 USDC 和 SOL,就需要一个 USDC ATA 和一个 SOL ATA;两者都必须已创建,且都由构建者的钱包控制。每次请求时将相应账户作为 feeAccount 传入——DFlow 会读取该账户,验证其与模式所用代币匹配,并在交易成功后转账。
应询问用户的内容(以及不应询问的内容)
如果信息缺失,请询问:
- 费率 — 费用的 bps 值。
- 收款代币 — 你希望用哪些代币收取费用?你是否已经拥有由构建者钱包持有的对应 ATA?
- DFlow API 密钥。 平台费用是仅限 HTTP 的功能(作为参数传入用户自己的
/order调用)——没有对应的 CLI 标志,因此始终需要将密钥接入脚本的 HTTP 客户端。请用清晰、中立的方式提问:“你有 DFlow API 密钥吗?” 不要预设密钥存放的位置——像 “你把它放在环境变量里了吗?” 或 “是否已设置DFLOW_API_KEY?” 这样的问法,会引导用户采用他们并未要求的环境变量默认方式。应明确提供选择,不要默默回退到环境变量或开发环境。一个 DFlow 密钥通用于所有场景——同一个x-api-key可用于 Trade API + Metadata API、REST + WebSocket。回答是 → 使用生产环境https://quote-api.dflow.net+x-api-key。回答否 → 使用开发环境https://dev-quote-api.dflow.net,该环境有速率限制。说明链接:https://pond.dflow.net/get-started/api-key。
不要询问:
- RPC、签名、滑点——这些与费用无关;基础交易技能会处理。
- 与用户身份有关的任何内容——平台费用是每个请求的参数,不是钱包级设置。
注意事项(文档 MCP 不会主动提醒)
- 如果不收取费用,就不要设置
platformFeeBps。 API 会将声明的费用计入滑点容差;如果链上实际并未收取该费用,滑点预算就会被“浪费”,导致用户的交易价格变差。只有在另一端确实有一个feeAccount时,才传入非零值。 feeAccount必须在交易前已存在。 DFlow 不会替你创建。如果账户不存在,交易会失败。- 每种收取费用的代币都需要一个 ATA。 USDC 费用账户 ≠ SOL 费用账户。提前创建所需账户。
- 只有交易成功时才会收取费用。 交易失败、取消或回滚 → 不收取费用,也不进行转账。不要将失败交易计入收费交易量。
当某些内容不适用时
有关参数编码的准确说明,请以 docs MCP 为准;有关代码示例,请参阅 /spot/recipes/platform-fees(可运行);滑点交互相关内容,请参阅 FAQ 条目。
相关技能
dflow-spot-trading— 构建基础现货/order调用,并在此基础上添加这些参数。还涵盖优先费以及赞助式/免 Gas 流程。