Bounty XXB-2025-002: Sleeve Wallet Single Seed Modification
Overview
This bounty rewards developers for modifying the Sleeve Wallet to support single seed phrase generation while maintaining quantum security through WOTS (Winternitz One-Time Signature) and classical ECDSA key binding.
The current generation is described here: wallet/docs/Sleeve Wallet generation.png · main · foundation / sleeve · GitLab - This produces a quantum secure secret and an output used to generate a BIP39 mnemonic used as a seed for other wallets. This construction necessitates 2 output mnemonics. One based on entropy to create a wallet secret to generate a WOTS keypair and one based on the SHA3_256 output which generates the ECDSA key. Sleeve derives it’s security by chaining the public key from WOTS to the secret that generates the ECDSA or other key type, allowing for support of any arbitrary network. We want to add an option to use a single seed phrase and generate such keys using the WOTS public key as part of the derivation path. The goal here is to modify the sleeve tool to produce both types, as BIP32 derivation and related do not typically expose the master key, only the secret keys attached to the public key. Thus, by using the same seed to produce a bound quantum and classical key, users can generate such keys with existing seeds instead of relying on 2 levels of BIP32. You can implement this via separate derivation path or by selecting an index value that corresponds to the WOTS public key.
Technical Resources
- Current Sleeve generation process: wallet/docs/Sleeve Wallet generation.png · main · foundation / sleeve · GitLab
- Sleeve foundation repository: foundation / sleeve · GitLab
- Wallet generator repository: xx-labs / wallet-generator · GitLab
- Live web interface: https://sleeve.xx.network
Prize Pool & Award Notes/Restrictions
- Total Prize: ~$50,000 USD in xx equivalent
- Total determined by token average over 2 week period after milestone submission.
- Token lockups may be required depending on your proposal/submission.
- KYC may be required.
Milestone 1 (70%): Sleeve Tool Core Modification
- Modify the current Sleeve Wallet generation process (wallet/docs/Sleeve Wallet generation.png · main · foundation / sleeve · GitLab)
- Implement single seed phrase option alongside existing dual-mnemonic approach
- Maintain quantum security by using WOTS public key as part of derivation path
- Support both separate derivation path implementation and index value selection corresponding to WOTS public key
- Ensure backward compatibility with existing dual-mnemonic generation
- Maintain security model where WOTS public key chains to the secret generating ECDSA keys
- Enable arbitrary network support through bound quantum and classical key generation
Implementation Specifications
- Single seed phrase must generate both quantum-secure WOTS keypair and classical ECDSA keys
- WOTS public key must be incorporated into the derivation path for classical key generation
- BIP32 derivation compatibility while exposing necessary key material for quantum security
- Support for existing seed phrases to generate bound quantum and classical keys
- Clear separation between single-seed and dual-mnemonic generation modes
Milestone 2 (20%): Existing Tool Integration
- Update https://sleeve.xx.network to support single seed phrase option
- Update wallet generator GUI (xx-labs / wallet-generator · GitLab)
- Provide clear user guidance on seed type selection
Milestone 3 (10%): External Audit
Reserved for auditor.
Other Submission Requirements
-
Source Code Requirements:
- Open source (same license as existing Sleeve components)
- Submitted via merge request to appropriate repositories
- Well-documented with inline comments
- Passing comprehensive test suite
- Following project coding standards
- Backward compatibility maintained
-
Documentation Requirements:
- Technical specification of single seed implementation
- API reference documentation
- User guide for both generation methods
- Security analysis and threat model
- Migration guide from dual-mnemonic to single seed
- Build and deployment instructions
-
Testing Requirements:
- Unit tests for all new functionality
- Integration tests for web and desktop interfaces
- Security tests validating quantum-classical key binding
- Compatibility tests with existing wallets
- Performance benchmarks
