gasrescue

io.github.gasrescue由 GitHub 帳號 gasrescue 發布v0.1.9更新於 Nov 4, 2026

Rescue USDC, USDT and USDG from wallets with no gas: send or swap them on EVM, Solana and Tron.

已驗證STDIO僅桌面雲端與基礎設施金融

概覽

AI 產生的概覽

把沒有 gas 的錢包中的 USDC、USDT、USDG 轉出或換成 gas 幣,涵蓋 EVM 鏈、Solana 與 Tron。

可以做什麼
  • 列出支援的鏈、代幣、費用與限額
  • 跨鏈檢查位址的穩定幣餘額、gas 餘額以及代幣是否被凍結
  • 為無 gas 錢包的轉帳或換成 gas 幣產生報價
  • 回傳報價對應的簽章請求並提交錢包簽章
  • 查詢報價或轉帳的狀態、費用與區塊瀏覽器連結
適用情境
適用於錢包裡只有穩定幣、沒有原生 gas 幣,轉帳因 gas 不足而失敗,使用者想把資金轉出或讓錢包重新能自行支付手續費的情況。
執行需求
以 stdio 在本機執行,通常透過 npx 啟動 gasrescue-mcp 套件;不需要帳號或 API key。選用的 GASRESCUE_EVM_PRIVATE_KEY 可啟用 EVM 簽章,選用的 GASRESCUE_ALLOWED_RECIPIENTS 可限定收款位址。需要連線至 gasrescue.io 的網路存取。
安裝前請注意
提交簽章會轉移資金且無法復原;轉帳為最終結果,且只能提交一次。設定 GASRESCUE_EVM_PRIVATE_KEY 後伺服器會以該錢包簽章,應只使用存放可被代理轉移資金的專用錢包。費用為 0.5%(最低 0.25 美元,依轉帳或兌換設有上限)加網路費,並從金額中扣除。限額:每筆 2 至 1000 美元,每個錢包 24 小時內 10 筆,Tron 至少 10 美元。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 gasrescue,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

gasrescue MCP server

Rescues stablecoins from wallets that have no gas, for AI agents, through gasrescue.io. EVM chains, Solana and Tron in one server, no API key and no account.

The wallet holds USDC or USDT but no ETH, POL, AVAX, BNB, SOL, TRX or HYPE, so every transfer fails with "insufficient funds for gas". With this server an agent can find out where the money is stuck, then still send the stablecoins, or swap a few dollars into the gas coin so the wallet works on its own again: the wallet signs, gasrescue sends the transaction and pays the network fee, and its fees come out of the amount.

Chains: Base, Arbitrum, Ethereum, Polygon, Avalanche, BNB Chain, HyperEVM, Robinhood Chain, Solana, Tron. Tokens: USDC, USDC.e, USDT (USDT0 on Arbitrum, Polygon and HyperEVM), USDG, USD1, FDUSD, depending on the chain.

Listed in the official MCP Registry as io.github.gasrescue/gasrescue.

Tools

ToolWhat it does
gasrescue_infoChains, tokens, fees and limits
check_walletRead-only: stablecoins and gas of an address on every chain, issuer freezes included
quote_sendQuote a send without gas; returns fees, what the recipient gets and a transfer id
quote_swapQuote a swap into the gas coin (ETH, POL, AVAX, SOL, HYPE) without gas
get_signing_requestWhat the wallet has to sign for a quote
submit_signaturesSubmit the signatures; gasrescue sends and pays the gas
get_transferStatus and explorer link
sign_and_submitOnly with GASRESCUE_EVM_PRIVATE_KEY: checks and signs an EVM quote with that wallet

Setup

Claude Desktop, Cursor and other MCP clients:

json
{  "mcpServers": {    "gasrescue": {      "command": "npx",      "args": ["-y", "gasrescue-mcp"]    }  }}

Without a key the server never signs anything. The agent hands the signing request to the user's wallet, or to its own wallet tool, and submits the signatures.

BNB Chain works without a contract, because USDT and USDC there have no signed transfers. The signing request has kind evm-transactions: call submit_signatures with fund: true and gasrescue sends the wallet a little BNB, then the wallet sends the two listed transfers itself (fee first) and the agent reports their hashes with submit_signatures and txs: { fee, transfer }.

Letting the agent sign (EVM only)

json
"env": {  "GASRESCUE_EVM_PRIVATE_KEY": "0x…",  "GASRESCUE_ALLOWED_RECIPIENTS": "0xYourExchangeDeposit,0xYourOtherWallet"}

Before it signs, sign_and_submit checks every signed field against the quote: the wallet, the chain, the gasrescue contract, the amount, the fee, the recipient and, on a swap, the minimum output. Tokens with only a permit (USDT0 and USDC.e on Polygon, USDT on Avalanche) take two signatures, a permit plus the order itself; both are checked. Against gasrescue.io it signs only for the published gasrescue contracts. With GASRESCUE_ALLOWED_RECIPIENTS set, sends go only to those addresses. The key stays in this process; only signatures are sent.

Use a wallet that holds only what the agent should be able to move. Transfers on a blockchain are final.

Limits

$2 to $1,000 per transfer, 10 transfers per wallet in 24 hours, Tron at least $10. Service fee 0.5%, at least $0.25, at most $2 per send and $5 per swap, plus the network fee. Every quote shows the exact figures.

More: https://gasrescue.io/agents

License

MIT

來源:README.md,提交 d462d91

工具

7

gasrescue_info

Supported chains, tokens and fees

Lists what gasrescue supports: the chains, the stablecoins on each, which chains can swap into their gas coin, the fees and the limits. Use gasrescue when a wallet holds USDC, USDT or USDG but no ETH, POL, AVAX, BNB, SOL, TRX or HYPE for the network fee ("insufficient funds for gas"). Call this first to get the chain keys and token symbols the other tools expect. Read-only, takes no input. Returns network, fees (service percent, minimum, maximum), limits (USD per transfer, transfers per wallet per day, quote validity) and the chains with their tokens and gas coin. gasDrop: true marks a chain without a gasrescue contract (BNB Chain): there gasrescue sends the wallet a little gas and the wallet sends two plain transfers itself.

無需輸入參數。

check_wallet

Check a wallet for stuck stablecoins

Checks one address on every supported chain where it is valid: which stablecoins it holds, its gas balance, whether the stablecoins are stuck (not enough gas to move them) and whether a token is frozen by its issuer. Use it before quote_send or quote_swap to find the chain and token to rescue. A frozen token cannot be moved by any tool here; only the issuer can lift that. Read-only: nothing is signed, sent or stored. Returns { address, chains: [{ key, label, native, tokens: [{ symbol, balance, frozen }], gas, stuck, frozen, canSwap }] }; a chain that did not answer has error: true.

輸入參數address必填

quote_send

Quote a send without gas

Prices sending USDC, USDT or USDG from a wallet without gas (no ETH, POL, AVAX, BNB, SOL or TRX) to another address, e.g. an exchange deposit or another wallet. Use quote_swap instead when the user wants gas in the same wallet. Creates a free quote, valid for 10 minutes; nothing moves on chain until the wallet signs it. Returns { summary, transfer }: the transfer id, network and service fee, what the recipient gets (net) and status "quoted". Show the summary to the user and get approval before signing. Fails with a readable error when the amount is outside $2 to $1,000 (Tron: from $10), the wallet holds too little, the token is frozen, or the wallet sent 10 transfers in 24 hours.

輸入參數chain必填token必填amount必填sender必填recipient必填

quote_swap

Quote a swap into gas without gas

Prices swapping a stablecoin into the chain's gas coin (ETH, POL, AVAX, SOL, HYPE) or another stablecoin, for a wallet without gas, so it can pay its own fees again. The result always goes back to the same wallet; use quote_send to pay someone else. Not available on Tron. Creates a free quote, valid for 2 minutes because prices move; nothing moves on chain until the wallet signs it. Returns { summary, transfer } with the transfer id, fees, the expected output and the minimum output (below it the swap reverts and nothing moves). Show the summary to the user and get approval before signing.

輸入參數chain必填token必填amount必填sender必填tokenOut必填

get_signing_request

Get what the wallet must sign

Returns what the sender's wallet has to sign for a quote from quote_send or quote_swap. kind "evm-typed-data": sign every steps[].typedData with eth_signTypedData_v4, in order (one authorization, or for permit tokens a permit plus the order itself); binding is the order the authorization commits to, so recipient, fee and minimum can be checked first. kind "tron-transactions": sign every steps[].transaction (first the fee, then the transfer). kind "evm-transactions" (gas drop, BNB Chain): if funding.needed, call submit_signatures with fund: true first, so gasrescue sends the wallet the gas; then send every steps[].tx from the wallet (eth_sendTransaction, fee first) and report the hashes with submit_signatures txs: { fee, transfer }. kind "solana-transaction" or "solana-versioned-transaction": sign the base64 transaction. Read-only. Pass the result to submit_signatures. Fails when the quote expired; then request a new quote.

輸入參數transferId必填

submit_signatures

Submit signatures and send

Submits the wallet's signatures for a quote; gasrescue broadcasts the transaction, pays the gas and waits up to 3 minutes for the result. This moves funds and cannot be undone: call it only after the user approved the quote summary. A transfer can be submitted once; a second call is refused. Give signatures for EVM and Tron, signedTransaction for Solana, or for a gas drop fund: true and then txs. Returns { summary, transfer } with status confirmed or failed, the transaction hash and the explorer link.

輸入參數txsfundsignaturestransferId必填signedTransaction

get_transfer

Transfer status

Returns the current state of a quote or transfer by its id, with the fees, the transaction hash and the explorer link once sent. States: quoted (waiting for the signature), submitting and sent (on its way; ask again after a few seconds), confirmed (done), failed (error says why) and expired (not signed in time; request a new quote). Use it to follow up after submit_signatures or to see whether a quote is still open. It cannot start, change or cancel anything; use quote_send or quote_swap to start. Read-only. Returns { summary, transfer }. An unknown or malformed id, or one older than 30 days, fails with "Transfer not found".

輸入參數transferId必填

版本歷史

4
  1. v0.1.9最新Nov 4, 2026
  2. v0.1.7Nov 3, 2026
  3. v0.1.5Nov 3, 2026
  4. v0.1.3Nov 3, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分