accueil / serveurs / Recherche & Web / io.github.HASAVAGE/teardrop
io.github.HASAVAGE/teardrop
serveur MCP (Model Context Protocol) · Teardrop 2.11.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.HASAVAGE/teardrop est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.HASAVAGE/teardrop » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 35 outils
- assess_counterparty_risk≈ 1186 tokens
Return a decision-ready counterparty-risk verdict for an EVM address before funds or authority are committed. The result branches to high_risk, caution, acceptable, or insufficient_data with the evidence needed for the calling agent to act. Use when: Delegate this check before sending funds, granting approvals, or interacting with an unknown EVM address when the caller needs a bounded risk decision. Limitations: Analytics and heuristic risk assessment; not a credit bureau, fraud guarantee, or legal endorsement. Relies on DeBank indexing and on-chain Aave/Compound contract states. Alternatives: get_wallet_approvals, get_liquidation_risk, get_wallet_positions
Paramètres, retour & exemple (2)
Paramètreschain_ids· array · optionnel
DeBank chain identifiers scoping approvals and history; positions and net worth remain all-chain.wallet_address· string · requis
EVM wallet address (0x-prefixed)
Exemple d'appel{"name": "assess_counterparty_risk", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"as_of": "texte", "verdict": "high_risk", "activity": "texte", "provenance": "texte", "liquidation": "texte", "risk_factors": [], "data_complete": true, "partial_errors": [], "wallet_address": "texte", "approval_summary": "texte", "total_net_worth_usd": "texte"}} - assess_market_resolution≈ 1200 tokens
Return a decision-ready resolution-risk verdict for one Polymarket market before an agent trades, quotes, or forecasts it. The result branches to tradeable, ambiguous, avoid, or insufficient_data and names the resolution basis (price_feed, official_source, media_consensus, unspecified), UMA dispute state, rule-wording risks, and executability (liquidity, spread) so the calling agent can act without reading the full rules. Use when: Call once per market before placing, quoting, or forecasting a Polymarket position when the caller needs to know whether the rules and resolution state make the outcome well-defined. Repeat calls within two minutes return cached data. Limitations: Heuristic analysis of Polymarket rule wording and Gamma API state; not a probability forecast, legal advice, or a guarantee of how UMA voters resolve. Does not read order-book depth, event-level augmented negative-risk settings, or clarifications published off-platform. Alternatives: web_search, http_fetch
Paramètres, retour & exemple (1)
Paramètresmarket· string · requis
Polymarket market slug (e.g. 'will-bitcoin-reach-150k-in-2026'), numeric Gamma market id, or a polymarket.com market URL (the last path segment is used).
Exemple d'appel{"name": "assess_market_resolution", "arguments": {"market": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"slug": "texte", "as_of": "texte", "spread": "texte", "verdict": "tradeable", "best_ask": "texte", "best_bid": "texte", "disputed": true, "end_date": "texte", "neg_risk": true, "question": "texte", "market_id": "texte", "provenance": "texte"}} - calculate≈ 365 tokens
Evaluate a safe arithmetic expression and return the numeric result. Supports +,-,*,/,**,%,sqrt,abs,round,floor,ceil,log,sin,cos,tan,pi,e. Use for derived figures (ratios, differences, percentages) that no tool output already provides. Use when: Use when an agent must derive a value that tool outputs do not already include, such as a ratio, spread, or percentage. Do not use to re-derive pre-computed fields like std_30d or dca_baseline_90d that get_token_price_historical returns. Limitations: Arithmetic only — no aggregation over tool history, no unit conversion, and no financial modeling beyond the listed functions. Errors return an error field rather than raising. Alternatives: get_token_price_historical, get_datetime
Paramètres, retour & exemple (1)
Paramètresexpression· string · requis
A safe arithmetic expression, e.g. '(3 + 4) * 2 / sqrt(9)'
Exemple d'appel{"name": "calculate", "arguments": {"expression": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"error": "texte", "result": "texte", "expression": "texte"}} - convert_currency≈ 470 tokens
Convert an amount between fiat currencies (USD, EUR, GBP) and crypto assets (BTC, ETH, USDC, SOL) and return the converted amount plus the exchange rate used. Use when: Use when an amount must be expressed in a different currency than the source data — for example converting a USD portfolio value into EUR, or a fiat amount into its crypto equivalent. For prices only, get_token_price returns the rate directly without a second call. Limitations: Spot-rate conversion at request time; no historical or forward rates, and no slippage or fee modeling. Actual swap execution differs — use get_dex_quote for executable on-chain quotes. Alternatives: get_token_price, get_dex_quote
Paramètres, retour & exemple (3)
Paramètresamount· number · requis
Amount to convertto_currency· string · requis
Target currency (e.g. 'USD', 'EUR', 'BTC')from_currency· string · requis
Source currency (e.g. 'ETH', 'USD', 'BTC')
Exemple d'appel{"name": "convert_currency", "arguments": {"amount": 1, "to_currency": "texte", "from_currency": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"rate": 1, "amount": 1, "source": "texte", "to_currency": "texte", "from_currency": "texte", "converted_amount": 1}} - count_text_stats≈ 356 tokens
Return word, character, sentence, and paragraph counts plus average words per sentence for a given text, for length checks and content sizing decisions. Use when: Use when output length must be validated or reported — e.g. verifying a summary meets a length contract or comparing document sizes. Do not use for semantic summarization; it counts only. Limitations: Pure counting on the provided text — no language detection, no reading-level or sentiment analysis, and no retrieval of external content. Alternatives: web_search, http_fetch
Paramètres, retour & exemple (1)
Paramètrestext· string · requis
Text to summarize
Exemple d'appel{"name": "count_text_stats", "arguments": {"text": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"word_count": 1, "sentence_count": 1, "character_count": 1, "paragraph_count": 1, "average_words_per_sentence": 1}} - decode_transaction≈ 791 tokens
Decode a transaction's calldata into a human-readable function name and arguments, and return transaction status (1=success, 0=revert), gas used, and block number. Uses a supplied ABI when provided, otherwise 4byte.directory. Supports Ethereum mainnet and Base. Use when: Use when one known transaction must be explained — what function was called, with what arguments, and whether it succeeded. For wallet-wide activity patterns use get_wallet_history instead. Limitations: 4byte.directory matching can be ambiguous or absent for custom contracts; supply an ABI for precise decoding. One transaction per call; Ethereum mainnet and Base only. Alternatives: get_transaction, get_wallet_history
Paramètres, retour & exemple (3)
Paramètrestx_hash· string · requis
Transaction hash (0x… 64 hex chars)abi_json· ? · optionnel
Optional ABI JSON array for decoding. If omitted, 4byte.directory is used.chain_id· integer · optionnel
Chain ID (1=Ethereum, 8453=Base)
Exemple d'appel{"name": "decode_transaction", "arguments": {"tx_hash": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "status": "texte", "tx_hash": "texte", "chain_id": 1, "gas_used": "texte", "value_eth": "texte", "to_address": "texte", "block_number": "texte", "decoded_args": "texte", "from_address": "texte", "raw_calldata": "texte", "decode_source": "texte"}} - delegate_to_agent≈ 663 tokens
Delegate a task to a remote A2A-compliant agent: discover its capabilities via its agent card, send it a message, handle payment, and return the result. Use only when no local platform tool can fulfil the request. Use when: Use when a task requires specialist capabilities beyond the local tool set. Call discover_agents first when the remote agent URL is unknown. Do not retry unchanged after error_type=advertised_price_exceeds_cap; pick another result or adjust the cap. Limitations: Requires an allowlisted remote URL and sufficient delegation budget; the remote agent's price and capability claims are read from its card and are not independently verified. Involves real payment. Alternatives: discover_agents, web_search
Paramètres, retour & exemple (3)
Paramètresagent_url· string · requis
Base URL of the remote A2A agent (e.g. https://agent.example.com)task_type· string · optionnel · general | research | analysis | data_retrieval | coding | transaction | automation
Broad task class for routing telemetry; never include user data or task text.task_description· string · requis
Natural language description of the task to delegate
Exemple d'appel{"name": "delegate_to_agent", "arguments": {"agent_url": "texte", "task_description": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"error": "texte", "result": "texte", "status": "texte", "cost_usdc": 1, "agent_name": "texte", "error_type": "texte"}} - discover_agents≈ 991 tokens
Find opt-in remote A2A agents, published tool capabilities, endpoints, and public reputation status. Use when: Use before delegate_to_agent when a specialist agent is needed but its URL is unknown. Limitations: Discovery is read-only and does not add an agent to the org allowlist; delegate_to_agent remains authoritative. Alternatives: delegate_to_agent
Paramètres, retour & exemple (2)
Paramètresq· ? · optionnel
Optional search across agent name, organization slug, or published tool namelimit· integer · optionnel
Maximum number of agents to return
Exemple d'appel{"name": "discover_agents", "arguments": {"q": "texte", "limit": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "agents": [], "generated_at": "texte", "registration_endpoint": "texte", "registration_benefits_url": "texte"}} - get_block≈ 405 tokens
Get block details (timestamp, gas used, base fee, miner, transaction count) for an Ethereum or Base block by number, hash, or 'latest'. Use to anchor events to a point in chain time. Use when: Use when a question depends on when a block occurred, how full it was, or its base fee — for example dating a transaction or checking congestion at a specific height. For current fee levels use get_gas_price instead. Limitations: One block per call; Ethereum mainnet and Base only. Historical base fee data depends on RPC node retention for older heights. Alternatives: get_transaction, get_gas_price
Paramètres, retour & exemple (2)
Paramètreschain_id· integer · optionnel
Chain ID (1=Ethereum, 8453=Base)block_identifier· string · optionnel
Block number, block hash, or 'latest'/'earliest'/'pending'
Exemple d'appel{"name": "get_block", "arguments": {"chain_id": 1, "block_identifier": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"hash": "texte", "number": 1, "gas_used": 1, "timestamp": 1, "base_fee_gwei": "texte", "transaction_count": 1}} - get_chain_metrics≈ 1200 tokens
Compare blockchain ecosystem health via DeFiLlama: current TVL, 7/30-day TVL change, and aggregate fee activity. Pass chains such as ['Ethereum', 'Arbitrum', 'Solana'] for a focused comparison, or omit chains to inspect the highest-TVL ecosystems. Use when: Use for ecosystem-level comparisons — which chains are growing, where fee activity concentrates, or how a chain's TVL trended. For a single protocol's economics use get_protocol_tvl instead. Limitations: Third-party DeFiLlama analytics; historical and fee fields fail open (null) for uncovered chains. Not a real-time measure of chain throughput or security. Alternatives: get_protocol_tvl, get_dex_volume
Paramètres, retour & exemple (3)
Paramètresdays· integer · optionnel
Lookback window used when selecting the historical TVL points to inspect.limit· integer · optionnel
Maximum number of chain rows to return when the result is not explicitly filtered.chains· ? · optionnel
Optional chain names to compare, such as ['Ethereum', 'Arbitrum', 'Solana']. When omitted, return the highest-TVL chains up to limit.
Exemple d'appel{"name": "get_chain_metrics", "arguments": {"days": 1, "limit": 1, "chains": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "error": "texte", "chains": [], "error_type": "texte", "provenance": "texte", "total_available": 1, "requested_chains": "texte"}} - get_datetime≈ 302 tokens
Return the current UTC date and time as a formatted string and ISO 8601 timestamp, for grounding time-relative reasoning in the actual clock rather than training-data assumptions. Use when: Use when a task must anchor on the current date or time — computing ages, windows, deadlines, or 'as of today' context. The runtime context block already states the date, so call this only when a specific strftime format or a precise timestamp is needed. Limitations: UTC only — no timezone conversion. An unsupported strftime format silently falls back to the default format instead of erroring. Alternatives: calculate, get_block
Paramètres, retour & exemple (1)
Paramètresformat· string · optionnel
strftime format string for the output
Exemple d'appel{"name": "get_datetime", "arguments": {"format": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"iso8601": "texte", "datetime": "texte"}} - get_defi_positions≈ 2070 tokens
Block-accurate DeFi positions for a wallet across Aave v3, Compound v3, Uniswap v3 LP, and Lido on Ethereum or Base. Returns Aave account health (collateral, debt, health factor, LTV) with per-reserve breakdown, Compound v3 market positions, Uniswap v3 LP positions by token ID, and on Ethereum the Lido stETH/wstETH balances with the current wstETH-to-stETH equivalent. Per-protocol failures are isolated — other protocols still return. Use when: Use when a block-accurate single-wallet protocol snapshot is needed, including health factor and LP position detail. For broad all-chain discovery or net worth across many protocols use get_wallet_positions instead. Limitations: On-chain RPC view of four protocol families on Ethereum and Base only; does not discover wallets' unknown or long-tail protocol positions. Compound v3 reports only a boolean liquidation flag — never state a numeric Compound health factor. Errors list which protocols were unavailable. Alternatives: get_wallet_positions, get_liquidation_risk, get_wallet_portfolio
Paramètres, retour & exemple (2)
Paramètreschain_id· integer · optionnel
Chain ID (1=Ethereum, 8453=Base)wallet_address· string · requis
Wallet address (0x…)
Exemple d'appel{"name": "get_defi_positions", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "errors": [], "aave_v3": "texte", "chain_id": 1, "uniswap_v3": [], "compound_v3": [], "lido_staking": "texte", "wallet_address": "texte", "data_block_number": 1}} - get_dex_quote≈ 984 tokens
Get the best Uniswap v3 swap quote on Ethereum (chain_id=1) or Base (chain_id=8453) via direct on-chain QuoterV2 calls. Queries all four fee tiers (100/500/3000/10000 bps) in parallel and returns the tier with the highest output amount, along with per-tier breakdown. Inputs are raw uint256 amounts and EIP-55 checksummed addresses; native ETH is not quoted directly — pass the WETH address. Returns no_liquidity=true when no pool exists for the pair. Point-in-time quote at the returned block_number; do not cache. Use when: Choose when you need a best-execution Uniswap v3 swap quote on Ethereum or Base before executing a trade — e.g. price impact, output amount, or route selection. Limitations: Quotes raw uint256 amounts with EIP-55 checksummed addresses only; native ETH is not quoted directly (pass WETH). Point-in-time at the returned block_number — do not cache. Alternatives: get_token_price, get_dex_volume
Paramètres, retour & exemple (4)
Paramètreschain_id· integer · optionnel
1 = Ethereum mainnet, 8453 = Base mainnet. Other chains unsupported.token_in· string · requis
EIP-55 checksummed address of the token being sold. For native ETH, pass the WETH address (Ethereum: 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; Base: 0x4200000000000000000000000000000000000006).amount_in· string · requis
Input amount in RAW uint256 units (e.g. '1000000' for 1 USDC, '1000000000000000000' for 1 WETH). Must be > 0 and < 2^128. Common token decimals: WETH/ETH/DAI/wstETH/cbETH/weETH 18, WBTC/cbBTC 8, USDC/USDT 6. Do not call read_contract to look up decimals — use these values directly.token_out· string · requis
EIP-55 checksummed address of the token being bought.
Exemple d'appel{"name": "get_dex_quote", "arguments": {"token_in": "texte", "amount_in": "texte", "token_out": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"chain_id": 1, "token_in": "texte", "amount_in": "texte", "token_out": "texte", "amount_out": "texte", "block_number": 1, "no_liquidity": true, "fee_tier_used": "texte", "effective_rate": "texte", "quotes_per_tier": [], "amount_out_human": "texte", "amount_in_decimals": 1}} - get_dex_volume≈ 916 tokens
Compare decentralized exchange activity via DeFiLlama: 24h/7d/30-day volume, period-over-period changes, and each protocol's share of reported global 24-hour DEX volume. Filter by protocol and rank by a 1-, 7-, or 30-day lookback window. Use when: Use for landscape questions — which DEXs dominate volume, how activity shifted week-over-week, or a specific protocol's relative share. For executable swap pricing use get_dex_quote instead. Limitations: Third-party DeFiLlama reporting, not on-chain truth; coverage gaps understate smaller protocols. 24-hour share is computed against the unfiltered global total, so filtered results retain landscape context. Alternatives: get_dex_quote, get_chain_metrics
Paramètres, retour & exemple (3)
Paramètreslimit· integer · optionnel
Maximum number of DEX protocols to return.protocols· ? · optionnel
Optional protocol names or DeFiLlama slugs, such as ['uniswap-v3', 'curve-dex']. When omitted, return the largest DEX protocols.lookback_days· integer · optionnel
Window used to rank the returned protocols: 1, 7, or 30 days (nearest supported window is used).
Exemple d'appel{"name": "get_dex_volume", "arguments": {"limit": 1, "protocols": "texte", "lookback_days": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "dexes": [], "error": "texte", "error_type": "texte", "total_matching": 1, "total_available": 1, "volume_share_basis": "texte"}} - get_erc20_balance≈ 474 tokens
Get the exact on-chain ERC-20 balance of a wallet for one token contract, normalized by decimals and returned with the token's symbol. Use for a precise single-token check. Use when: Use when a specific token contract's balance must be verified block-accurately — e.g. confirming funds before an approval or transfer. For a multi-asset portfolio view use get_wallet_portfolio instead. Limitations: One token contract per call on Ethereum or Base; the contract address is required, so unknown tokens cannot be looked up by symbol. Returns raw balance data only — no USD valuation. Alternatives: get_wallet_portfolio, get_eth_balance
Paramètres, retour & exemple (3)
Paramètreschain_id· integer · optionnel
Chain ID (1=Ethereum, 8453=Base)token_address· string · requis
ERC-20 token contract address (0x…)wallet_address· string · requis
Wallet address (0x…)
Exemple d'appel{"name": "get_erc20_balance", "arguments": {"token_address": "texte", "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"chain_id": 1, "balance_raw": "texte", "token_symbol": "texte", "token_address": "texte", "token_decimals": 1, "wallet_address": "texte", "balance_formatted": "texte"}} - get_eth_balance≈ 364 tokens
Get the exact on-chain native ETH balance of an address on Ethereum or Base, in wei and ether. get_wallet_portfolio already includes native ETH in its holdings — call this only for a standalone balance without a portfolio scan. Use when: Use when a wallet's gas-availability or standalone ETH amount must be verified block-accurately. Do not call after or alongside get_wallet_portfolio — the holdings list already includes native ETH. Limitations: Native ETH only; ERC-20 balances require get_erc20_balance. Requires an EIP-55 checksummed address. Ethereum mainnet and Base only. Alternatives: get_wallet_portfolio, get_erc20_balance
Paramètres, retour & exemple (2)
Paramètresaddress· string · requis
Ethereum address (0x…)chain_id· integer · optionnel
Chain ID (1=Ethereum, 8453=Base)
Exemple d'appel{"name": "get_eth_balance", "arguments": {"address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"address": "texte", "chain_id": 1, "balance_eth": "texte", "balance_wei": "texte"}} - get_gas_price≈ 584 tokens
Get current EIP-1559 gas fees on Ethereum or Base: base fee, priority fee, next-block base fee estimate, and congestion (gas_used_ratio >0.5 busy, >0.9 very congested). Optional USD estimates cover a simple transfer and a swap-like transaction. Cached 10 seconds per chain. Use when: Use before advising a transaction — to time execution, size a gas budget, or judge congestion. Call once per decision; the 10-second cache makes rapid re-calls pointless. Limitations: Point-in-time estimate that changes every block; USD figures are rough heuristics at 21k/150k gas, not an execution quote. Ethereum mainnet and Base only. Alternatives: get_block, get_dex_quote
Paramètres, retour & exemple (2)
Paramètreschain_id· integer · optionnel
Chain ID (1=Ethereum, 8453=Base)include_usd_estimate· boolean · optionnel
If true, include ETH spot price and rough USD cost estimates for a simple transfer (21k gas) and a swap-like transaction (150k gas).
Exemple d'appel{"name": "get_gas_price", "arguments": {"chain_id": 1, "include_usd_estimate": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"chain_id": 1, "base_fee_gwei": "texte", "eth_price_usd": "texte", "gas_price_gwei": "texte", "gas_used_ratio": "texte", "priority_fee_gwei": "texte", "next_base_fee_gwei": "texte", "estimated_swap_cost_usd": "texte", "estimated_transfer_cost_usd": "texte"}} - get_lending_rates≈ 825 tokens
Get current on-chain lending supply/borrow APYs for Aave v3 reserves and Compound v3 markets on Ethereum or Base, with per-asset snapshots and Compound utilization. Use for protocol-specific yield comparisons such as USDC on Aave vs Compound. Use when: Use for protocol-specific lending-rate questions (e.g. 'Aave vs Compound USDC rates'). Prefer over get_yield_rates when the protocols are known; use get_yield_rates for broad pool discovery across many protocols. Do not fall back to web_search when this returns errors — report them. Limitations: On-chain snapshots of Aave v3 and Compound v3 on Ethereum and Base only; not a multi-protocol yield aggregator. Rates are point-in-time and change per block. Returns an errors list — report each unavailable protocol explicitly and treat empty rates with empty errors as transient RPC unavailability. Alternatives: get_yield_rates, get_defi_positions, get_liquidation_risk
Paramètres, retour & exemple (3)
Paramètresassets· ? · optionnel
Optional asset-symbol filter (e.g., ['USDC','DAI']). Case-insensitive. Max 20 symbols.chain_id· integer · optionnel
Chain ID (1=Ethereum, 8453=Base).protocol· string · optionnel · all | aave-v3 | compound-v3
Protocol to query: 'aave-v3', 'compound-v3', or 'all'.
Exemple d'appel{"name": "get_lending_rates", "arguments": {"assets": "texte", "chain_id": 1, "protocol": "all"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "rates": [], "errors": [], "chain_id": 1, "protocol": "texte", "data_block_number": 1}} - get_liquidation_risk≈ 1356 tokens
Assess DeFi liquidation risk for up to 50 wallets across Aave v3 and Compound v3 on Ethereum or Base. Returns per-wallet health factor, tiered risk classification (liquidatable, critical, warning, caution, healthy, no_debt), and an overall_tier aggregate. Per-protocol failures are isolated — one protocol's RPC error does not blank the other's result. Use when: Use for multi-wallet batch risk assessment (2+ wallets). For a single-wallet DeFi analysis use get_defi_positions, which already includes risk metrics. Use assess_counterparty_risk when the question is counterparty trust rather than position health. Limitations: View-only scan of Aave v3 and Compound v3 on Ethereum and Base with hardcoded market addresses; not a liquidation simulation or guarantee. Compound v3 exposes only a boolean liquidation flag — no numeric health factor. Duplicate wallet addresses are silently removed. Alternatives: get_defi_positions, assess_counterparty_risk, get_wallet_positions
Paramètres, retour & exemple (2)
Paramètreschain_id· integer · optionnel
Chain ID (1=Ethereum, 8453=Base)wallet_addresses· array · requis
Wallet addresses to assess (max 50; duplicates are silently removed).
Exemple d'appel{"name": "get_liquidation_risk", "arguments": {"wallet_addresses": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "results": [], "summary": "texte", "chain_id": 1, "data_block_number": 1}} - get_protocol_tvl≈ 574 tokens
Get Total Value Locked for one or many DeFi protocols from DeFiLlama: current USD TVL, 7/30-day change, fees and revenue when reported, per-chain breakdown, and optional daily historical series. Batch multiple protocols via protocols=[...] — batch responses return one compact economic summary per protocol; single-protocol calls add chain and historical detail. Supports 3,000+ protocols; use DeFiLlama slugs ('aave-v3', 'uniswap-v3'); common aliases are auto-corrected. Use when: Use for protocol-level economic questions — size, growth, fees, or revenue of a specific protocol. For 2+ protocols always batch in one call rather than calling per-protocol. Pass include_historical=true with days when a trend is needed; without it the response is a current TVL scalar. For ecosystem-level chain comparisons use get_chain_metrics instead. Limitations: Third-party DeFiLlama analytics, not on-chain truth. Upstream revenue failures surface as revenue_error_type and null economic fields are data gaps — never fabricate values for them. Alternatives: get_chain_metrics, get_yield_rates, get_dex_volume
Paramètres, retour & exemple (4)
Paramètresdays· integer · optionnel
Lookback window in days for the historical series (only used when include_historical=True).protocol· ? · optionnel
DeFiLlama protocol slug (e.g. 'aave-v3', 'uniswap-v3', 'curve-dex'). Use lowercase with hyphens as shown on DeFiLlama. Tip: 'aave' works for the combined Aave TVL; 'aave-v3' for V3 only. Optional when using batch mode via protocols=[...].protocols· array · optionnel
Optional batch mode: list of DeFiLlama protocol slugs. When provided, the tool returns one TVL result object per protocol.include_historical· boolean · optionnel
If true, return a daily historical TVL series for the requested window.
Exemple d'appel{"name": "get_protocol_tvl", "arguments": {"days": 1, "protocol": "texte", "protocols": [], "include_historical": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_token_approvals≈ 948 tokens
Block-accurate audit of ERC-20 allowances for a wallet across curated DeFi spenders (Uniswap, Aave, Compound, 1inch, 0x, OpenSea) on Ethereum or Base. Flags unlimited approvals by risk level (high=unknown spender, medium=trusted protocol, low=bounded). Use before swaps or after security incidents to detect active exploit vectors. Use when: Use for a free, block-accurate Ethereum/Base check of an address's exposure to the curated spender list. For broad all-chain spender discovery, hacked/abandoned flags, or NFT-adjacent exposure use get_wallet_approvals instead. Limitations: Covers only the tracked-asset registry and curated spenders — untracked tokens and custom spenders are excluded. Does not inspect NFT approvals or off-chain Permit2 sub-permits. An error field marks results as incomplete rather than clean. Alternatives: get_wallet_approvals, assess_counterparty_risk
Paramètres, retour & exemple (4)
Paramètrestokens· ? · optionnel
Token contract addresses to check (max 50). Defaults to the platform tracked token list.chain_id· integer · optionnel
Chain ID (1=Ethereum, 8453=Base)spenders· ? · optionnel
Spender contract addresses to check (max 20). Defaults to the curated DeFi protocol list.wallet_address· string · requis
Wallet address (0x…)
Exemple d'appel{"name": "get_token_approvals", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "error": "texte", "chain_id": 1, "approvals": [], "risk_summary": "texte", "wallet_address": "texte"}} - get_token_price≈ 600 tokens
Get current price, 24h change, market cap, FDV, and volume for one or more crypto tokens. Accepts ticker symbols, full names, or CoinGecko IDs; unknown symbols resolve automatically. Batch up to 50 tokens. Reuse price_usd/value_usd already returned by get_wallet_portfolio instead of re-calling. Use when: Use for spot pricing of named tokens — including batched multi-token queries. Do not call for tokens whose price get_wallet_portfolio already returned, or for address-only unknown tokens (report them as unrecognized). For historical windows use get_token_price_historical. Limitations: CoinGecko spot data; point-in-time and not an executable swap quote. Bare 0x addresses are not resolvable and should be treated as unknown tokens. Alternatives: get_token_price_historical, get_wallet_portfolio, get_dex_quote
Paramètres, retour & exemple (2)
Paramètrestokens· array · requis
Token symbols or CoinGecko IDs (e.g. ['BTC', 'ETH', 'SOL'])vs_currency· string · optionnel
Quote currency (usd, eur, gbp, btc, eth)
Exemple d'appel{"name": "get_token_price", "arguments": {"tokens": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"prices": [], "vs_currency": "texte"}} - get_token_price_historical≈ 1039 tokens
Get historical crypto prices over a 1–365 day window: period statistics (start, end, % change, high, low), a downsampled daily series, high_30d, std_30d, and dca_baseline_90d. Use for period comparisons and trend analysis; prefer over web_search for time-comparative financial queries. Pass stats_only=true when the daily series is unnecessary. Use when: Use for time-comparative financial questions — month-over-month, YTD, volatility, or DCA baselines. Prefer over web_search for such queries. Use the pre-computed stats directly; do not re-derive them with calculate. Limitations: Daily granularity (downsampled), max 365-day window, CoinGecko coverage only. Check dca_baseline_90d_partial before relying on the baseline — incomplete history yields a partial baseline. Alternatives: get_token_price, web_search
Paramètres, retour & exemple (4)
Paramètresdays· integer · optionnel
Lookback window in days (1–365). 1=5-min granularity, 2-90=hourly, 91+=daily.tokens· array · requis
Token symbols or CoinGecko IDs (e.g. ['BTC', 'ETH']). Max 10 per call.stats_only· boolean · optionnel
If true, omit the daily price series and return period stats plus precomputed 30-day high/volatility and 90-day DCA baseline metrics.vs_currency· string · optionnel
Quote currency (usd, eur, gbp, btc, eth). Lowercase 3–10 letters.
Exemple d'appel{"name": "get_token_price_historical", "arguments": {"tokens": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"days": 1, "tokens": [], "vs_currency": "texte"}} - get_transaction≈ 895 tokens
Get details and receipt for one Ethereum or Base transaction by hash: bounded calldata, normalized event logs, transaction index, and receipt-derived effective gas price and fee when available. Use to verify a specific transaction's status and outcome. Use when: Use when one known transaction must be verified — status, logs, gas paid, or execution outcome. To understand what the calldata means use decode_transaction; for wallet-wide activity use get_wallet_history. Limitations: One transaction hash per call on Ethereum or Base; pending transactions may not resolve yet. Calldata is returned bounded, not decoded — use decode_transaction for semantic decoding. Alternatives: decode_transaction, get_block, get_wallet_history
Paramètres, retour & exemple (2)
Paramètrestx_hash· string · requis
Transaction hash (0x…)chain_id· integer · optionnel
Chain ID (1=Ethereum, 8453=Base)
Exemple d'appel{"name": "get_transaction", "arguments": {"tx_hash": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"logs": [], "status": "texte", "fee_eth": "texte", "fee_wei": "texte", "tx_hash": "texte", "chain_id": 1, "gas_used": "texte", "value_eth": "texte", "input_data": "texte", "to_address": "texte", "block_number": "texte", "from_address": "texte"}} - get_wallet_approvals≈ 1327 tokens
Inspect a wallet's current ERC-20 token authorization exposure on one DeBank-supported chain. Returns discovered spenders, USD exposure, protocol attribution, and hacked or abandoned protocol flags. This is broader than the curated block-accurate get_token_approvals tool. Use when: Use when broad spender discovery or cross-chain security screening is needed. Call once per chain because DeBank requires a chain_id. Use get_token_approvals for a free, block-accurate Ethereum or Base scan of curated tokens and spenders. Limitations: The result is third-party analytics and may be stale. It covers token approvals only, not NFT approvals or off-chain Permit2 sub-permits; each chain consumes a separate billable provider call. Alternatives: get_token_approvals
Paramètres, retour & exemple (2)
Paramètreschain_id· string · requis
DeBank chain identifier, for example eth, arb, or basewallet_address· string · requis
EVM wallet address (0x-prefixed)
Exemple d'appel{"name": "get_wallet_approvals", "arguments": {"chain_id": "texte", "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "errors": [], "chain_id": "texte", "approvals": [], "provenance": "texte", "data_complete": true, "wallet_address": "texte"}} - get_wallet_history≈ 1158 tokens
Get one page of decoded transaction history for an EVM wallet across DeBank-supported chains. Returns send, receive, and approval categories with protocol, token, exchange, gas, and USD metadata. Use the returned next_cursor as start_time to page backward. Use when: Use for wallet activity discovery, protocol interaction history, exchange exposure, and gas analysis. Page backward with next_cursor for older activity. Use get_transaction or decode_transaction when one known transaction needs block-level details. Limitations: DeBank returns at most 20 entries per call and the data may be stale. This tool is not a complete ledger, PnL engine, or cost-basis calculator because historical execution prices and all transfer semantics are not guaranteed. Alternatives: get_transaction, decode_transaction
Paramètres, retour & exemple (4)
Paramètreschain_ids· ? · optionnel
Optional DeBank chain identifiers; omit to query all supported chains.page_count· integer · optionnel
Number of history entries to request (maximum 20).start_time· ? · optionnel
Return entries earlier than this Unix timestamp for cursor pagination.wallet_address· string · requis
EVM wallet address (0x-prefixed)
Exemple d'appel{"name": "get_wallet_history", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "errors": [], "cex_dict": {}, "has_more": true, "chain_ids": "texte", "page_count": 1, "provenance": "texte", "start_time": "texte", "token_dict": {}, "next_cursor": "texte", "history_list": [], "project_dict": {}}} - get_wallet_portfolio≈ 602 tokens
Get aggregated token holdings with USD values for a wallet address. Tracks 19 major assets on Ethereum and 12 on Base, including spot, lending, liquid-staking, restaking, and stablecoin assets. Sorted by USD value. Returns up to 20 holdings. Includes native ETH balance in the holdings list — calling get_eth_balance separately after this is redundant. Use when: Choose when you need a wallet's overall token exposure and USD value on Ethereum or Base in one call. Call once per chain for a cross-chain comparison. Limitations: Tracks a fixed set of major assets per chain, not arbitrary tokens. Returns up to 20 holdings. Native ETH is included, so calling get_eth_balance separately is redundant. Alternatives: get_eth_balance, get_token_price, get_defi_positions
Paramètres, retour & exemple (2)
Paramètreschain_id· integer · optionnel
Chain ID (1=Ethereum, 8453=Base)wallet_address· string · requis
Wallet address (0x…)
Exemple d'appel{"name": "get_wallet_portfolio", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "chain_id": 1, "holdings": [], "fetch_errors": [], "wallet_address": "texte", "total_value_usd": 1}} - get_wallet_positions≈ 2353 tokens
Get a wallet's DeFi positions across all DeBank-supported chains and protocols. Returns protocol-level positions, asset/debt/net USD values, optional token lists, aggregate exposure, and optional all-chain net worth. Set include_token_balances=true to also return DeBank's complete cross-chain wallet token list. Set include_token_lists=false for a compact balance and debt summary without nested position tokens. This covers substantially more protocols and chains than the block-accurate get_defi_positions tool. Use raw-RPC tools for liquidation, swap quotes, or other transaction-critical questions. Use when: Use for broad wallet discovery, portfolio allocation, protocol exposure, or cross-chain position questions. Set include_token_balances=true when complete wallet token discovery is required; otherwise the response only includes tokens attached to protocol positions. Set include_token_lists=false when only protocol balances, debt, or aggregate exposure are needed. Use get_defi_positions when the user needs a block-accurate Aave, Compound, Uniswap, or Lido snapshot. Limitations: DeBank portfolio data is third-party analytics and may be stale, including occasional long refresh delays. It is read-only, EVM wallet oriented, and does not prove current liquidation or execution state. include_token_balances adds a separate billable DeBank request; include_token_lists only changes response detail. Alternatives: get_defi_positions, get_wallet_portfolio, get_token_approvals
Paramètres, retour & exemple (4)
Paramètreswallet_address· string · requis
EVM wallet address (0x…)include_net_worth· boolean · optionnel
Include all-chain net worth and per-chain balances; disable to avoid that additional provider request.include_token_lists· boolean · optionnel
Include protocol position token lists; disable for a compact balance and debt summary.include_token_balances· boolean · optionnel
Include DeBank's complete cross-chain token balance list; adds a billable provider request.
Exemple d'appel{"name": "get_wallet_positions", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "errors": [], "positions": [], "provenance": "texte", "data_complete": true, "total_net_usd": "texte", "chain_balances": [], "token_balances": [], "total_debt_usd": "texte", "wallet_address": "texte", "total_asset_usd": "texte", "include_net_worth": true}} - get_yield_rates≈ 1391 tokens
Get DeFi yield pool rates from DeFiLlama across 1,000+ protocols and all chains: pools sorted by APY with TVL, base/reward APY, and 7d/30d mean APY context, filterable by protocol, chain, min TVL, min/max APY, and symbol. Returns up to 50 pools. For protocol-specific lending comparisons (Aave vs Compound) prefer get_lending_rates. Use when: Use for broad cross-protocol yield discovery. Call at most once per request — filter with min_apy, max_apy, min_tvl_usd, and symbols_any in a single call, then sort client-side rather than re-calling. For protocol-specific rate questions use get_lending_rates. Limitations: Third-party DeFiLlama analytics; up to 50 pools per call. The `symbol` field lists underlying tokens (e.g. 'ETH-USDC') — filter client-side instead of re-calling with different arguments. Reward APY indicates reward-dependent yield; do not present spot APY as durable. Alternatives: get_lending_rates, get_protocol_tvl, get_token_price
Paramètres, retour & exemple (8)
Paramètreschain· ? · optionnel
Filter by chain name (e.g. 'Ethereum', 'Base', 'Arbitrum'). Case-insensitive. None = all chains.limit· integer · optionnel
Maximum number of pools to return, sorted by APY descending.max_apy· ? · optionnel
Exclude pools with APY above this value (%). Default None = no upper bound. Use to filter out leveraged/boosted pools (e.g. max_apy=30) so genuine stablecoin yields surface.min_apy· number · optionnel
Exclude pools with APY below this value (%). Default 0 includes all.protocols· ? · optionnel
Filter by DeFiLlama project slugs (e.g. ['aave-v3', 'compound-v3']). None or empty list = include all protocols.min_tvl_usd· number · optionnel
Exclude pools with TVL below this threshold (USD). Default $1M filters noise.stable_only· boolean · optionnel
When true, return only stablecoin pools and rank by 30d mean APY first to emphasize consistency over short-term spikes.symbols_any· ? · optionnel
Optional symbol filter. If provided, include pools whose symbol field contains at least one token from this list (case-insensitive). Use held token symbols from get_wallet_portfolio to focus results.
Exemple d'appel{"name": "get_yield_rates", "arguments": {"chain": "texte", "limit": 1, "max_apy": "texte", "min_apy": 1, "protocols": "texte", "min_tvl_usd": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "pools": [], "provenance": "texte", "total_matching": 1, "filters_applied": {}}} - http_fetch≈ 416 tokens
Fetch a web page and return its main text content, cleaned of markup. Use to read articles, documentation, and other resources referenced by URL. Blocks private and cloud-metadata addresses and re-validates every redirect hop. Use when: Use when a known URL's content is needed and structured tools cannot answer — e.g. reading a linked document or API docs. For general factual lookup prefer web_search; for token prices prefer get_token_price. Limitations: Read-only GET-style extraction returning cleaned text, not raw HTML or binary content. JS-heavy pages may yield little content; private/internal network targets are deliberately unreachable. Alternatives: web_search, get_token_price
Paramètres, retour & exemple (2)
Paramètresurl· string · requis
URL to fetch (http or https only)max_chars· integer · optionnel
Maximum characters of extracted content to return
Exemple d'appel{"name": "http_fetch", "arguments": {"url": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"url": "texte", "title": "texte", "content": "texte", "truncated": true, "content_length": 1}} - read_contract≈ 804 tokens
Call any view/pure function on a smart contract and return the decoded result, using a supplied ABI fragment. Supports historical reads via block_identifier and caller_address context for msg.sender-dependent views. Read-only: state-changing functions are rejected. Use when: Use when a protocol question needs a contract read that no higher-level tool covers — e.g. a niche view function or a protocol outside the standard tool set. Prefer purpose-built tools (get_defi_positions, get_lending_rates) for supported protocols. Limitations: Requires a valid ABI fragment; payable/nonpayable functions are rejected. Ethereum mainnet and Base only, with bounded RPC timeout and retry. Alternatives: get_defi_positions, get_lending_rates, get_token_approvals
Paramètres, retour & exemple (8)
Paramètresargs· array · optionnel
DEPRECATED: Positional arguments for the function call. Use 'args_json' for complex objects or Gemini compatibility.chain_id· integer · optionnel
Chain ID (1=Ethereum, 8453=Base)args_json· ? · optionnel
Optional JSON array string of positional arguments for the function call. Use this instead of 'args' for complex types or when calling via Google/Gemini.abi_fragment· string · requis
JSON array containing the ABI for the function to call. Supports both modern (stateMutability: view/pure) and legacy (constant: true) formats. Only read-only functions are allowed.function_name· string · requis
Name of the function to callcaller_address· ? · optionnel
Optional EVM address to supply as msg.sender for caller-dependent view functions. This does not sign or submit a transaction.block_identifier· string · optionnel
Block number, block hash, or 'latest'/'earliest'/'pending'contract_address· string · requis
Contract address (0x…)
Exemple d'appel{"name": "read_contract", "arguments": {"abi_fragment": "texte", "function_name": "texte", "contract_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"result": "texte", "chain_id": 1, "function_name": "texte", "caller_address": "texte", "block_identifier": "texte", "contract_address": "texte"}} - record_predictions≈ 296 tokens
Record a complete structured prediction document for downstream evaluation. Call once with the exact machine-readable prediction; the human-readable report is provided separately. Use when: Use at the end of a scheduled analysis run to persist the machine-readable prediction for later scoring. Call exactly once with the complete prediction document — never partially or repeatedly. Limitations: Internal sink for scheduled analysis, not a caller-facing marketplace tool. Stores the prediction as given; no validation of prediction quality or deduplication across calls. Alternatives: get_datetime
Paramètres, retour & exemple (1)
Paramètrespredictions· object · requis
The complete structured prediction document for this run.
Exemple d'appel{"name": "record_predictions", "arguments": {"predictions": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"recorded": true}} - resolve_ens≈ 396 tokens
Resolve an ENS name (e.g. 'vitalik.eth') to an Ethereum address, or an address to its primary ENS name, with avatar text record when available. Mainnet only. Use when: Use only when no 0x address is available and a name must become an address (or vice versa for attribution). If a 0x address is already present in the task or session, use it directly — resolution is redundant and adds latency. Limitations: Ethereum mainnet ENS only — no other chains or naming services. Reverse records are optional on ENS, so a valid address may legitimately have no primary name. Alternatives: get_wallet_portfolio, get_wallet_history
Paramètres, retour & exemple (1)
Paramètresname· string · requis
ENS name (e.g. 'vitalik.eth') to resolve to an address, or an Ethereum address (0x…) for reverse lookup to a primary ENS name.
Exemple d'appel{"name": "resolve_ens", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"name": "texte", "error": "texte", "avatar": "texte", "address": "texte", "resolved": true}} - validate_opportunity≈ 1116 tokens
Return a decision-ready yield-opportunity verdict before capital is deployed. The result branches to sustainable, caution, unsustainable, or insufficient_data and gives the calling agent the evidence needed to proceed, pause, or reject the opportunity. Use when: Delegate this check before deploying capital into a DeFi yield pool or staking opportunity when the caller needs an independent sustainability and liquidity decision. Limitations: Heuristic economic assessment based on DeFiLlama analytics and CoinGecko pricing. Does not audit smart contract bytecode, protocol governance, or admin key security. Alternatives: get_yield_rates, get_protocol_tvl, get_lending_rates, assess_counterparty_risk
Paramètres, retour & exemple (1)
Paramètrespool_id· string · requis
DeFiLlama yield pool UUID (e.g. '747c1d2a-c668-4682-b9f9-296708a3dd90').
Exemple d'appel{"name": "validate_opportunity", "arguments": {"pool_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"as_of": "texte", "chain": "texte", "symbol": "texte", "pool_id": "texte", "project": "texte", "verdict": "sustainable", "provenance": "texte", "risk_factors": [], "data_complete": true, "yield_summary": "texte", "partial_errors": [], "liquidity_summary": "texte"}} - web_search≈ 577 tokens
Real-time web search via Tavily for current events, fact-checking, and research. Use search_depth='advanced' for complex queries (higher quality, higher cost) and topic='news' or 'finance' for headlines or market information. Use when: Choose when the task needs current, external, or factual information not available from on-chain or local data — e.g. news, prices, documentation, or fact-checking. Limitations: Returns web snippets, not raw page bodies; results depend on Tavily coverage. Advanced depth costs more. Not a substitute for on-chain tools like get_token_price. Alternatives: get_token_price, http_fetch
Paramètres, retour & exemple (4)
Paramètresquery· string · requis
Search querytopic· string · optionnel · general | news | finance
Search topic: 'general' for web, 'news' for headlines, 'finance' for marketsnum_results· integer · optionnel
Number of web search results to return (1–20, default 5).search_depth· string · optionnel · basic | advanced
'basic' for fast results, 'advanced' for thorough research (higher cost)
Exemple d'appel{"name": "web_search", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"note": "texte", "query": "texte", "results": [], "num_results": 1}}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».