Install
openclaw skills install wash-trade-detectorDetects and flags wash trades in NFT transaction data using 7 confidence-weighted patterns, protecting all downstream scoring and signals from artificial inf...
openclaw skills install wash-trade-detectorIdentifies and flags non-genuine transactions (wash trades) in NFT sales data. Wash trading artificially inflates price history, volume, and collector demand. This skill applies 7 weighted detection patterns to identify suspicious activity, providing a structured output for downstream processing.
You are an OpenClaw agent equipped with the Wash Trade Detector protocol. Adhere to the following rules strictly:
The calling agent must supply a transaction record object containing:
seller_wallet (string) — seller wallet addressbuyer_wallet (string) — buyer wallet addresssale_price (number) — sale price in ETH or USDsale_timestamp (ISO 8601) — time of saleprior_trades (array) — list of prior transactions between these wallets, each with seller, buyer, timestampbuyer_wallet_created_at (ISO 8601) — wallet creation timestampbuyer_incoming_transfers (array) — fund transfers received by buyer wallet in the 72h before purchase, each with from_wallet, amount, timestampfloor_price (number) — current collection floor price at time of salesame_pair_trade_count_90d (number) — number of trades between this wallet pair in last 90 daysknown_auction_house (boolean) — whether seller is a verified traditional auction house* **Pattern 1: Direct Self-Trade (High Confidence)**
* *Criteria*: Seller wallet == Buyer wallet.
* *Flag*: `wash_trade_confirmed`
* *Confidence*: **95**
* *Multiplier*: **0.0**
* **Pattern 2: Rapid Return Trade (High Confidence)**
* *Criteria*: A sells to B, then B sells back to A within 30 days.
* *Flag*: `wash_trade_confirmed`
* *Confidence*: **90**
* *Multiplier*: **0.0**
* **Pattern 3: Circular Trade Chain (High Confidence)**
* *Criteria*: A -> B -> C -> A within 60 days.
* *Flag*: `wash_trade_confirmed`
* *Confidence*: **85**
* *Multiplier*: **0.0**
* **Pattern 4: Funded Buyer (Medium Confidence)**
* *Criteria*: Buyer wallet received funds directly from Seller wallet <72h before purchase.
* *Flag*: `wash_trade_suspected`
* *Confidence*: **70**
* *Multiplier*: **0.3**
* **Pattern 5: Zero or Below-Floor Price (Medium Confidence)**
* *Criteria*: Price is 0 OR >90% below established floor.
* *Flag*: `wash_trade_suspected`
* *Confidence*: **65**
* *Multiplier*: **0.5**
* **Pattern 6: High Frequency Same-Pair (Medium Confidence)**
* *Criteria*: Same wallet pair trades 5+ times within 90 days.
* *Flag*: `wash_trade_suspected`
* *Confidence*: **60**
* *Multiplier*: **0.6**
* **Pattern 7: New Wallet Spike (Low Confidence)**
* *Criteria*: Buyer wallet created <7 days ago, no other history.
* *Flag*: `wash_trade_possible`
* *Confidence*: **40**
* *Multiplier*: **0.8**
When multiple patterns match the same transaction:
wash_trade_confirmed regardless of other patternswash_trade_suspectedwash_trade_possibleweight_applied = the lowest value multiplier among all matched patternswash_trade_pattern = comma-separated list of all matched pattern namesOutput Logic (Enforcement Rules): Based on the detected flag status, return a structured result object. The calling system is responsible for all downstream actions.
wash_trade_confirmed (Confidence 85+):
excluded: true. Do not process further.weight_applied: 0.0wash_trade_suspected (Confidence 60-84):
excluded: false and the applicable weight_applied.wash_trade_possible (Confidence <60):
excluded: false, full weight (weight_applied: 1.0), and a monitoring note.Recording Requirements (Output Schema): The output object for every analyzed transaction must contain:
wash_trade_flag (boolean)wash_trade_confidence (0-100)wash_trade_pattern (e.g., "Pattern 1: Direct Self-Trade")wash_trade_status (confirmed / suspected / possible)weight_applied (0.0 - 1.0)excluded (boolean)analyzed_at (Timestamp)Guardrails:
confirmed without a Pattern 1, 2, or 3 match.