Soheil Router について
Soheil Routerは、EVMネットワーク間のトークンスワップ見積もりと取引状況を提供し、DEXやアグリゲーターの価格を比較して非カストディアルコントラクトで実行します。開発者やAIアシスタントはAPI、TypeScriptパッケージ、MCPエンドポイントを利用できます。
主な機能
- 01複数の取引先でスワップ価格を比較
- 02見積もりとトランザクション詳細の取得
- 03取引の完了までの状況追跡
- 04対応ネットワーク間のブリッジ
- 05非カストディアルコントラクトでの実行
活用シーン
- 01トークンスワップの見積もり取得
- 02送信済み取引の状況確認
- 03ネットワーク間のトークンスワップやブリッジ
MCP 対応
Streamable HTTPのMCPサーバーは、`get_networks`、`get_api_info`、`get_quote`、`get_trade_status` ツールを提供します。利用にはAuthorizationヘッダーでAPIキーを渡します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://api.soheil.fi/v1/mcpclaude mcp add --transport http fi-soheil-router https://api.soheil.fi/v1/mcp{"mcpServers":{"fi-soheil-router":{"type":"http","url":"https://api.soheil.fi/v1/mcp"}}}Cursor で開く{"servers":{"fi-soheil-router":{"type":"http","url":"https://api.soheil.fi/v1/mcp"}}}VS Code で開く{"mcpServers":{"fi-soheil-router":{"type":"http","url":"https://api.soheil.fi/v1/mcp"}}}{"mcpServers":{"fi-soheil-router":{"serverUrl":"https://api.soheil.fi/v1/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://api.soheil.fi/v1/mcp認証が必要ツール
詳細
Soheil Router
最適なトークンスワップ価格を取得する API 呼び出しは 1 回、取引を実行するトランザクションも 1 回です。 Soheil Router は各ネットワーク上の DEX やアグリゲーターの価格を比較し、独自のコントラクトを通じて取引を実行します。このコントラクトはアップグレード不可で、エクスプローラー上でソースコードが検証済みです。また、取引の合間に資金を保持することはありません。
- ドキュメント: https://soheil.fi/developers/docs/
- 無料の API キー: https://soheil.fi/developers/dashboard/
- OpenAPI 3.1: https://api.soheil.fi/v1/openapi.json
- AI アシスタント向け: https://soheil.fi/developers/llms-full.txt · MCP サーバー:
https://api.soheil.fi/v1/mcp
手数料
スワップごとにルーターへの手数料が 0.1%(10 bps)かかります。最大 0.9% の独自手数料を追加でき、同じトランザクション内でウォレットに支払われます。請求手続きは不要です。
インストール
npm install github:soheil-fi/soheil-router
クイックスタート
import { COIN, SoheilRouter } from "@soheil-fi/router";
const router = new SoheilRouter({ apiKey: process.env.SOHEIL_ROUTER_KEY }); // keep the key on your server
const quote = await router.getQuote({
fromChainId: 8453, // Base
fromToken: COIN, // ETH
toToken: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", // USDC
fromAmount: 10n ** 15n, // 0.001 ETH, in wei
fromAddress: "0xUserWallet",
integratorBps: 30, // your fee: 0.3%
});
// quote.approvalAddress → approve exactly quote.fromAmount first (null when selling the coin)
// quote.transactionRequest → have the user's wallet send it unchanged
const status = await router.waitForTrade(8453, txHash); // DONE, REFUNDED, FAILED or NOT_OURS
viem を使ったスワップ全体の例は、examples/swap-viem.ts にあります。
| メソッド | キー | 戻り値 |
|---|---|---|
getNetworks() | 不要 | 稼働中のネットワーク、自社コントラクト、取引で呼び出される可能性のあるコントラクト |
getInfo() | 不要 | 手数料、制限、ドキュメント |
getQuote(request) | 必要 | 価格、最低受取額、手数料、承認先アドレス、トランザクション |
getStatus(chainId, txHash) | 必要 | PENDING、DONE、REFUNDED、FAILED、NOT_OURS、NOT_FOUND のいずれか |
waitForTrade(chainId, txHash) | 必要 | 取引が確定するまで getStatus を呼び出します |
エラーは SoheilRouterError としてスローされます。code(NO_ROUTE、RATE_LIMITED、UNAUTHORIZED…)、HTTP の status、ユーザーに表示しても安全な message が含まれます。
別のネットワークへのブリッジ
toChainId にルーターの別のネットワークを設定します。応答の type は "bridge" になります。ユーザーが署名するトランザクションは引き続き送信元ネットワークで 1 回だけで、受取人への支払いは数秒以内に送信先で行われます。
const quote = await router.getQuote({
fromChainId: 8453, // from Base
toChainId: 42161, // to Arbitrum
fromToken: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", // USDC on Base
toToken: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", // USDC on Arbitrum
fromAmount: 100_000_000n, // 100 USDC
fromAddress: "0xUserWallet",
});
// quote.toAmount is what arrives; a transfer nobody fills is refunded to fromAddress on Base (status REFUND_PENDING until then)
const status = await router.waitForTrade(8453, txHash); // DONE (status.receiving = the payout) or REFUNDED
fromToken と toToken には任意のトークンを指定できます。ブリッジが取り扱わないトークンは、まず送信元ネットワークでスワップするか、送信先で到着後に購入します(この場合、toAmountMin はそのスワップの最低額です。価格がそれを下回ると、受取人には代わりに USDC などのブリッジされたトークンが届きます)。トランザクションは引き続き 1 回だけで、手数料も 1 回だけ徴収されます。ドキュメント:https://soheil.fi/developers/docs/bridging/
AI アシスタントから使う(MCP)
API は MCP サーバー(Streamable HTTP)としても利用でき、get_networks、get_api_info、get_quote、get_trade_status のツールを提供します。
claude mcp add --transport http soheil-router https://api.soheil.fi/v1/mcp \
--header "Authorization: Bearer $SOHEIL_ROUTER_KEY"
{ "mcpServers": { "soheil-router": { "url": "https://api.soheil.fi/v1/mcp", "headers": { "Authorization": "Bearer sk_your_key" } } } }
知っておくとよいこと
- 金額はトークンの最小単位による整数文字列です。
bigintを使用し、JavaScript の数値は決して使わないでください。 fromAmountと同じ額だけを承認し、無制限の額は決して承認しないでください。- ユーザーは常に自身のウォレットで署名します。API がキーや資金を保持することはありません。
Soheil.fi が開発しました。お問い合わせ:[email protected]
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。