Private tokens, Signal-style messaging, and zero-rent compression for Solana
# Full privacy SDK
npm install @styxstack/sdk
# Individual packages
npm install @styxstack/sps-sdk # Privacy-native tokens & DeFi
npm install @styxstack/sts-sdk # Event-sourced token standard
npm install @styxstack/app-kit # React/React Native components
npm install @styxstack/whisperdrop-sdk # Private airdropsimport { SpsClient, DOMAIN_STS, sts } from '@styxstack/sps-sdk';
import { Connection, Keypair } from '@solana/web3.js';
const connection = new Connection('https://mainnet.helius-rpc.com/?api-key=YOUR_KEY');
const wallet = Keypair.fromSecretKey(/* your key */);
const client = new SpsClient(connection, wallet, { network: 'mainnet' });
// Transfer private tokens
const { signature } = await client.transfer({
mintId: 'TOKEN_MINT_ID',
amount: 1000000n,
recipient: recipientPubkey,
});@styxstack/sdkComplete privacy SDK
@styxstack/sps-sdkPrivacy Standard SDK
@styxstack/sts-sdkToken Standard SDK
@styxstack/app-kitReact/React Native components
@styxstack/whisperdrop-sdkPrivate Airdrops
Zero-rent inscription tokens with native privacy. Create fungible tokens, NFTs, or semi-fungibles.
// Create token (fungible, NFT, or semi-fungible)
await client.createMint({
name: 'My Token',
symbol: 'MTK',
decimals: 9,
mintType: 0, // 0=Fungible, 1=NFT, 2=SemiFungible
backingType: 0, // 0=Native, 1=SplBacked, 2=Hybrid
privacyMode: 0, // 0=Private, 1=Transparent, 2=Optional
});
// Shielded transfer (hidden amounts)
await client.shieldedTransfer({
mintId,
amount: 1000000n,
recipient,
memo: 'Private payment',
});
// Shield SPL tokens → private SPS notes
await client.shield({
splMint: tokenMintPubkey,
amount: 1000000n,
commitment: generateCommitment(viewingKey),
});
// Unshield → back to SPL tokens
await client.unshield({
nullifier,
amount: 1000000n,
recipient: walletPubkey,
});Domain 0x01 - Pure inscription, zero accounts
Domain 0x0F - Light Protocol-style Merkle trees
Domain 0x0E - Virtual ↔ Real bidirectional
| ID | Domain | Description |
|---|---|---|
| 0x01 | STS | Token Standard (fungible, NFT, semi-fungible) |
| 0x02 | MESSAGING | Signal-style encrypted messaging |
| 0x03 | ACCOUNT | Virtual Token Accounts, delegation |
| 0x04 | VSL | Virtual Shielded Ledger |
| 0x05 | NOTES | UTXO notes and Merkle trees |
| 0x07 | PRIVACY | Decoys, ephemeral, shadow |
| 0x08 | DEFI | Swaps, pools, staking |
| 0x09 | NFT | Marketplace (list, bid, buy) |
| 0x0D | GOVERNANCE | Private voting |
| 0x0E | DAM | Deferred Account Materialization |
| 0x0F | IC | Inscription Compression |
import com.styx.appkit.StyxAppKit
import com.styx.appkit.messaging.PrivateMessaging
class ChatViewModel : ViewModel() {
private val styx = StyxAppKit.create(Network.MAINNET, rpcUrl)
suspend fun sendMessage(to: String, content: String) {
styx.messaging.send(to, content.toByteArray())
}
fun onMessageReceived(handler: (PrivateMessage) -> Unit) {
styx.messaging.subscribe(handler)
}
}GhSTPRZFBnWXMjt6xFnpY2ZHFwijFoC44KkxXSEC94X9FehhtvqDUQrhDnnVVw4mvkwpgXa1CaQf6QytkysuGQeWGet your API keys and start building private Solana apps today.