mcpField
S
swapper-deposit

swapper-deposit

github.com/swapperfinanceその他851781 回インストール29 週間前に更新
リポジトリ

swapper-deposit について

ウォレットへの入金が必要な際に、Swapper Deposit のリンクを作成するエージェント向けスキルです。宛先情報の収集や URL の生成に加え、SDK の組み込み方法も案内します。

主な機能

  1. 01ウォレット・チェーン・トークン情報の収集
  2. 02入金ディープリンクの生成
  3. 03ネイティブトークン入金への対応
  4. 04iframe とモーダル SDK の案内

活用シーン

  1. 01取引やデプロイ前のウォレットへの入金
  2. 02入金依頼に応じたリンク作成
  3. 03アプリへの入金ウィジェットの組み込み

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/swapper-depositを入力して読み込まれたか確認します。

詳細

Swapper 入金スキル

有効にするタイミング

  • ユーザーがウォレットへの資産の入金、資金追加、チャージ、またはブリッジを明示的に依頼したとき。
  • 推論の途中で、依頼された操作(取引、デプロイ、送金など)が残高不足で失敗し、ウォレットに十分な資金がないと検出したとき。

ユーザーから収集する情報

ディープリンクを生成する前に、以下の情報を収集します。不足している値があれば、ユーザーに尋ねてください。

パラメーター必須説明例
depositWalletAddressはい入金を受け取るウォレットアドレス0x2A018F2506acaEEE2C10632514Fc5DCa9eE2c28A
dstChainIdはい送金先チェーン ID8453(Base)
dstTokenAddrはい送金先トークンのコントラクトアドレス(ERC-20)0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

注記: integratorId は d6e438dfa14e80709b19 にハードコードされています。ユーザーに尋ねないでください。

ネイティブトークン(ガストークン): ネイティブ資産(ETH、POL、BNB など)を入金する場合は、dstTokenAddr に 0x0000000000000000000000000000000000000000 を使用してください。

一般的なチェーン ID
チェーンID
Ethereum1
Base8453
Arbitrum42161
Optimism10
Polygon137
Fastfast

入金ディープリンクの生成方法

以下のベース 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
ディープリンクの例
https://deposit.swapper.finance?integratorId=d6e438dfa14e80709b19&dstChainId=8453&dstTokenAddr=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&depositWalletAddress=0x2A018F2506acaEEE2C10632514Fc5DCa9eE2c28A&utm_source=swapper-deposit&extendedView=true

やり取りの例

ユーザー:「Base 上のウォレットに USDC を 100 ドル分入金する必要があります」

エージェント: → ウォレット: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 を入金してください」

エージェント(推論途中のトリガー): → 検出:ウォレット 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. パラメーターを使ってディープリンク URL を作成します。
  3. ユーザーが手動でコピーまたは開けるよう、必ずチャット内にディープリンク URL 全体を表示してください。
  4. 適切な方法でディープリンクを開きます。
    • ターミナル/CLI の場合:open(macOS)、xdg-open(Linux)、または start(Windows)を使って、デフォルトのブラウザーで URL を開きます。
    • 例:start "https://deposit.swapper.finance?integratorId=...&dstChainId=...&dstTokenAddr=...&depositWalletAddress=..."
    • 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 属性の両方が必要です。

コメント