swapper-deposit について
ウォレットへの入金が必要な際に、Swapper Deposit のリンクを作成するエージェント向けスキルです。宛先情報の収集や URL の生成に加え、SDK の組み込み方法も案内します。
主な機能
- 01ウォレット・チェーン・トークン情報の収集
- 02入金ディープリンクの生成
- 03ネイティブトークン入金への対応
- 04iframe とモーダル SDK の案内
活用シーン
- 01取引やデプロイ前のウォレットへの入金
- 02入金依頼に応じたリンク作成
- 03アプリへの入金ウィジェットの組み込み
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ swapperfinance/ swapper-toolkit --skill swapper-depositインストール後、Claude Code で/swapper-depositを入力して読み込まれたか確認します。
詳細
Swapper 入金スキル
有効にするタイミング
- ユーザーがウォレットへの資産の入金、資金追加、チャージ、またはブリッジを明示的に依頼したとき。
- 推論の途中で、依頼された操作(取引、デプロイ、送金など)が残高不足で失敗し、ウォレットに十分な資金がないと検出したとき。
ユーザーから収集する情報
ディープリンクを生成する前に、以下の情報を収集します。不足している値があれば、ユーザーに尋ねてください。
| パラメーター | 必須 | 説明 | 例 |
|---|---|---|---|
depositWalletAddress | はい | 入金を受け取るウォレットアドレス | 0x2A018F2506acaEEE2C10632514Fc5DCa9eE2c28A |
dstChainId | はい | 送金先チェーン ID | 8453(Base) |
dstTokenAddr | はい | 送金先トークンのコントラクトアドレス(ERC-20) | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
注記: integratorId は d6e438dfa14e80709b19 にハードコードされています。ユーザーに尋ねないでください。
ネイティブトークン(ガストークン): ネイティブ資産(ETH、POL、BNB など)を入金する場合は、dstTokenAddr に 0x0000000000000000000000000000000000000000 を使用してください。
一般的なチェーン ID
| チェーン | ID |
|---|---|
| Ethereum | 1 |
| Base | 8453 |
| Arbitrum | 42161 |
| Optimism | 10 |
| Polygon | 137 |
| Fast | fast |
入金ディープリンクの生成方法
以下のベース 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)
入金リンクを生成しています...
ブラウザーで開きます。確定する前に、トークンとウォレットアドレスをご確認ください。
ユーザー:「このコントラクトをデプロイする前に、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 にも対応)
手順
- ユーザーから必要なパラメーターをすべて収集します(推論の途中であれば、コンテキストから取得します)。
- パラメーターを使ってディープリンク URL を作成します。
- ユーザーが手動でコピーまたは開けるよう、必ずチャット内にディープリンク URL 全体を表示してください。
- 適切な方法でディープリンクを開きます。
- ターミナル/CLI の場合:
open(macOS)、xdg-open(Linux)、またはstart(Windows)を使って、デフォルトのブラウザーで URL を開きます。 - 例:
start "https://deposit.swapper.finance?integratorId=...&dstChainId=...&dstTokenAddr=...&depositWalletAddress=..." - 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 属性の両方が必要です。