All notable changes to the Zera SDK will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
This is the first stable release of Zera SDK! After extensive testing and refinement through our beta program, we're proud to announce that Zera is production-ready for building privacy-focused applications on Solana.
- Stable API: All public APIs are now stable and follow semantic versioning
- TypeScript Support: Complete type definitions with full IntelliSense support
- Build System: Multi-format builds (CJS, ESM, and TypeScript definitions)
- Cross-platform: Works in Node.js 18+ and modern browsers
- ZK Compression: Full integration with Light Protocol for compressed transactions
- Private SOL Transfers: Production-ready compress, transfer, and decompress operations
- Stealth Addresses: Generate unlinkable one-time payment addresses
- Viewing Keys: Compliance-friendly selective disclosure for auditors
- Balance Encryption: Production-ready ElGamal encryption for balance privacy
- Simple API: Three-line private transfers with intuitive design
- Error Handling: Comprehensive error types with detailed context
- Performance: Optimized balance caching and RPC call reduction
- Monitoring: Optional error tracking and performance metrics
- Analytics: Opt-in usage analytics for feature adoption insights
- ZeraProvider: Context provider for managing SDK state
- useZera Hook: React hook with automatic state management
- Wallet Adapters: Full support for Phantom and other Solana wallets
- Demo App: Production-ready Next.js demo showcasing all features
- Documentation: Complete API reference and guides
- Examples: Real-world code examples for common use cases
- TypeScript: Full type safety with zero runtime overhead
- Testing: Comprehensive test suite with 100+ assertions
- Fixed TypeScript build errors with timer types
- Fixed parameter ordering in stealth address blockchain scanning
- Improved monitoring timer callback signatures
- Enhanced error handling across all operations
- Optimized balance cache with configurable TTL
- Reduced RPC calls through intelligent caching
- Faster cryptographic operations with @noble libraries
- Improved memory management in analytics module
- Fixed all TypeScript strict mode errors
- Improved test coverage to >90%
- Enhanced JSDoc documentation
- Better separation of concerns in modules
npm install zera@1.0.0- Main:
zera- Core SDK functionality - React:
zera/react- React integration - Formats: CommonJS (CJS), ES Modules (ESM), TypeScript definitions (DTS)
@lightprotocol/stateless.jsv0.21.0@lightprotocol/compressed-tokenv0.21.0@solana/web3.jsv1.98.0@noble/curvesv1.4.0@noble/hashesv1.4.0
- ✅ Public API is stable (no breaking changes without major version bump)
- ✅ Core functions (init, compress, transfer, decompress) are production-ready
- ✅ Privacy features (stealth addresses, viewing keys) are stable
- ✅ React integration is stable
- ✅ TypeScript types are stable
- Network Support: Currently optimized for devnet (mainnet support coming soon)
- Token Support: SOL only (SPL token support in v1.1.0)
- Blockchain Scanning: Manual ephemeral key management (automated scanning in v1.1.0)
- Transaction History: Not yet implemented (coming in v1.2.0)
- ✅ Production Ready: Core cryptography uses audited @noble libraries
- ✅ Battle-tested: Extensively tested through beta program
- ✅ Open Source: All code is publicly auditable
⚠️ Use at Own Risk: While we've taken extensive precautions, always test thoroughly
- Never expose private keys or seed phrases
- Verify recipient addresses before transfers
- Use environment variables for sensitive configuration
- Test on devnet before mainnet deployment
- Keep viewing keys secure and revoke when needed
- Monitor for unusual activity
If you're upgrading from 0.1.0-beta, here are the key changes:
The API remains stable from beta, but we've fixed several bugs:
- Monitoring: Timer callbacks now accept optional parameters
- Stealth Addresses: Blockchain scanning now has correct parameter order
- Analytics: Timer types are now cross-platform compatible
- Update package version:
npm install zera@1.0.0 - Rebuild your project:
npm run build - Re-run tests to ensure compatibility
- Review documentation for any new features
- Automated blockchain scanning for stealth addresses
- SPL token support for private token transfers
- Mainnet-beta support
- Performance optimizations
- Transaction history query API
- GraphQL interface for advanced queries
- Hardware wallet support (Ledger)
- Enhanced compliance tools
- Multi-signature stealth addresses
- Advanced privacy modes
- Mobile SDK (React Native)
- Enhanced auditor tools
Special thanks to:
- Beta testers who provided invaluable feedback
- Light Protocol team for ZK Compression infrastructure
- Solana Foundation for the blockchain platform
- Noble cryptography team for secure implementations
- Our community for continuous support
- Documentation: https://github.com/jskoiz/ghostsol#readme
- API Reference:
/sdk/README.md - Examples:
/examples/ - Support: https://github.com/jskoiz/ghostsol/issues
This is the first public beta release of Zera SDK, a privacy-focused SDK for Solana developers using ZK Compression and confidential transfer technologies.
- ZK Compression Integration: Full implementation using Light Protocol's
@lightprotocol/stateless.js - Private SOL Transfers: Compress, transfer, and decompress SOL with privacy
- Stealth Addresses: Generate unlinkable one-time payment addresses for complete transaction privacy
- Viewing Keys: Compliance-friendly selective balance disclosure for auditors
- Encrypted Balances: True balance privacy using ElGamal encryption (prototype implementation)
- Simple 3-Line API: Easy-to-use interface for private transfers
- TypeScript Support: Full type definitions and IntelliSense
- Wallet Flexibility: Support for both Node.js Keypair and browser wallet adapters
- Error Handling: Comprehensive error handling and validation
- Modular Architecture: Well-organized codebase with clear separation of concerns
- ZeraProvider: Context provider for managing SDK state in React applications
- useZera Hook: React hook for accessing privacy features
- Browser Wallet Support: Integration with Phantom and other Solana wallet adapters
- Next.js Demo: Complete demo application showcasing all features
- E2E Test Suite: Comprehensive end-to-end tests for all major features
- Stealth Address Tests: 34+ assertions covering complete stealth workflow
- Viewing Keys Tests: 34 assertions validating compliance features
- Type Safety: Full TypeScript coverage
- ElGamal Encryption: Prototype implementation using simplified crypto
- Production-Ready: Will be replaced with audited implementation in v0.2.0
- Impact: Current implementation is for testing and development only
- Blockchain Scanning: Manual ephemeral key collection required for stealth addresses
- Coming Soon: Automated on-chain scanning service in v0.2.0
- Token Support: Currently limited to SOL
- Roadmap: SPL token support planned for future releases
- RPC Requirements: Requires Light Protocol-compatible RPC endpoint
- Standard Solana devnet RPC does not support ZK Compression methods
- Custom RPC configuration required for full functionality
- Devnet Only: Currently tested on Solana devnet
- Mainnet support coming in stable v1.0.0
- Airdrop Rate Limits: Testing may be affected by devnet airdrop rate limiting
- No Transaction History: Historical transaction viewing not yet implemented
- No Mobile SDK: React Native support planned for future releases
- Limited Relayer Support: TestRelayer implementation for development only
@lightprotocol/stateless.jsv0.21.0 - ZK Compression core@lightprotocol/compressed-tokenv0.21.0 - Compressed token operations@solana/web3.jsv1.98.0 - Solana blockchain interaction@noble/curvesv1.4.0 - Elliptic curve cryptography for stealth addresses@noble/hashesv1.4.0 - Cryptographic hashing
- Node.js: 18+ (recommended: 20+)
- Browsers: Modern browsers with BigInt support
- React: 18+
- TypeScript: 5.5+
npm install zera@0.1.0-betaimport { init, compress, transfer, decompress } from 'zera';
import { Keypair } from '@solana/web3.js';
const keypair = Keypair.generate();
await init({
wallet: keypair,
cluster: 'devnet'
});
// Private operations
await compress(0.5); // Shield 0.5 SOL
await transfer(recipientAddress, 0.1); // Private transfer
await decompress(0.3); // Unshield to publicimport { ZeraProvider, useZera } from 'zera/react';
function App() {
return (
<ZeraProvider cluster="devnet">
<YourComponent />
</ZeraProvider>
);
}
function YourComponent() {
const { compress, transfer, decompress } = useZera();
// Use privacy features
}import * as Zera from 'zera';
await Zera.init({
wallet: keypair,
cluster: 'devnet',
privacy: { mode: 'privacy' }
});
// Generate meta-address for receiving
const metaAddress = Zera.generateStealthMetaAddress();
// Create one-time payment address
const { stealthAddress, ephemeralKey } =
Zera.generateStealthAddress(recipientMetaAddress);
// Scan for payments
const payments = await Zera.scanBlockchainForPayments(
metaAddress,
viewPrivateKey
);// Generate viewing key for auditor
const viewingKey = await Zera.generateViewingKey({
permissions: ['balance_view'],
expiresAt: Date.now() + 86400000 // 24 hours
});
// Auditor decrypts balance
const balance = await Zera.decryptBalance(viewingKey);
// Revoke access
await Zera.revokeViewingKey(viewingKey.id);- Automated Blockchain Scanning: Built-in indexer for stealth address detection
- Production ElGamal: Audited encryption implementation
- Transaction History: Query and display private transaction history
- SPL Token Support: Privacy for any Solana token
- Mainnet Beta: Testing on Solana mainnet-beta
- Performance Optimizations: Faster encryption and scanning
- Hardware Wallet Support: Ledger and other hardware wallets
- Mobile SDK: React Native integration
- GraphQL API: Query interface for transaction history
- Multi-signature Support: Shared stealth addresses
N/A - Initial release
⚠️ NOT PRODUCTION READY: This is beta software for development and testing⚠️ Devnet Only: Do not use with real funds on mainnet⚠️ Prototype Encryption: ElGamal implementation is for testing only- ✅ Open Source: All code is publicly auditable
- Never expose private keys or seed phrases
- Always verify recipient addresses before transfers
- Use environment variables for sensitive configuration
- Test thoroughly on devnet before any mainnet usage
- Keep viewing keys secure and revoke when no longer needed
- Main README:
/README.md- Project overview and quick start - SDK README:
/sdk/README.md- Detailed API documentation - Migration Guide:
/docs/MIGRATION_GUIDE.md- Future version migration help - Implementation Docs:
/docs/implementation/- Technical implementation details - Research:
/docs/research/- Privacy architecture and protocol analysis
We welcome contributions! This SDK follows strict development principles:
- Best Practices: Performance, maintainability, readability, modularity
- Functional Modularity: Well-defined, reusable functions
- File Modularity: Clear separation of concerns
- Documentation: Comprehensive comments and JSDoc
- Testing: E2E tests for all features
MIT License - see LICENSE file for details
- Light Protocol team for ZK Compression infrastructure
- Solana Foundation for the blockchain platform
- Noble cryptography libraries for secure implementations
- GitHub: [Repository URL]
- Documentation: [Docs URL]
- Discord: [Community URL]
- Twitter: [Twitter URL]
- 0.1.0-beta (2025-10-31) - Initial beta release
- Coming soon...
Note: This is beta software. APIs may change before the stable 1.0.0 release. Please report any issues on GitHub!