Validator Onboarding Guide
Step-by-step process to become a Pilier validator: from application to full activation.
Reading time: 15 minutes
Overview
Timeline
Total duration: ~90 days
Week 1-2: Submit EOI → Initial review
Week 3-6: Technical review → Testnet trial (30 days)
Week 7-8: Governance proposal → Voting (14 days)
Week 9-12: Onboarding → Sign Charter → Generate keys → Activate
Prerequisites
Before applying, ensure you:
- ✅ Are an eligible entity (university, NGO, public body, chamber, standards body)
- ✅ Have reviewed Eligibility
- ✅ Understand Responsibilities
- ✅ Can cover operational costs (~€500/month or apply for grants)
- ✅ Have technical capacity (sysadmin, 24/7 emergency contact)
Phase 1: Expression of Interest (Week 1-2)
Step 1: Self-Assessment
Complete the Eligibility Checklist:
| Question | Your Answer |
|---|---|
| Is your entity non-commercial? | ☐ Yes ☐ No |
| Legally registered in EU? | ☐ Yes ☐ No |
| Mission aligned with Pilier values? | ☐ Yes ☐ No |
| Can cover €500/month operational costs? | ☐ Yes ☐ No |
| Have technical staff? | ☐ Yes ☐ No |
| Can provide 24/7 emergency contact? | ☐ Yes ☐ No |
| Commit to 99% uptime target? | ☐ Yes ☐ No |
| Can respond to incidents <2 hours? | ☐ Yes ☐ No |
If all ✅ Yes: Proceed to Step 2
If any ❌ No: Review eligibility requirements or contact validators@pilier.org for guidance
Step 2: Submit Expression of Interest (EOI)
Send email to: validators@pilier.org
Subject: Validator Application - [Entity Name]
Email template:
Hello Pilier Team,
We are interested in becoming a Pilier validator.
## Entity Information
**Legal name:** [Full legal name]
**Entity type:** [University / NGO / Public Body / Chamber / Standards Body]
**Country:** [EU member state]
**Registration number:** [Company/org registration #]
**Website:** [URL]
## Contact Information
**Primary contact:**
├─ Name: [Full name]
├─ Title: [Job title]
├─ Email: [email]
├─ Phone: [phone with country code]
└─ Telegram: [@username] (optional)
**Technical contact:**
├─ Name: [Sysadmin name]
├─ Email: [tech email]
├─ Phone: [emergency phone, 24/7]
└─ Availability: [on-call schedule]
**Emergency backup contact:**
├─ Name: [Backup person]
└─ Phone: [backup emergency phone]
## Mission Alignment
**Our organization's mission:**
[Brief description, 2-3 sentences]
**Why we want to become a validator:**
[Explain alignment with Pilier values: transparency, sustainability, EU sovereignty, etc.]
**How we will contribute to Pilier ecosystem:**
[Research collaboration? NGO partnerships? Public sector pilots?]
## Technical Capacity
**Infrastructure:**
├─ Hosting: [Self-hosted / Cloud (OVH, Hetzner, AWS, etc.)]
├─ Hardware: [Specs: CPU cores, RAM, disk, network]
├─ Location: [City, country, datacenter if applicable]
└─ Redundancy: [Backup server? Yes/No]
**Team:**
├─ Sysadmin experience: [Years, relevant skills]
├─ Blockchain experience: [Yes/No, details if yes]
├─ Security practices: [Firewall, monitoring, backups, etc.]
└─ On-call coverage: [How we handle 24/7 emergency response]
## Budget
**Operational costs (monthly estimate):**
├─ Server hosting: €[X]
├─ Monitoring tools: €[X]
├─ Staff time: €[X]
├─ Insurance: €[X]
└─ Total: €[X]
**Funding source:**
[Internal IT budget / Grant / Institutional support / Need infrastructure grant]
**Infrastructure grant needed?**
☐ Yes, requesting: [Hardware subsidy / Hosting subsidy / Training budget]
☐ No, self-funded
## Availability
**When can we start testnet trial?**
[Date or "Immediately"]
**Estimated time to prepare infrastructure:**
[X weeks]
## Attachments
Please find attached:
├─ Certificate of incorporation (PDF)
├─ Statute/bylaws (proving non-profit status)
├─ Most recent annual report (if applicable)
└─ Proof of address (utility bill or lease)
## Confirmation
I confirm that:
☐ We have read the Validator Charter documentation
☐ We understand the responsibilities and commitments
☐ We are prepared for a 30-day testnet trial
☐ Our legal team will review the Charter before signing
---
Best regards,
[Name]
[Title]
[Entity]
[Email]
[Phone]
Step 3: Initial Review (3-5 Business Days)
Pilier core team reviews your EOI:
Review checklist:
├─ Entity eligibility (matches criteria?)
├─ Mission alignment (values match?)
├─ Technical capacity (can they run a validator?)
├─ Budget feasibility (can they afford it or need grant?)
└─ Documentation completeness (all attachments provided?)
Possible outcomes:
✅ Approved for technical review:
Email response:
"Welcome! You've passed initial review. Next steps:
1. Technical review + testnet trial (30 days)
2. Timeline: Start [date]
3. Instructions attached"
⚠️ Request for more information:
Email response:
"Thank you for your application. We need additional information:
- [Question 1]
- [Question 2]
Please provide by [date]."
❌ Not eligible:
Email response:
"Thank you for your interest. Unfortunately, [reason].
Alternative: [Suggestion, e.g., become a client instead of validator]"
Phase 2: Technical Review (Week 3-6)
Step 4: Hardware Audit
Pilier provides detailed hardware requirements:
Minimum specifications:
├─ CPU: 4 cores (8 recommended)
├─ RAM: 16GB (32GB recommended)
├─ Disk: 500GB NVMe SSD (1TB recommended)
├─ Network: 100 Mbps symmetrical (1 Gbps recommended)
└─ Uptime: 99.5% SLA from hosting provider
Software stack:
├─ OS: Ubuntu 24.04 LTS (or compatible)
├─ Pilier node binary: Latest stable release
├─ Monitoring: Prometheus + Grafana (or equivalent)
└─ Backup: Daily snapshots (off-site storage)
You provide:
Infrastructure details:
├─ Server specs (screenshot of `lscpu`, `free -h`, `df -h`)
├─ Network test (bandwidth test results)
├─ Hosting provider SLA (uptime guarantee document)
└─ Backup strategy (documented procedure)
Security measures:
├─ Firewall config (only necessary ports open)
├─ SSH hardening (key-based auth, no password login)
├─ Monitoring setup (Prometheus endpoints, alert rules)
└─ Access control (who has SSH access? MFA enabled?)
Pilier reviews and provides feedback:
Common issues:
├─ Insufficient disk space → Upgrade to 1TB
├─ No monitoring → Set up Prometheus/Grafana
├─ Weak SSH config → Disable password auth, enforce keys
└─ Missing backup plan → Document daily snapshot procedure
Step 5: Testnet Trial (30 Days)
Purpose: Prove you can run a validator reliably before mainnet.
What you'll do:
Day 1: Setup
├─ Receive testnet bootnodes list
├─ Sync testnet blockchain (~2-4 hours)
├─ Generate session keys (testnet)
└─ Submit session keys to Pilier (for validation)
Day 2-7: Shadow validator
├─ Observe-only mode (not producing blocks yet)
├─ Monitor sync status, peer connections
├─ Familiarize yourself with telemetry dashboard
└─ Test monitoring alerts (simulate failure)
Day 8-30: Active validator
├─ Added to testnet validator set
├─ Produce blocks and finality votes
├─ Target: 99.5%+ uptime
└─ Weekly check-ins with Pilier team
Day 30: Final evaluation
├─ Review performance metrics
├─ Discuss any issues encountered
└─ Decision: Ready for mainnet? or extend trial?
Performance targets:
| Metric | Target | Your Result |
|---|---|---|
| Uptime | ≥99.5% | _% |
| Block production | ~20% (if 5 validators) | _% |
| Finality participation | 100% | _% |
| Peer connections | ≥10 | _ |
| Average block import time | <500ms | _ms |
Common issues during trial:
Issue: Node won't sync
├─ Check bootnodes (are they correct?)
├─ Check firewall (P2P port 30333 open?)
└─ Check disk space (enough room for blockchain?)
Issue: Missing blocks
├─ Check session keys (correctly submitted?)
├─ Check system time (NTP synchronized?)
└─ Check CPU usage (not overloaded?)
Issue: Low peer count (<10)
├─ Check firewall (incoming connections allowed?)
├─ Check network (NAT issues? Port forwarding?)
└─ Add more bootnodes (request list from Pilier)
Weekly check-in template:
To: validators@pilier.org
Subject: Testnet Trial Week [N] - validator-{id}
Hello,
Here's our weekly testnet trial update:
**Performance (Week [N]):**
├─ Uptime: X.XX%
├─ Blocks produced: X / Y (Z%)
├─ Finality votes: X / Y (Z%)
└─ Issues: [None / List any issues]
**Issues Resolved:**
├─ [Issue 1]: [How we fixed it]
└─ [Issue 2]: [How we fixed it]
**Learnings:**
├─ [Lesson 1]
└─ [Lesson 2]
**Questions:**
├─ [Question 1]
└─ [Question 2]
Next week's goals:
├─ [Goal 1]
└─ [Goal 2]
---
[Your name]
[Entity]
Step 6: Security Audit (During Testnet Trial)
Pilier conducts lightweight security review:
Audit scope:
├─ Penetration test (automated scan for common vulnerabilities)
├─ Configuration review (SSH, firewall, node config)
├─ Access control review (who has access? MFA enforced?)
└─ Monitoring review (alerts configured? tested?)
Typical findings:
├─ SSH password auth enabled → Disable, keys only
├─ Root login allowed → Disable, use sudo
├─ Firewall too permissive → Close unnecessary ports
├─ No monitoring alerts → Set up email/SMS alerts
└─ Weak session key backup → Encrypt backup, store off-site
You fix issues within 7 days, re-audit if needed.
Step 7: Testnet Trial Evaluation
After 30 days, Pilier evaluates your performance:
Pass criteria:
├─ Uptime: ≥99.5% ✅
├─ Block production: ≥95% of expected ✅
├─ Finality participation: ≥99% ✅
├─ Security audit: No critical issues ✅
└─ Responsiveness: Timely weekly check-ins ✅
If PASS:
└─ Proceed to governance proposal (Phase 3)
If FAIL (rare):
├─ Option 1: Extend trial by 14-30 days (address issues)
├─ Option 2: Defer to next cohort (need more prep time)
└─ Option 3: Withdraw application (not ready)
Phase 3: Governance Proposal (Week 7-8)
Step 8: Governance Proposal Submitted
Pilier submits proposal on your behalf:
Proposal title: "Add validator-{id} ([Entity Name])"
Proposal content:
# Proposal: Add validator-amsterdam-01 (University of Amsterdam)
## Summary
Onboard University of Amsterdam as institutional validator to strengthen
EU academic network and geographic diversity.
## Entity Information
**Name:** Universiteit van Amsterdam
**Type:** Public research university
**Country:** Netherlands
**Website:** uva.nl
**Mission alignment:**
- Research focus: Digital rights, privacy, open science
- Values: Transparency, academic freedom, EU sovereignty
- Contribution: Research collaboration, student projects
## Technical Review
**Hardware:**
├─ CPU: 8 cores (AMD EPYC)
├─ RAM: 32GB
├─ Disk: 1TB NVMe SSD
├─ Network: 1 Gbps symmetrical
└─ Location: Amsterdam, Netherlands (university datacenter)
**Testnet trial results (30 days):**
├─ Uptime: 99.7% ✅
├─ Blocks produced: 2,156 / 2,160 (99.8%) ✅
├─ Finality votes: 43,200 / 43,200 (100%) ✅
├─ Peer connections: 15 average ✅
└─ Issues: None (smooth operation)
**Security audit:** PASSED
├─ No critical vulnerabilities
├─ Configuration compliant with Validator Charter
└─ Monitoring and alerting properly configured
## Impact Analysis
**Benefits:**
├─ Geographic diversity (first Netherlands validator)
├─ Academic credibility (top-tier research university)
├─ Civic trust narrative (public institution)
└─ Research collaboration (Pilier as academic testbed)
**Risks:**
├─ University funding cycles (potential budget cuts)
├─ Academic calendar (summer break, holidays)
└─ Mitigation: 24/7 on-call coverage, backup operators
## Charter Compliance
- [x] Signed Validator Charter (pending governance approval)
- [x] Insurance coverage (cyber liability €50k, professional indemnity €100k)
- [x] 24/7 monitoring and emergency contact
- [x] Disaster recovery plan documented
## Timeline
If approved:
├─ Week 1-2: Mainnet sync
├─ Week 3: Shadow validator (observe-only)
└─ Week 4: Full validator activation
## Budget
No treasury allocation required (validator self-funded).
## Voting
**Threshold:** 75% approval + 20% quorum
**Duration:** 14 days
**Start:** [Date]
**End:** [Date]
---
**Submitted by:** Pilier Core Team
**Contact:** validators@pilier.org
**Applicant contact:** validator-ops@uva.nl
Step 9: Community Discussion (14 Days)
During voting period, you should:
1. Introduce yourself on forum
└─ forum.pilier.net/governance/proposal-XXX
└─ Share your story, answer questions
2. Engage with community feedback
├─ Technical questions: Answer promptly
├─ Mission questions: Explain your values
└─ Concerns: Address transparently
3. Reach out to other validators
└─ Telegram: @pilier_validators
└─ Build relationships (you'll be peers soon)
4. Participate in Q&A sessions (if scheduled)
└─ Video call or forum AMA
└─ Show your team's competence and commitment
Example forum post:
Hello Pilier community!
I'm Jean Dupont, validator operator for University of Amsterdam's
proposed validator node.
**About us:**
We're a public research university with a strong focus on digital rights
and open science. We see Pilier as aligned with our mission: creating
open, transparent infrastructure for the public good.
**Why we want to join:**
- Contribute to EU digital sovereignty
- Use Pilier as research testbed (with community input)
- Support SME adoption in Netherlands
- Strengthen academic validator network
**Our commitment:**
- 24/7 operations (we run critical university services)
- 99.5%+ uptime target (backed by institutional SLA)
- Active governance participation (we'll vote on proposals)
- Transparency (we'll publish quarterly reports)
**Questions?**
Happy to answer anything. You can reach me: