mcpField
S
swapper-deposit

swapper-deposit

github.com/swapperfinance其他851781 次安装29 周前更新
代码仓库

关于 swapper-deposit

供 Agent 在钱包需要入金时生成 Swapper Deposit 链接的技能。它收集目标钱包、链和代币信息,并提供嵌入式 SDK 用法说明。

主要功能

  1. 01收集钱包、链和代币信息
  2. 02生成入金深层链接
  3. 03支持原生代币入金
  4. 04说明 iframe 和模态框 SDK 用法

适用场景

  1. 01交易或部署前为钱包注资
  2. 02为入金请求创建链接
  3. 03在应用中嵌入入金组件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/swapperfinance/swapper-toolkit --skill swapper-deposit

安装后在 Claude Code 中输入/swapper-deposit确认已加载。

详细介绍

Swapper 存款技能

何时启用

  • 用户明确要求向钱包存入、充值或跨链转移资产。
  • 推理过程中:你发现钱包余额不足,无法完成用户请求的操作(例如,交易、部署或转账因余额不足而失败)。

需要向用户收集的信息

生成 deeplink 前,请收集以下信息。缺少任何值时,请向用户询问:

参数必填描述示例
depositWalletAddress是接收存款的钱包地址0x2A018F2506acaEEE2C10632514Fc5DCa9eE2c28A
dstChainId是目标链 ID8453(Base)
dstTokenAddr是目标代币合约地址(ERC-20)0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

注意: integratorId 已硬编码为 d6e438dfa14e80709b19,请勿向用户询问。

原生代币(Gas 代币): 对于原生资产存款(ETH、POL、BNB 等),请将 0x0000000000000000000000000000000000000000 用作 dstTokenAddr。

常见链 ID
链ID
Ethereum1
Base8453
Arbitrum42161
Optimism10
Polygon137
Fastfast

如何生成存款 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)

正在生成存款链接……

✓ https://deposit.swapper.finance?integratorId=d6e438dfa14e80709b19&dstChainId=8453&dstTokenAddr=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&depositWalletAddress=0x2A01...c28A&utm_source=swapper-deposit&extendedView=true

正在浏览器中打开。确认前,请核实代币和钱包地址。


用户:“部署这个合约前,先给我的 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)

步骤

  1. 从用户处收集所有必需参数(如果正在推理过程中,则从上下文中收集)。
  2. 使用这些参数构造 deeplink URL。
  3. 始终在聊天中向用户显示完整的 deeplink URL,方便他们复制或手动打开。
  4. 使用适当的方法打开 deeplink:
    • 在终端/CLI 环境中:使用 open(macOS)、xdg-open(Linux)或 start(Windows),在默认浏览器中打开 URL。
    • 示例:start "https://deposit.swapper.finance?integratorId=...&dstChainId=...&dstTokenAddr=...&depositWalletAddress=..."
    • 绝不可省略 URL 的显示——即使自动打开 URL,也始终打印完整链接。
  5. 重要: 指示用户在确认交易前,仔细核对 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 属性。

评论

支持 Markdown