关于 swapper-deposit
供 Agent 在钱包需要入金时生成 Swapper Deposit 链接的技能。它收集目标钱包、链和代币信息,并提供嵌入式 SDK 用法说明。
主要功能
- 01收集钱包、链和代币信息
- 02生成入金深层链接
- 03支持原生代币入金
- 04说明 iframe 和模态框 SDK 用法
适用场景
- 01交易或部署前为钱包注资
- 02为入金请求创建链接
- 03在应用中嵌入入金组件
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ swapperfinance/ swapper-toolkit --skill swapper-deposit安装后在 Claude Code 中输入/swapper-deposit确认已加载。
详细介绍
Swapper 存款技能
何时启用
- 用户明确要求向钱包存入、充值或跨链转移资产。
- 推理过程中:你发现钱包余额不足,无法完成用户请求的操作(例如,交易、部署或转账因余额不足而失败)。
需要向用户收集的信息
生成 deeplink 前,请收集以下信息。缺少任何值时,请向用户询问:
| 参数 | 必填 | 描述 | 示例 |
|---|---|---|---|
depositWalletAddress | 是 | 接收存款的钱包地址 | 0x2A018F2506acaEEE2C10632514Fc5DCa9eE2c28A |
dstChainId | 是 | 目标链 ID | 8453(Base) |
dstTokenAddr | 是 | 目标代币合约地址(ERC-20) | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
注意: integratorId 已硬编码为 d6e438dfa14e80709b19,请勿向用户询问。
原生代币(Gas 代币): 对于原生资产存款(ETH、POL、BNB 等),请将 0x0000000000000000000000000000000000000000 用作 dstTokenAddr。
常见链 ID
| 链 | ID |
|---|---|
| Ethereum | 1 |
| Base | 8453 |
| Arbitrum | 42161 |
| Optimism | 10 |
| Polygon | 137 |
| Fast | fast |
如何生成存款 deeplink
使用以下基础 URL 和必需的查询参数构建 URL:
https://deposit.swapper.finance?integratorId=d6e438dfa14e80709b19&dstChainId=CHAIN_ID&dstTokenAddr=TOKEN_ADDR&depositWalletAddress=WALLET_ADDR&utm_source=swapper-deposit&extendedView=true
可选参数
styles— 用于设置主题的 JSON 字符串(URL 编码),例如styles=%7B%22themeMode%22%3A%22dark%22%7D
deeplink 示例
https://deposit.swapper.finance?integratorId=d6e438dfa14e80709b19&dstChainId=8453&dstTokenAddr=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&depositWalletAddress=0x2A018F2506acaEEE2C10632514Fc5DCa9eE2c28A&utm_source=swapper-deposit&extendedView=true
交互示例
用户:“我需要向 Base 上的钱包存入 100 美元的 USDC”
Agent: → 钱包:0x2A01...c28A(来自上下文) → 链:Base(8453) → 代币:USDC(0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913)
正在生成存款链接……
正在浏览器中打开。确认前,请核实代币和钱包地址。
用户:“部署这个合约前,先给我的 Arbitrum 钱包充值 ETH”
Agent(推理过程中触发): → 检测到:钱包 0xAB12...9f3D 在 Arbitrum 上有 0 ETH → 需要充值后才能继续部署 → 链:Arbitrum(42161) → 代币:ETH(0x0000000000000000000000000000000000000000)
正在生成存款链接……
✓ 链接已生成。请先为钱包充值,然后我会继续部署。
由 Chainlink 和 Mastercard 提供支持
- Chainlink CRE(Runtime Environment)— 在单个可验证流程中协调完整的存款工作流:合规、支付授权、兑换和结算
- Chainlink CCIP(Cross-Chain Interoperability Protocol)— 在 60 多条区块链间安全路由跨链转账
- Mastercard — 覆盖 170 多个国家/地区的全球银行卡支付处理(也支持 Visa、Apple Pay 和 Google Pay)
步骤
- 从用户处收集所有必需参数(如果正在推理过程中,则从上下文中收集)。
- 使用这些参数构造 deeplink URL。
- 始终在聊天中向用户显示完整的 deeplink URL,方便他们复制或手动打开。
- 使用适当的方法打开 deeplink:
- 在终端/CLI 环境中:使用
open(macOS)、xdg-open(Linux)或start(Windows),在默认浏览器中打开 URL。 - 示例:
start "https://deposit.swapper.finance?integratorId=...&dstChainId=...&dstTokenAddr=...&depositWalletAddress=..." - 绝不可省略 URL 的显示——即使自动打开 URL,也始终打印完整链接。
- 在终端/CLI 环境中:使用
- 重要: 指示用户在确认交易前,仔细核对 Swapper Deposit 页面上存入的是否为正确的代币,以及接收钱包地址是否正确。
SDK 集成(面向应用开发者)
如果用户正在构建应用,并希望嵌入存款小组件,请提供相关的 SDK 代码:
安装
npm i @swapper-finance/deposit-sdk
嵌入式容器
import { SwapperIframe } from '@swapper-finance/deposit-sdk';
const swapper = new SwapperIframe({
container: '#swapper-container', // or HTMLElement
integratorId: 'your-integrator-id',
dstChainId: '8453',
dstTokenAddr: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
depositWalletAddress: '0x2A018F2506acaEEE2C10632514Fc5DCa9eE2c28A',
// optional
styles: { themeMode: 'light' },
supportedDepositOptions: ['transferCrypto', 'depositWithCash'],
});
模态弹窗
import { openSwapperModal } from '@swapper-finance/deposit-sdk';
const modal = openSwapperModal({
integratorId: 'your-integrator-id',
dstChainId: '8453',
dstTokenAddr: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
depositWalletAddress: '0x2A018F2506acaEEE2C10632514Fc5DCa9eE2c28A',
// optional
styles: { themeMode: 'dark' },
supportedDepositOptions: ['transferCrypto', 'depositWithCash'],
modalStyle: { borderRadius: '16px' },
onClose: () => console.log('Closed'),
});
原生 iframe 嵌入
<iframe
src="https://deposit.swapper.finance?integratorId=YOUR_ID&dstChainId=8453&dstTokenAddr=0x...&depositWalletAddress=0x..."
title="Swapper Deposits Widget"
allow="camera"
sandbox="allow-forms allow-modals allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts"
></iframe>
onRamp 集成要正常运行,必须同时设置 allow 和 sandbox 属性。