DetectRugSignals
Detect rug-pull signals on a Uniswap V2 or V3 pool via three threshold checks: suspiciously low TVL, top-LP concentration above a limit, and inactive-pool-with-liquidity. Composes over CheckPoolHealth and returns per-signal booleans plus a count-based risk level (low/medium/high/critical). The inactive-with-liquidity signal is V2-only; V3 pools report False for it with a note in details.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rpc_url | Yes | An Ethereum (or L2) JSON-RPC URL used to read live pool state. Required; supplied by you per call (BYO-RPC) and may carry your provider key. The endpoint stores and logs nothing — the URL is never persisted or written to logs. | |
| chain_id | No | Optional guard. If supplied and the RPC reports a different chain id, the call is rejected. Defaults to 1 (Ethereum mainnet) conceptually; omit to skip the check. | |
| pool_type | Yes | Which protocol the pool at pool_address belongs to. This tool accepts uniswap_v2 | uniswap_v3. | |
| tvl_floor | No | Minimum acceptable TVL in token0 numeraire. Values at or below fire the tvl_suspiciously_low signal. Default 10.0 is nominal; override for your pair. | |
| block_number | No | Optional block number to pin the read to a historical block. Omit to read the latest block. | |
| pool_address | Yes | On-chain address of the pool/pair to analyze (Uniswap V2/V3 pair, Balancer weighted pool, or Curve stableswap pool). Required. Lowercase, uppercase, or checksum casing all work. | |
| lp_concentration_threshold | No | Top-LP share (strict-greater-than) that triggers the concentration signal. In (0, 1]; default 0.90; pass 1.0 to disable. |