# Deep Funding GG24 - Level II Submission: Originality Score Predictions
**Submission Date:** April 17, 2026
**Model Version:** Enhanced Ensemble v2
**Target:** Ethereum ecosystem (98 L1 repositories, 3,677 dependencies)
—
## Executive Summary
This submission presents a **domain-knowledge-driven ensemble approach** to predict originality scores for 98 Ethereum ecosystem repositories. The model combines:
1. **Curated scores** - Hand-tuned originality assessments based on deep Ethereum ecosystem knowledge
2. **GitHub API features** - Quantitative signals (stars, forks, contributors, codebase size, activity)
3. **Project type classification** - Systematic categorization (compilers, clients, wrappers, etc.)
**Key Insight:** Originality varies systematically by project category. Domain knowledge outweighs generic ML features because jury evaluators understand that compilers require years of engineering, wrapper libraries depend heavily on others, and specifications are intellectual contributions despite modest codebase size.
—
## Methodology
### 1. Curated Expert Scores
For 85+ of the 98 repositories, we manually assigned originality scores based on deep Ethereum ecosystem knowledge. The scoring philosophy:
| Category | Originality Range | Rationale |
|----------|------------------|-----------|
| Compilers (Solidity, Vyper, Fe) | 0.76-0.82 | Define the ecosystem, massive engineering |
| Protocol Specs (EIPs, consensus-specs) | 0.74-0.78 | Pure intellectual/novel work |
| Execution Clients (geth, reth, nethermind) | 0.65-0.72 | Implement specs but with significant original architecture |
| Consensus Clients (lighthouse, prysm, teku) | 0.62-0.70 | Same as execution clients |
| ZK/Proving Systems (Plonky3, SP1, halmos) | 0.55-0.66 | Novel engineering on established theory |
| Crypto Libraries (blst, noble-curves) | 0.55-0.65 | Implement known algorithms with optimization |
| Dev Tools (Hardhat, Foundry) | 0.52-0.65 | Varies by novelty of approach |
| Smart Contract Libs (OpenZeppelin, solady) | 0.42-0.60 | Patterns vs. novel optimization |
| SDK/Wrapper Libraries (ethers.js, web3.py) | 0.38-0.52 | Expose others’ work with UX layer |
| Infrastructure (helm charts, docker configs) | 0.35-0.50 | Configuration/integration work |
### 2. GitHub API Feature Extraction
For each repository, we collect:
- **Stars, forks, watchers**: Community recognition
- **Contributors**: Team size and project substantiality
- **Code size (KB)**: Scope of implementation
- **Language diversity**: Project complexity
- **Is fork**: Direct penalty for forked repos
- **Recent activity**: Days since last push
### 3. Feature-Based Scoring
```python
score = 0.5 # neutral baseline
# Recognition bonus
if stars > 10000: score += 0.08
elif stars > 5000: score += 0.05
elif stars > 1000: score += 0.03
# Team size bonus
if contributors > 100: score += 0.06
elif contributors > 50: score += 0.04
# Codebase size bonus
if size_kb > 50000: score += 0.05
elif size_kb > 10000: score += 0.03
# Fork penalty
if is_fork: score -= 0.15
```
### 4. Ensemble Combination
```
final_score = 0.85 × curated_score + 0.15 × feature_score
```
We weight curated scores heavily (85%) because domain knowledge is more reliable than GitHub vanity metrics for this task. Features provide small adjustments for edge cases.
—
## Key Design Decisions
### Why Domain Knowledge > Pure ML
The competition evaluates against human jury scores. The jury consists of Ethereum ecosystem participants who understand that:
- Compilers require years of original engineering
- Wrapper libraries, by definition, expose work done elsewhere
- Specifications are intellectual contributions even if small codebases
A pure ML model trained on GitHub metrics would miss these nuances. Our curated scores embed this understanding directly.
### Why Certain Repos Score High/Low
**High Originality (≥0.70):**
| Repo | Score | Justification |
|------|-------|---------------|
| solidity | 0.82 | The compiler that enabled all of Ethereum smart contracts |
| vyper | 0.80 | Alternative compiler with novel safety-first design |
| eips | 0.78 | Defines Ethereum’s evolution - pure intellectual work |
| reth | 0.72 | Modern Rust rewrite, not a fork, significant original architecture |
| lighthouse | 0.70 | Leading consensus client with original Rust implementation |
| lambda_ethereum_consensus | 0.70 | Novel Elixir implementation of consensus |
**Medium Originality (0.50-0.65):**
| Repo | Score | Justification |
|------|-------|---------------|
| foundry | 0.65 | Original dev tooling approach in Rust, significant novel work |
| miden-vm | 0.64 | Novel ZK VM design |
| hardhat | 0.58 | Mature tooling but builds on Node.js ecosystem |
| blockscout | 0.58 | Explorer with significant custom indexing logic |
**Lower Originality (<0.50):**
| Repo | Score | Justification |
|------|-------|---------------|
| web3.py | 0.42 | Wraps JSON-RPC, exposes protocol built by others |
| web3j | 0.40 | Java wrapper library |
| ethereum-helm-charts | 0.35 | Configuration files, minimal code |
| simple-optimism-node | 0.35 | Setup scripts, integrates others’ work |
—
## Results
### Prediction Distribution
- **Mean**: 0.56 (slightly above neutral - Ethereum has many original projects)
- **Std**: 0.11 (healthy spread)
- **Range**: [0.35, 0.82]
### Distribution by Category
- **High originality (≥0.65)**: 22 repos (compilers, clients, specs)
- **Medium originality (0.50-0.65)**: 45 repos (tools, libraries, ZK systems)
- **Lower originality (<0.50)**: 31 repos (wrappers, infrastructure, configs)
—
## Limitations & Future Improvements
### Current Limitations
1. **Curated scores are subjective** - Different experts might weight categories differently
2. **No dependency graph analysis** - Would be valuable to analyze actual import statements
3. **No code quality metrics** - SLOC, cyclomatic complexity, test coverage would help
4. **Static snapshot** - Doesn’t capture recent momentum or decline
### Potential Improvements
1. **Bradley-Terry model** - Train on jury pairwise comparisons from trial data
2. **Dependency graph traversal** - Parse package.json/Cargo.toml for actual dependency weights
3. **Semantic code analysis** - Use LLMs to assess code novelty vs. boilerplate
4. **Community signal incorporation** - npm downloads, crates io downloads, validator adoption data
—
## Reproducibility
```bash
# Full model with GitHub API (requires token)
pip install pandas requests scikit-learn
python enhanced_model.py
# Quick predictions (no API needed)
python quick_predict.py
```
## Files
| File | Description |
|------|-------------|
| `enhanced_model.py` | Full model with GitHub API + curated scores |
| `quick_predict.py` | Simplified version (no API required) |
| `submission_v2.csv` | **Final submission** (use this!) |
| `submission.csv` | Initial predictions |
| `writeup.md` | This documentation |
| `github_cache.json` | Cached API data (generated on first run) |
—
## Submission Format & Files
### Deliverables
1. **submission_v2.csv** - Final predictions (98 repos × 2 columns: repo_url, originality)
- Format: (repo_url, originality_weight)
- All weights in [0, 1] range
- Mean: 0.56, Range: [0.35, 0.82]
2. **Model Code**
- `enhanced_model.py` - Full model with GitHub API integration
- `deep_funding_model.py` - Alternative implementation
- `quick_predict.py` - Fast version without API
3. **Documentation**
- `writeup.md` - This technical writeup
- `README.md` - Quick start guide (optional)
### How to Verify Submissions
```bash
# Check submission format
head -5 submission_v2.csv
tail -5 submission_v2.csv
# Verify all repos present
wc -l submission_v2.csv # Should be 99 (98 repos + header)
# Test model reproducibility
export GITHUB_TOKEN=“your_token_here”
python enhanced_model.py
```
—
## Competition Submission Details
**Where to Submit:**
1. **Model Code Upload:** deep.seer.pm (upload CSV + code + writeup)
2. **Discussion Forum:
- Post writeup summary
- Link to submission
- Explain key methodology
**Scoring Criteria:**
- Model performance against jury baseline scores
- Quality of writeup explanation
- Code reproducibility
- Methodology rigor
—
## Quality Assurance Checklist
-
98 repositories scored
-
All weights in [0, 1] range
-
Format: (repo_url, originality_weight)
-
Code is reproducible and documented
-
GitHub tokens removed from code
-
Methodology based on domain expertise
-
Feature engineering clearly explained
-
Edge cases handled (forks, archived repos, etc.)
—
*Submission for Gitcoin Grants Round 24 - Deep Funding Competition (Level II)*
*Ethereum ecosystem repository importance ranking using domain knowledge and GitHub signals*