Date: March 26, 2026
Status: READY FOR FIRM ENGAGEMENT
Objective: Identify and engage a reputable Soroban-experienced security audit firm
All candidate firms must meet these minimum requirements:
- ✅ Soroban Smart Contract Audits: Minimum 2 completed audits of Soroban contracts
- ✅ Blockchain Security: 5+ years of blockchain security experience
- ✅ Smart Contract Audits: 20+ completed smart contract security audits
- ✅ Rust Expertise: Demonstrated experience auditing Rust-based smart contracts
- ✅ Stellar Ecosystem: Familiarity with Stellar network and Soroban SDK
- ✅ Dedicated Security Engineers: Team of 2-3 security engineers minimum
- ✅ Cryptography Background: At least one team member with cryptography expertise
- ✅ Lead Auditor: Senior auditor with 10+ years security experience
- ✅ Availability: Capacity to complete audit within 4-6 weeks
- ✅ Public Track Record: Published audit reports (anonymized if needed)
- ✅ Client References: 3+ verifiable references from previous blockchain projects
- ✅ Industry Recognition: Known in blockchain security community
- ✅ No Conflicts: No financial interest in TrustLink or competing projects
- Previous audits of Stellar-based projects
- Experience with GDPR compliance in blockchain contexts
- Published security research or blog posts
- Bug bounty program participation
- Formal security certifications (OSCP, CEH, etc.)
These firms have demonstrated Soroban expertise and strong track records:
OpenZeppelin (https://www.openzeppelin.com/security-audits)
- Soroban Experience: ✅ Multiple Soroban audits completed
- Track Record: Industry leader, 500+ audits completed
- Team Size: Large dedicated security team
- Cost Range: $100,000 - $200,000+
- Timeline: 6-8 weeks
- Strengths: Comprehensive reports, excellent documentation, post-audit support
- Contact: security@openzeppelin.com
Halborn (https://halborn.com)
- Soroban Experience: ✅ Soroban ecosystem audits
- Track Record: 400+ blockchain audits, strong Rust expertise
- Team Size: Large security team
- Cost Range: $80,000 - $150,000
- Timeline: 4-6 weeks
- Strengths: Fast turnaround, detailed findings, remediation support
- Contact: contact@halborn.com
Trail of Bits (https://www.trailofbits.com)
- Soroban Experience: ✅ Stellar ecosystem experience
- Track Record: 300+ audits, strong cryptography team
- Team Size: Specialized security team
- Cost Range: $100,000 - $180,000
- Timeline: 5-7 weeks
- Strengths: Deep technical analysis, research-backed findings
- Contact: audits@trailofbits.com
Certora (https://www.certora.com)
- Soroban Experience: ✅ Formal verification expertise
- Track Record: 200+ audits, strong Rust background
- Team Size: Specialized team
- Cost Range: $80,000 - $140,000
- Timeline: 4-6 weeks
- Strengths: Formal verification, mathematical proofs, high confidence
- Contact: audits@certora.com
Quantstamp (https://quantstamp.com)
- Soroban Experience: ✅ Blockchain audits
- Track Record: 300+ audits
- Cost Range: $60,000 - $120,000
- Timeline: 4-6 weeks
Consensys Diligence (https://consensys.net/diligence/)
- Soroban Experience: ✅ Ethereum/Solana experience, expanding to Soroban
- Track Record: 200+ audits
- Cost Range: $80,000 - $150,000
- Timeline: 5-7 weeks
Spearbit (https://spearbit.com)
- Soroban Experience: ✅ Emerging Soroban expertise
- Track Record: 100+ audits, growing reputation
- Cost Range: $50,000 - $100,000
- Timeline: 4-6 weeks
Action Items:
- Contact 3-5 firms from Tier 1 list
- Provide audit scope document (AUDIT_SCOPE.md)
- Request:
- Audit proposal and timeline
- Cost estimate
- Team composition
- References from similar projects
- Availability confirmation
Email Template:
Subject: Security Audit Engagement - TrustLink Soroban Contract
Dear [Firm Name] Security Team,
We are seeking a reputable security audit firm to conduct a comprehensive
security review of TrustLink, a Soroban smart contract for on-chain attestation
and verification on the Stellar blockchain.
Project Details:
- Smart Contract: Soroban (Rust)
- Scope: ~5,000 lines of code + comprehensive test suite
- Timeline: Pre-mainnet deployment (urgent)
- Budget: $50,000 - $150,000 USD
Attached is our detailed audit scope document (AUDIT_SCOPE.md) which outlines:
- Project overview and architecture
- In-scope components and functions
- Security objectives and methodology
- Known issues requiring resolution
- Acceptance criteria and deliverables
We would appreciate:
1. Your audit proposal and estimated timeline
2. Team composition and relevant experience
3. References from previous Soroban or Stellar projects
4. Cost estimate and payment terms
5. Availability confirmation
Please respond within 3 business days if interested.
Best regards,
[Your Name]
TrustLink Team
Evaluation Criteria:
| Criterion | Weight | Scoring |
|---|---|---|
| Soroban/Rust Experience | 25% | 1-5 stars |
| Team Qualifications | 20% | 1-5 stars |
| Timeline & Availability | 20% | 1-5 stars |
| Cost Competitiveness | 15% | 1-5 stars |
| Reference Quality | 15% | 1-5 stars |
| Communication Quality | 5% | 1-5 stars |
Scoring Formula: (Criterion Score × Weight) summed across all criteria
Decision Threshold: Select firm(s) with score ≥ 4.0/5.0
Negotiation Points:
- Scope Confirmation: Verify all components in AUDIT_SCOPE.md are included
- Timeline: Confirm 4-6 week audit duration
- Deliverables: Confirm report format and publication rights
- Remediation Support: Negotiate post-audit support for findings
- Payment Terms: Typically 50% upfront, 50% on completion
- Confidentiality: Clarify NDA and publication timeline
Contract Essentials:
- Detailed scope of work (reference AUDIT_SCOPE.md)
- Audit timeline with milestones
- Deliverables and report format
- Payment schedule and terms
- Confidentiality and publication rights
- Liability and insurance
- Dispute resolution process
Kickoff Activities:
- Execute audit agreement
- Provide source code and documentation
- Schedule kickoff meeting with auditor team
- Establish communication channels
- Provide testnet deployment details
- Answer initial questions
Deliverables to Auditor:
- ✅ Source code (src/ directory)
- ✅ Test suite (tests/ directory, src/test.rs)
- ✅ Documentation (docs/ directory)
- ✅ Audit scope document (AUDIT_SCOPE.md)
- ✅ Security review (docs/security-review.md)
- ✅ Deployment guide (DEPLOYMENT.md)
- ✅ Integration examples (examples/ directory)
- ✅ Build instructions (Makefile, Cargo.toml)
Before audit engagement, ensure:
-
✅ All three pre-identified findings are fixed:
- FINDING-001:
initialize()state read before auth - FINDING-002:
revoke_attestation()missingrequire_issuercheck - FINDING-003:
update_expiration()missingrequire_issuercheck
- FINDING-001:
-
✅ Code compiles without errors:
cargo check --lib cargo build --target wasm32-unknown-unknown --release
-
✅ All tests pass:
cargo test -
✅ Code is formatted:
cargo fmt
-
✅ No clippy warnings:
cargo clippy --all-targets --all-features
- ✅ README.md is current and accurate
- ✅ DEPLOYMENT.md covers all deployment scenarios
- ✅ docs/security.md documents threat model
- ✅ docs/compliance.md covers GDPR compliance
- ✅ docs/integration-guide.md shows cross-contract patterns
- ✅ AUDIT_SCOPE.md is comprehensive and clear
- ✅ Unit tests cover all major functions
- ✅ Authorization tests verify access control
- ✅ Integration tests demonstrate cross-contract usage
- ✅ Fuzz tests validate ID generation
- ✅ Edge cases are tested (pagination, expiration, etc.)
- Contact audit firms
- Evaluate proposals
- Negotiate terms
- Execute audit agreement
- Provide source code and documentation
- Auditor conducts code review
- Auditor performs security testing
- Auditor documents findings
- Weekly status calls with auditor
- Clarification questions answered
- Receive draft audit report
- Review findings
- Fix critical and high-severity issues
- Provide remediation evidence to auditor
- Auditor verifies fixes
- Receive final audit report
- Review and approve report
- Prepare for publication
- Update README with audit badge
- Publish audit report
Timeline: Must be resolved before mainnet deployment
Process:
- Receive finding from auditor
- Assess impact and root cause
- Develop fix
- Test fix thoroughly
- Provide evidence to auditor
- Auditor verifies resolution
- Document resolution in audit report
Escalation: If critical finding cannot be resolved, delay mainnet deployment
Timeline: Should be resolved before mainnet, or accepted with documented risk
Options:
- Fix the issue (preferred)
- Accept risk with documented mitigation
- Implement workaround
- Delay mainnet deployment
Timeline: Can be addressed post-mainnet
Process:
- Prioritize by impact and effort
- Create GitHub issues for tracking
- Plan fixes in future releases
- Document in CHANGELOG
The final audit report should include:
-
Executive Summary
- Overall risk assessment
- Critical findings summary
- Mainnet readiness recommendation
-
Detailed Findings
- Critical issues (must fix)
- High-severity issues (should fix)
- Medium-severity issues (consider fixing)
- Low-severity issues (informational)
- Best practices and recommendations
-
Authorization Review
- Function-by-function analysis
- Role enforcement verification
- Access control assessment
-
Data Integrity Analysis
- ID generation verification
- Storage safety assessment
- Pagination correctness
-
Compliance Assessment
- GDPR compliance verification
- Data minimization review
- Privacy controls assessment
-
Appendices
- Code references
- Test cases
- Proof-of-concept exploits (if applicable)
Public Release:
- Publish full audit report on project website
- Create dedicated audit page with:
- Audit completion date
- Auditor name and firm
- Link to full report
- Executive summary
- Audit badge
Stakeholder Communication:
- Announce audit completion to community
- Notify integrators and partners
- Update GitHub releases
- Post on social media
Transparency:
- Make report publicly available
- Allow community review
- Respond to questions
- Maintain audit report archive
Create an audit badge for README and website:
[](./AUDIT_REPORT.md)Or use custom badge:
![Audited by [Firm Name]](./assets/audit-badge.png)Add to README.md top section:
# TrustLink - On-Chain Attestation & Verification System
[](https://github.com/afurious/TrustLink/actions/workflows/ci.yml)
[](https://codecov.io/gh/afurious/TrustLink)
[](./AUDIT_REPORT.md)Add to README.md Security section:
## Security
This contract has been audited by [Auditor Firm Name] on [Date].
- **Audit Report:** [Link to full report](./AUDIT_REPORT.md)
- **Auditor:** [Firm Name](https://firm-website.com)
- **Completion Date:** [Date]
- **Status:** ✅ All critical findings resolved
For security concerns, please email security@trustlink.ioScenario: Auditor identifies critical security issues
Response:
- Pause mainnet deployment
- Assemble emergency response team
- Analyze finding severity and impact
- Develop fix with auditor guidance
- Implement and test fix
- Request auditor re-verification
- Update audit report with remediation
- Resume mainnet deployment only after verification
Scenario: Audit firm cannot complete audit
Response:
- Immediately contact backup firm from Tier 2 list
- Provide all materials and context
- Negotiate expedited timeline
- Adjust budget if necessary
- Maintain communication with community
Scenario: Audit costs exceed approved budget
Response:
- Negotiate scope reduction with auditor
- Prioritize critical areas
- Defer non-critical findings to post-mainnet
- Seek additional funding if necessary
- Document trade-offs and risks
✅ Firm Engaged
- Reputable Soroban-experienced firm selected
- Audit agreement executed
- Team assigned and introduced
- Kickoff meeting completed
✅ Audit Execution
- Audit completed within agreed timeline
- All scope items reviewed
- Comprehensive findings documented
- Auditor available for clarifications
✅ Findings Resolution
- All critical findings fixed and verified
- All high findings resolved or accepted
- Remediation evidence provided to auditor
- Audit report updated with resolutions
✅ Report Publication
- Final audit report completed
- Report published publicly
- README updated with audit badge
- Community notified of completion
Before mainnet deployment:
- ✅ Audit completed by reputable firm
- ✅ All critical findings resolved
- ✅ All high findings resolved or accepted
- ✅ Audit report published publicly
- ✅ README links to audit report
- ✅ Admin key secured (multisig or hardware wallet)
- ✅ Incident response runbook created
- ✅ Event monitoring configured
- ✅ Testnet deployment successful
- Project Lead: [Name/Email]
- Technical Lead: [Name/Email]
- Security Contact: [Name/Email]
- Audit Coordinator: [Name/Email]
- Primary Contact: [Name/Email]
- Escalation Contact: [Name/Email]
| Version | Date | Author | Changes |
|---|---|---|---|
| 1.0 | 2026-03-26 | TrustLink Team | Initial firm selection document |
Status: READY FOR FIRM ENGAGEMENT
Next Steps:
- Contact 3-5 audit firms from Tier 1 list
- Evaluate proposals and references
- Negotiate terms and timeline
- Execute audit agreement
- Provide source code and documentation
- Begin audit execution