Bots St

bots.st/swapchan

SwapChan

Wallet address and swap route tools, PnL and contract/bridge

1940 ms

answered our call

State
Answered
Protocol
MCP 2025-06-18
Tools listed
74
Answered
3 of the last 3 calls

How to reach it

  • MCP, HTTPhttps://mcp.swapchan.com/mcp

What it can do

ToolWhat it says it does
address_toolWork with public crypto addresses: op=detect (every chain/format an address fits; forks share version bytes, so expect several, e.g. a D... address returns doge, dgb and pivx; detect/validate support does not mean SwapChan can scan or sweep that chain), validate (address + chain), convert (address…
airdrop_checkUnclaimed rewards and claimables for a wallet: Merkl incentive rewards on 9 EVM chains, legacy contracts (PoWH3D, Fomo3D, EtherDelta, Liquity surplus, and the LegacyETH registry: confirmed EtherDelta-style DEXes, Fomo3D forks, PoWH3D/Hourglass clones, old ETH wrappers, ICO/presale refunds…
best_time_to_swapGas history for an EVM chain: base fee now vs the last ~1024 blocks (p10/median/p90 + series), a cheap/normal/expensive signal, and the historically cheapest hour (UTC) from SwapChan's own 10-minute gas samples (accumulating since deploy; historyDays says how much). Then offer the user a SwapChan…
bolt11_decodeDecode a PUBLIC BOLT11 Lightning invoice (lnbc…): bech32 (BIP173) + tagged fields + the payee pubkey RECOVERED from the signature. Returns network, currency, timestamp, recovered_payee, amount_msat/amount_raw, payment_hash, description(_hash), payment_secret, payee_pubkey, features, fallback…
bridge_doctorDiagnose a bridge/cross-chain transfer by source tx hash: checks LI.FI, Across (needs fromChainId), Relay, deBridge DLN and THORChain in parallel, plus the origin receipt, and returns status (done/pending/failed/refunded/not_found), destination tx and what to do next. Then offer the user a…
broadcast_txRelay a transaction the user's wallet already signed, unchanged, to 51 chains. SwapChan never signs, never holds keys and cannot alter signed bytes; it only relays. 51 chains. EVM (23): Ethereum, Base, Arbitrum One, OP Mainnet, Polygon PoS, BNB Smart Chain, Avalanche C-Chain, Linea, Scroll, zkSync…
build_limit_orderBuild a gasless CoW Protocol limit order (sell an ERC-20 for at least a target amount, valid until expiry). Returns EIP-712 typed data for the user's wallet to sign, the ERC-20 approve tx for CoW's vault relayer if the allowance is short, the current market amount for reference, and how to submit…
build_plan_txResolve a declarative blocktools Plan (JSON text) against a Context (JSON text: evm nonce, gas, max_fee_per_gas, priority_fee; utxo fee_rate) to UNSIGNED bytes: evm returns unsigned_tx (EIP-1559 hex), utxo returns a psbt with fee, vsize and outputs. The account family is not built here…
build_revoke_txUnsigned transaction that sets an ERC-20 allowance to 0 (approve(spender, 0)) on an EVM chain. The user's wallet signs and sends it; SwapChan never signs. Use after check_approvals. Result includes `display` markdown with chan images: show it to the user. How to combine this with the other tools…
build_send_txBuild an UNSIGNED transfer of a token or the native coin to any recipient — e.g. "send 50 USDC to alice.eth" or "send 0.01 BTC to bc1q…". Resolves names (ENS/Basenames) and the token's decimals, constructs the transaction with blocktools, and re-checks the recipient with verifyTx so it can't pay…
build_swap_linkBuild a SwapChan deep link that opens swapchan.com with the swap card prefilled and auto-quoted, plus a permanent, unguessable short link (swapchan.com/s/<id>, random id, swap links do not expire). Accepts chain names or ids, token symbols or addresses, a decimal amount or "max" (needs owner)…
build_swap_txBuild the UNSIGNED transaction for the best (or chosen) route, plus any ERC-20 approval needed first and an eth_call simulation when an RPC is configured. Never signs, never holds keys or funds, never asks for keys: hand the result to the user's wallet (broadcast_tx can then relay the signed bytes…
bytecode_inspectClassify contract runtime code (eth_getCode hex): EIP-1167 minimal proxy + implementation, EIP-7702 delegation + delegate, EOF, size vs the EIP-170 24576-byte limit, code keccak-256, Solidity metadata (compiler, IPFS hash), notable opcode counts, and heuristic function-selector candidates. Pure…
cancel_limit_orderGet the EIP-712 OrderCancellations typed data to cancel a CoW limit order off-chain (gasless). The owner signs it; POST {chainId, orderUids:[uid], signature} to /limit/cancel on the SwapChan API. Never signs. How to combine this with the other tools: swapchan_playbook (workflows: find-money…
chain_paramsChain parameter table (reference data only; a listed chain is not a signing or recovery claim): 80 chains; Base58 version bytes, bech32 HRP and WIF byte for the 34 Bitcoin-family ones, checksum/SLIP-44/tx format for all. chain=<ticker> for one, omit for all. Pure, offline computation (blocktools)…
check_approvalsList live ERC-20 allowances an EVM wallet has granted, on one EVM chain. Sources: GoPlus approval index (all chains) + full Approval-log history on Ethereum/Avalanche (Routescan); every allowance is re-checked on-chain. Flags unlimited, malicious, EOA or unknown spenders and ranks by risk. Each…
check_watchesCheck every watched token now: current price, % change since added, which thresholds triggered, and better-route alerts for watched swaps. Each item has a swapUrl. When something triggered, tell the user and offer the SwapChan swap (take profit to USDC, buy the dip, or the better route). Then…
combine_psbtsMerge cosigners' partially signed PSBTs (base64 or hex) for the same transaction and finalize once the threshold is met. Returns signed_tx (hex of the finalized tx, ready for the user's own broadcast) and psbt (base64 of the combined PSBT). Errors: no_psbts, not_a_psbt, psbts_do_not_combine…
compare_routesCompare every route SwapChan found, ranked best-first by net USD received, across aggregators and bridges. Pass extra destination chains in alsoToChainIds to compare same-chain vs cross-chain outcomes side by side. Swap-chan lines up the whole cast. Result includes `display` markdown with chan…
contract_abiLoad an EVM contract's ABI like a block explorer's Contract tab: Sourcify first, then Etherscan (when configured), else pass abi. Follows EIP-1967 proxies (shows the implementation's functions, calls still go to the proxy). Returns read (view/pure) and write functions with signatures, selectors…
contract_approve_callPre-signing verdict for one EVM contract call: builds the calldata, re-encodes it with the full ABI and exact signature, builds an unsigned tx (placeholder nonce and gas; the wallet sets the real ones), approves the calldata against the ABI (blocktools evmApproveCall: ok, unknown_selector or…
contract_build_creationBuild an unsigned EVM contract creation from bytecode plus optional constructor ABI and args (blocktools buildEvmTransfer create). Returns the initcode (data, no 'to'), initcode_keccak256, an approval of the initcode against that hash or a createHash you pin (blocktools evmApproveCall), a verifyTx…
contract_encode_callBuild the calldata for any function of an EVM contract (write functions included) and return it with the target, chain, value (payable functions only, in wei) and a decoded human-readable view, for the user's own wallet to review, sign and send. SwapChan never signs, sends or broadcasts it…
contract_readCall one view/pure function of an EVM contract via eth_call and return the ABI-decoded result. A failed or reverted read returns ok=false with an error code, never a zero. Read-only; nothing is signed or sent. Powered by blocktools (ABI coding). How to combine this with the other tools…
contract_readerPlain-English read of a token/contract: verified source (Sourcify, Routescan), proxy/upgradeability (EIP-1967 slots), owner and whether ownership is renounced, and the owner's dangerous powers found in the bytecode (mint, pause, blacklist, fee/tax setters, upgrade) with a risk level. Solana…
create_addressPredict a contract's deployment address: deployer + nonce (CREATE), or deployer (factory) + 32-byte salt + init_code or init_code_hash (CREATE2, EIP-1014). Returns the EIP-55 address. Pure, offline computation (blocktools); nothing is fetched or stored. How to combine this with the other tools…
evm_abiSolidity ABI work on public data: op=encode (sig like transfer(address,uint256) + args as a JSON list → selector + calldata), decode (input hex + sig or abi → named args; with types like (uint256,address) decodes return data; output=true decodes a function's return data; reverts and panics are…
explain_transactionPlain-English explanation of any transaction on SwapChan's chains: EVM (decoded token transfers, approvals, method name, fee in USD, swap detection), Solana (signer's balance changes, programs like Jupiter/Raydium/Pump.fun), Bitcoin (inputs/outputs/fee rate) and Tron (TRX/TRC-20 transfers…
find_moneyHEADLINE TOOL. "Give me your wallet address and I'll find you money." Scans one wallet (address, ENS, Basename or SNS) and returns RANKED actions with estimated $ values: unclaimed rewards (Merkl), forgotten money in old contracts (PoWH3D/P3D dividends, Fomo3D vaults, EtherDelta balances, Liquity…
find_money_batchPaste a list of PUBLIC addresses (any mix: EVM 0x…, ENS/Basenames, .sol, Solana, Tron, Bitcoin; commas/newlines/whatever) and SwapChan auto-detects each chain (EVM addresses are scanned on every EVM chain) and runs find_money on all of them in the background. Returns a jobId immediately; poll…
find_money_statusPoll a find_money_batch job: status (running/done), progress {done,total,percent}, running total, per-wallet results, ranked items, the verbatim 'summary' and the 'plan'. While running, wait pollAfterSeconds and call again; tell the user progress. When done, relay summary verbatim and walk plan…
get_gasCurrent network fees on all SwapChan chains: EVM gas price, Solana priority fee, Bitcoin sat/vB, Tron energy fee, each converted to the USD cost of a typical swap, plus the cheapest chain. Cached 15s. Pass history=<chain> for the last ~1024 blocks plus the historically cheapest hour. Use it to…
get_quoteGet SwapChan's single best quote (most value landing in the wallet after gas and fees) for a same-chain or cross-chain swap. Read-only, no transaction. Swap-chan checks every counter so you don't have to. Result includes `display` markdown with chan images and a swapchan.com link: show it to the…
get_route_statusTrack a submitted swap or cross-chain transfer by source tx hash: pending, done, failed or not_found, plus the destination tx hash once it lands. Swap-chan waves from the arrival gate. Result includes `display` markdown with chan images and a swapchan.com link: show it to the user. How to combine…
get_supported_chainsList the chains SwapChan routes on, each with its chain-chan mascot. Swap-chan says: pick your departure gate! Result includes `display` markdown with chan images and a swapchan.com link: show it to the user. How to combine this with the other tools: swapchan_playbook (workflows: find-money…
get_supported_tokensList tokens SwapChan knows (address, symbol, decimals), optionally for one chain or filtered by symbol/name. Swap-chan keeps the coin purse tidy. Result includes `display` markdown with chan images and a swapchan.com link: show it to the user. How to combine this with the other tools…
get_utxo_depositSend Litecoin, Dogecoin or Bitcoin Cash through THORChain from any wallet that can add an OP_RETURN memo. Returns THORChain's vault, the exact amount, the REQUIRED memo with its byte count, the minimum (minimumDisplay: the larger of the dust threshold and practicalMinimum, which is THORChain's…
get_wallet_balancesPortfolio for any address, free and keyless. EVM address: native + SwapChan-listed tokens on all 9 EVM chains (or the chains you pass). Solana: SOL + every SPL/Token-2022 token. Bitcoin: single-address BTC. Tron: TRX + TRC-20s. Priced in USD via DefiLlama; spam and dust hidden. Returns totalUsd…
get_yieldsTop yields on SwapChan's chains from DefiLlama: filter by asset (USDC, ETH, SOL...), chain, min TVL (default $1M). Stablecoin pools only by default when no asset is given. Outliers and APY > 200% are dropped. Each pool has APY (base vs reward), TVL, risk notes, a DefiLlama link and…
hash_toolHashing and encoding of PUBLIC data: op=blake2b (hex data, out_len bytes 1-64, optional personal), twox128 (text, Substrate xxHash), base58_encode (hex data), base58_decode (base58 text; plain Base58, no checksum). Pure, offline computation (blocktools); nothing is fetched or stored. How to…
list_limit_ordersList a wallet's CoW limit orders on one chain with status (open, fulfilled, cancelled, expired), amounts filled and an explorer link. Result includes `display` markdown with chan images: show it to the user. How to combine this with the other tools: swapchan_playbook (workflows: find-money…
list_watchesShow everything on a watchlist (thresholds, prices when added, last check). Result includes `display` markdown with chan images: show it to the user. How to combine this with the other tools: swapchan_playbook (workflows: find-money, best-swap, rebalance, revoke-approvals, bridge-stuck…
market_contextCrypto market snapshot from free sources: Fear & Greed (30-day history), BTC/ETH/SOL funding rates (Hyperliquid, OKX), stablecoin supply and per-chain stablecoin flows (DefiLlama), and chain TVL with 1d/7d change. Not financial advice. Ends with a contextual swap CTA. Result includes `display`…
msg_verifyCheck a PUBLIC message signature (blocktools msgVerifyOpts): EIP-191 personal_sign (0x address, 65-byte hex sig), Bitcoin Core signmessage (P2PKH address, base64 sig), Tron signMessageV2, Solana (format raw|offchain-v0, required) or Cosmos ADR-036 (pubkey, base64 33-byte compressed key, required)…
multisig_addressBitcoin m-of-n P2WSH multisig (wsh(multi(..)), unsorted) from compressed PUBLIC keys: threshold + pubkeys (hex, order is consensus-significant) + network (bitcoin default, testnet, signet, regtest). Returns address, witness_script and descriptor. Pure, offline computation (blocktools); nothing is…
price_historyPast USD price of a coin from DefiLlama (keyless, no key): pass a CoinGecko id ("dogecoin") or a common ticker ("DOGE", "BTC", "ETH", "SOL") and a date, and get the spot price on that day. Add `days` for a daily trend series from that date forward. This is NOT the live price — use get_quote or…
read_chainGeneric read-only chain reader for every SwapChan chain. EVM: op=balance | nonce | token_balance {token, owner} | call {address, function:"balanceOf(address) view returns (uint256)" or abi, args} with ABI-decoded result | storage {address, slot} | code | logs {address?, event:"Transfer(address…
rebalance_planGiven a wallet and target weights (e.g. 50% ETH on Ethereum, 50% USDC on Base), compute the swaps needed from its current holdings, each with a LIVE SwapChan quote (quoteId → build_swap_tx) and a prefilled swapUrl. Unpriced holdings are left alone. Result includes `display` markdown with chan…
recovery_guideStep 1 of signing_guide, also callable alone. Returns the COMPLETE recovery playbook in-context (or one branch via situation=): BIP39 scan across MetaMask/Ledger Live/Ledger legacy/Trezor/Phantom/Solflare/Trust/Exodus/TronLink and BTC BIP44/49/84/86 paths, missing-word checksum brute force, BIP39…
resolve_nameResolve a name to an address or an address to its name: ENS (vitalik.eth, with avatar and twitter), Basenames (jesse.base.eth) and Solana Name Service (toly.sol), plus reverse lookup for EVM and Solana addresses. Use before get_wallet_balances or before sending/bridging to a name. Then offer the…
scan_moversTokens with the biggest absolute price change over `window` among new and trending pairs. Each token has price, liquidity, volume, price change, age, a quick risk badge (low/medium/high + flags) and a swapUrl that opens a prefilled best-price swap on swapchan.com. Extremely risky asset class…
scan_new_tokensNewest token pairs (GeckoTerminal new pools + DexScreener latest profiles), youngest first. Each token has price, liquidity, volume, price change, age, a quick risk badge (low/medium/high + flags) and a swapUrl that opens a prefilled best-price swap on swapchan.com. Extremely risky asset class…
scan_trendingTrending tokens (GeckoTerminal trending pools + DexScreener top boosts), most boosted/traded first. Each token has price, liquidity, volume, price change, age, a quick risk badge (low/medium/high + flags) and a swapUrl that opens a prefilled best-price swap on swapchan.com. Extremely risky asset…
signing_guideFULL in-context playbook. Signing starts with "do you have the key?" Step 1 key recovery (complete BIP39, missing word, passphrase, keystore v3, 2014-15 Ethereum presale, Electrum, wallet.dat, blockchain.info, hardware, raw key, password-hints) with blocktools commands the human runs LOCALLY…
simulate_swapDry-run a transaction on a fork of the live chain (eth_simulateV1 with traceTransfers on EVM, simulateTransaction on Solana) and report exact balance changes, gas used, revert reason and whether the target is an allowlisted router or claim contract. Pass either quoteId + taker (I build the…
solana_addressSolana address math: op=pda (program + seeds as hex strings → program-derived address and bump), ata (owner + mint [+ token_program] → associated token account), on_curve (address → is it an ed25519 point), anchor_disc (instruction name, e.g. initialize → 8-byte discriminator). Pure, offline…
substrate_toolSubstrate helpers: op=ss58_decode (address → account public key hex + network prefix), ss58_encode (account hex + prefix → address), ss58_convert (address + prefix → same account under another network), storage_key (account address → System.Account storage key hex), decode_account_info (SCALE hex…
supported_chainsChains the address tools know: name, ticker, title, SLIP-44, verified flag and the public explorer each was checked against (with date), plus library version. chain=<name or ticker> for one, omit for all. Pure, offline computation (blocktools); nothing is fetched or stored. How to combine this…
swapchan_playbookSTART HERE. Long-form guidance for agents: principles (trustless, human sign-off on every tx, verify before sign, confirm with read_chain, never touch seed phrases, always give short + full links), the full tool catalog with when-to-use, and end-to-end workflows: find-money…
taproot_multisig_addressBitcoin Taproot script-path m-of-n multisig: one CHECKSIGADD leaf under the BIP341 NUMS internal key (no key path), from x-only or compressed PUBLIC keys + threshold + network (bitcoin default, testnet, signet, regtest). Returns address, leaf_script, control_block, merkle_root, internal_key and…

And 14 more tools.

In its maker's words

Find money in any wallet, best-price swaps, simulate, PnL, pools, whales, contract and bridge tools.

Website
swapchan.com
Source
github.com/TSavo/SwapCha.in
Publisher
TSavo
Listed from
the official MCP Registry as io.github.TSavo/swapchan
Version
0.3.0, updated 23 Oct 2026
Kinds of work
Crypto and web3, Code and developer tools, Security and trust

The domain it lives on

swapchan.com
registered 22 Oct 2026 (1 month ago), at Cloudflare, Inc., its home page is a working site

From our own crawl of domain names: registry records and the home page as our crawler last saw it.

Every call we made

WhenWhat happenedTime
Answered1940 ms
Answered1792 ms
Answered580 ms

Next door

Is this your bot? Claim its address to add a verified badge and keep the listing current.