{"x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"10000","payTo":"0xF2Eec9De86274913F85A8aA6427Ad65a9B0bC90a","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}],"bootstrap":{"grant_type":"x402","token_endpoint":"/token","amount_usdc":50000,"accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"50000","payTo":"0xF2Eec9De86274913F85A8aA6427Ad65a9B0bC90a","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},"billing":{"enabled":true,"scheme":"exact","network":"eip155:8453","pricing_endpoint":"https://api.teardrop.dev/billing/pricing"},"endpoints":{"pricing":"/billing/pricing","docs":"/docs","agent_run":"/agent/run","mcp_tools":"/tools/mcp","a2a_message":"/message:send","bootstrap_token":"/token"},"resources":[{"path":"/agent/run","url":"https://api.teardrop.dev/agent/run","method":"POST","protocol":"ag-ui","auth_modes":["bearer"],"description":"Streaming Teardrop agent execution endpoint."},{"path":"/message:send","url":"https://api.teardrop.dev/message:send","method":"POST","protocol":"a2a","auth_modes":["bearer","x402"],"description":"Blocking public A2A endpoint for external agent callers."},{"path":"/tools/mcp","url":"https://api.teardrop.dev/tools/mcp","method":"POST","protocol":"mcp","auth_modes":["bearer","x402"],"description":"MCP discovery and optional paid tool execution gateway.","tools":[{"name":"assess_counterparty_risk","description":"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.","scheme":"exact","amount_usdc":35000},{"name":"assess_market_resolution","description":"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.","scheme":"exact","amount_usdc":25000},{"name":"convert_currency","description":"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.","scheme":"exact","amount_usdc":5000},{"name":"decode_transaction","description":"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.","scheme":"exact","amount_usdc":5000},{"name":"get_block","description":"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.","scheme":"exact","amount_usdc":5000},{"name":"get_chain_metrics","description":"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.","scheme":"exact","amount_usdc":5000},{"name":"get_dex_quote","description":"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.","scheme":"exact","amount_usdc":5000},{"name":"get_dex_volume","description":"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.","scheme":"exact","amount_usdc":5000},{"name":"get_defi_positions","description":"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.","scheme":"exact","amount_usdc":13000},{"name":"get_gas_price","description":"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.","scheme":"exact","amount_usdc":5000},{"name":"get_lending_rates","description":"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.","scheme":"exact","amount_usdc":5000},{"name":"get_liquidation_risk","description":"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.","scheme":"exact","amount_usdc":10000},{"name":"get_token_approvals","description":"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.","scheme":"exact","amount_usdc":5000},{"name":"get_wallet_approvals","description":"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.","scheme":"exact","amount_usdc":5000},{"name":"get_token_price","description":"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.","scheme":"exact","amount_usdc":5000},{"name":"get_protocol_tvl","description":"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.","scheme":"exact","amount_usdc":5000},{"name":"get_token_price_historical","description":"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.","scheme":"exact","amount_usdc":5000},{"name":"get_yield_rates","description":"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.","scheme":"exact","amount_usdc":5000},{"name":"web_search","description":"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.","scheme":"exact","amount_usdc":15000},{"name":"http_fetch","description":"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.","scheme":"exact","amount_usdc":5000},{"name":"get_eth_balance","description":"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.","scheme":"exact","amount_usdc":5000},{"name":"get_erc20_balance","description":"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.","scheme":"exact","amount_usdc":5000},{"name":"get_transaction","description":"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.","scheme":"exact","amount_usdc":5000},{"name":"get_wallet_portfolio","description":"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.","scheme":"exact","amount_usdc":5000},{"name":"get_wallet_history","description":"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.","scheme":"exact","amount_usdc":6000},{"name":"get_wallet_positions","description":"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.","scheme":"exact","amount_usdc":20000},{"name":"read_contract","description":"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.","scheme":"exact","amount_usdc":5000},{"name":"resolve_ens","description":"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.","scheme":"exact","amount_usdc":5000},{"name":"validate_opportunity","description":"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.","scheme":"exact","amount_usdc":15000}]},{"path":"/token","url":"https://api.teardrop.dev/token","method":"POST","protocol":"x402-bootstrap","auth_modes":["x402"],"description":"Zero-human org bootstrap; POST grant_type=x402 to receive machine credentials."}],"homepage":"https://api.teardrop.dev","documentationUrl":"https://api.teardrop.dev/docs"}