Bankr x402 SDK - Token Swaps について
自然言語のプロンプトでトークンスワップを構築、実行する Bankr SDK スキルです。複数のチェーンで数量、金額、割合を指定でき、ERC20 の承認情報も確認できます。
主な機能
- 01自然言語プロンプトによるスワップ構築
- 02数量、金額、割合を指定した交換
- 03Base、Ethereum、Polygon、Solana に対応
- 04ERC20 承認要件の確認
- 05事前構築された承認トランザクション情報
活用シーン
- 01指定数量のトークンを別のトークンに交換
- 02目標金額に応じたトークン購入
- 03ERC20 承認が必要なスワップの準備
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ bankrbot/ claude-plugins --skill bankr-x402-sdk---token-swapsインストール後、Claude Code で/bankr-x402-sdk---token-swapsを入力して読み込まれたか確認します。
詳細
SDK トークンスワップ
AI を活用した 0x ルーティングでトークンスワップを構築して実行します。
プロンプトのパターン
| パターン | 例 |
|---|---|
| 金額指定 | 「0.1 ETH を USDC にスワップ」 |
| 価値指定 | 「100 ドル相当の DEGEN を購入」 |
| 割合指定 | 「保有する ETH の 50% を USDC にスワップ」 |
| 全額売却 | 「保有する DEGEN をすべて売却」 |
| チェーン指定 | 「Polygon で ETH を USDC にスワップ」 |
# Amount Swaps
"Swap 0.1 ETH to USDC"
"Exchange 100 USDC for WETH"
"Swap 1000 DEGEN to ETH"
# Value Swaps
"Buy $100 worth of DEGEN"
"Purchase $50 of ETH"
# Percentage Swaps
"Swap 50% of my ETH to USDC"
"Sell 25% of my DEGEN"
# Chain-Specific
"Swap 0.1 ETH to USDC on Base"
"Exchange 100 USDC for WETH on Ethereum"
ERC20 承認の処理
ERC20 のスワップ(ETH 以外のトークンを売却する場合)では、スワップの前に承認が必要です。
const result = await client.promptAndWait({
prompt: "Swap 100 USDC to WETH",
});
const swapTx = result.transactions?.find(tx => tx.type === "swap");
// Check if approval is needed
if (swapTx?.metadata.approvalRequired) {
// Execute pre-built approval transaction first
await wallet.sendTransaction(swapTx.metadata.approvalTx);
}
// Then execute the swap
await wallet.sendTransaction(swapTx.metadata.transaction);
承認フィールド
| フィールド | 説明 |
|---|---|
approvalRequired | スワップ前に承認が必要かどうか |
approvalTx | 事前に構築された承認トランザクション(送信準備完了) |
allowanceTarget | 0x AllowanceHolder のアドレス(手動承認用) |
使用方法
import { BankrClient } from "@bankr/sdk";
const client = new BankrClient({
privateKey: process.env.BANKR_PRIVATE_KEY as `0x${string}`,
});
const result = await client.promptAndWait({
prompt: "Swap 0.1 ETH to USDC on Base",
});
if (result.status === "completed" && result.transactions?.length) {
const tx = result.transactions[0].metadata.transaction;
await wallet.sendTransaction(tx);
}
対応チェーン
| チェーン | ネイティブトークン | デフォルト |
|---|---|---|
| Base | ETH | はい |
| Ethereum | ETH | いいえ |
| Polygon | MATIC | いいえ |
| Solana | SOL | いいえ |
関連スキル
- sdk-capabilities:対応する操作の全一覧
- sdk-transaction-builder:その他のトランザクションタイプ(送金、NFT)
- sdk-wallet-operations:クライアントのセットアップと設定
コメント
Markdown 対応