Skip to content

Security: Nex-solutions/Solbolt

Security

SECURITY.md

Security Status

Last Updated: October 2025

This document tracks the security implementation status of SolBolt's payment channel protocol.

Implementation Status

βœ… Completed Features

  • Channel creation and initialization
  • Off-chain voucher generation
  • Cryptographic signature creation
  • Basic cooperative closure
  • SDK integration

🚧 In Development

  • On-chain nonce verification
  • Ed25519 signature verification
  • Dispute resolution mechanism
  • Timeout protection
  • Challenge period implementation

πŸ“‹ Planned Features

  • Revocable commitments
  • Penalty mechanisms
  • Watchtower protocol
  • Multi-signature support
  • Emergency shutdown procedures

Security Features

1. State Verification

Status: In Development
Priority: Critical

Current implementation:

  • Off-chain nonce tracking
  • Client-side state validation

Planned improvements:

  • On-chain nonce storage and verification
  • Reject stale state submissions
  • Monotonic nonce enforcement
// Planned implementation
pub struct PaymentChannel {
    pub nonce: u64,  // Stored on-chain
    // ...
}

pub fn close_channel(..., nonce: u64, ...) -> Result<()> {
    require!(nonce >= ctx.accounts.channel.nonce, ErrorCode::StaleState);
    // ...
}

2. Signature Verification

Status: In Development
Priority: Critical

Current implementation:

  • Client-side Ed25519 signing
  • Signature collection in vouchers

Planned improvements:

  • On-chain signature verification using Solana's Ed25519 program
  • Message reconstruction and validation
  • Public key matching
// Planned implementation
use solana_program::ed25519_program;

pub fn close_channel(...) -> Result<()> {
    verify_signature(signature_a, party_a, message)?;
    verify_signature(signature_b, party_b, message)?;
    // ...
}

3. Dispute Resolution

Status: Planned
Priority: High

Planned implementation:

  • Challenge period for contested closures
  • Submit newer state during dispute
  • Automatic resolution after timeout
// Planned state machine
pub enum ChannelState {
    Open,
    CloseInitiated,
    Challenged,
    Finalized,
}

4. Timeout Mechanism

Status: Planned
Priority: High

Planned implementation:

  • Configurable timeout period
  • Unilateral closure after timeout
  • Protection against offline counterparty
// Planned timeout structure
pub struct PaymentChannel {
    pub timeout: i64,
    pub last_update: i64,
    // ...
}

Security Testing

Test Coverage

  • Unit tests for smart contract
  • SDK integration tests
  • Attack scenario simulations
  • Fuzzing tests
  • Load testing
  • Security audit

Attack Scenarios

Planned test coverage:

  • Replay attack prevention
  • Signature forgery attempts
  • Race condition handling
  • Timeout abuse scenarios
  • Network partition cases

Audit Roadmap

Pre-Audit Phase (Current)

  • Implement core security features
  • Internal security review
  • Community testing on testnet

Audit Phase

  • Professional security audit by reputable firm
  • Bug bounty program
  • Vulnerability disclosure process

Post-Audit Phase

  • Address audit findings
  • Implement recommended improvements
  • Final review and mainnet preparation

Best Practices

For Users

Current recommendations:

  • Test on devnet/testnet only
  • Use small amounts during testing
  • Monitor channel states actively
  • Keep backup of signed vouchers

Before mainnet:

  • Review audit report
  • Understand protocol risks
  • Use appropriate fund limits
  • Implement monitoring

For Developers

Integration guidelines:

  • Validate all inputs
  • Handle errors gracefully
  • Implement retry logic
  • Store vouchers securely
  • Monitor channel health

Known Limitations

Protocol Constraints

  • Requires both parties online for updates
  • No multi-hop routing (single channel only)
  • Limited to bilateral channels
  • No automatic rebalancing

Operational Requirements

  • Manual voucher backup
  • Active monitoring needed
  • No automated dispute resolution
  • Manual intervention for edge cases

Security Contact

Found a security issue? Contact us:

  • Email: security@solbolt.dev
  • GitHub: Private security advisories
  • Response time: 48 hours for critical issues

Please provide:

  • Detailed description
  • Reproduction steps
  • Potential impact
  • Suggested fix (if any)

Responsible Disclosure

We follow responsible disclosure practices:

  • 90-day disclosure timeline
  • Coordinated public disclosure
  • Security credits for researchers
  • Bug bounty rewards for critical findings

Security Resources

References

Tools

  • Anchor's built-in security checks
  • Solana program verification
  • Signature verification libraries

Security is a continuous process. This document will be updated as features are implemented and audited.

There aren't any published security advisories