NFTruth: Engineering Trust in Web3 with Machine Learning
How I built a multi-model ensemble system to detect NFT fraud with 95% accuracy.
Most NFT fraud checks look at one thing: whether the image is a duplicate. That optimizes for the easiest signal and ignores where scammers actually operate. NFTruth scores a collection across three independent dimensions and shows the reasoning behind every score.
Throughout this post, “fraud” means a collection with at least one manipulated signal, whether in its metadata, its social presence, or its trading activity.
The Baseline Flaw
Image matching catches copy-mint collections and misses everything else. A scammer can produce original art and still fake the surrounding evidence. Fraud in Web3 spreads across three layers:
- Manipulation Vector: Fake rarity traits, deceptive property distribution, and spoofed contract names.
- NFTruth Signal: Trait consistency verification, JSON schema validation, and minting uniformity.
- Manipulation Vector: Coordinated bot armies creating artificial hype and buzz on Reddit and Twitter.
- NFTruth Signal: Reddit OAuth + VADER NLP sentiment polarity to identify unnatural, repetitive pumping vocabularies.
- Manipulation Vector: Self-dealing and wash trading among connected wallets to fabricate fake volume charts.
- NFTruth Signal: Creator contract deployment age, floor price stability, and ownership concentration ratios.
No single model covers all three. Each layer has a different data shape and a different failure pattern, so I built a multi-model ensemble.
The Data Pipeline
Collects verified collection badges, floor price stability, 24h trading volume, and unique ownership distributions.
Ingests crypto forum discussion threads using VADER to separate organic community discussions from uniform bot-driven pumping sentiment.
Scans creator wallet lifecycles, transaction frequencies, and cyclic wallet wash networks.
Aggregates normalized features into calibrated probability scores accompanied by explainable feature contribution logs.
The Ensemble Architecture
Four classifiers each cover a different facet of risk, and their outputs are weighted into one score:
- Role: Baseline probability.
- Why this model: Provides a transparent, highly interpretable linear reference point that prevents overfitting on sparse training collections.
- Role: Social sentiment & feature interactions.
- Why this model: Gracefully handles non-linear relationships between sentiment spikes and abnormal trading behavior without fragile manual heuristics.
- Role: Serial scam pattern detection.
- Why this model: Sequentially learns from misclassified edge cases, identifying subtle wash-trading repetition across wallet cohorts.
- Role: High-dimensional separation.
- Why this model: Efficiently establishes optimal decision boundaries across dense 20+ feature multidimensional coordinate spaces.
This follows the ensemble principle from statistical learning: models with uncorrelated errors, combined, produce a lower error rate than any one of them. Weighting the four outputs yields a 95%+ confidence rating at prediction time.
Risk Calibration Tiers
Results
Testing covered several thousand NFT collections. The system flagged hundreds of unverified collections as “Very High Risk” before they gained significant traction.
Every score ships with a breakdown of what caused it, such as inconsistent trading volume or abnormal sentiment polarity. A user can check the evidence instead of trusting a verdict.
Trade-Offs
Why it exists: OpenSea, Reddit, and Etherscan all rate-limit and update their schemas periodically.
Why it is acceptable: The alternative is running full independent archive nodes and web scrapers, which is computationally prohibitive.
Why it exists: A 95% confidence rating reflects inter-model agreement across engineered features, not metaphysical certainty.
Why it is acceptable: The feature attribution breakdown lets users audit borderline cases with complete transparency.
Why it exists: Running four models and feature extractors requires more compute than a single heuristic script.
Why it is acceptable: A single model missed subtle fraud signals that the multi-model ensemble reliably catches.
What I Took From It
NFTruth showed me why explainability is a requirement in security tooling. A binary “safe” or “unsafe” flag asks the user to trust the system. A flag with its evidence lets the user verify it. Combining machine learning with on-chain data makes that verification possible at scale.
Related Project:
NFTruth: AI NFT Authenticity Detection
View Technical Breakdown →