Quickstart
Deploy a shielded token to devnet and send your first private transfer.
# point the CLI at devnetsolana config set --url devnetanchor init my-shielded-tokennpm i @cinder/sdkOpen the quickstart
Confidential SPL tokens
Cinder is a shielded token layer for Solana. Balances are encrypted on-chain, while every transfer still settles and verifies like any other.
CNDR is an SPL token. It works with any Solana wallet, and shielded balances are opt-in per account.
Programs are written in Rust with Anchor, and apps talk to them from TypeScript.
Deploy a shielded token to devnet and send your first private transfer.
# point the CLI at devnetsolana config set --url devnetanchor init my-shielded-tokennpm i @cinder/sdkOpen the quickstart
No guides match that. Clear the filter to see all five.
Open-source libraries for each layer of your stack.
Rust crate for on-chain shielded token logic.
cargo add cinder-programTypeScript client for browsers and Node.
npm i @cinder/sdkCommand-line tool for minting and testing on devnet.
cargo install cinder-cliLink a Solana wallet to Cinder. Connecting shares your public address with this page. It doesn't move funds or ask you to sign anything.
No wallet extension found on this page. Extensions only load on pages opened in a normal browser tab, so if you're viewing a preview, open the page's own link instead.
Cinder never asks for your seed phrase. If any site does, close it.
The Solana wallet adapter handles detection, connecting, and signing across many wallets. Install it, then wrap your app.
npm i @solana/wallet-adapter-react @solana/wallet-adapter-react-ui @solana/wallet-adapter-wallets @solana/web3.jsimport { ConnectionProvider, WalletProvider } from "@solana/wallet-adapter-react";
import { WalletModalProvider, WalletMultiButton } from "@solana/wallet-adapter-react-ui";
export function App() {
return (
<ConnectionProvider endpoint="https://api.devnet.solana.com">
<WalletProvider wallets={[]} autoConnect>
<WalletModalProvider>
<WalletMultiButton />
</WalletModalProvider>
</WalletProvider>
</ConnectionProvider>
);
}
What connecting does, and what to check when it doesn't work.
Only your public address, which anyone can already see on-chain. Your keys and seed phrase never leave the wallet.
No. This page never requests a transaction. If an app built on Cinder asks you to sign something, your wallet shows the details first and you can reject it.
This page detects Phantom, Solflare, and Backpack. The wallet adapter shown above supports many more, so your own app isn't limited to these three.
Reload the page after installing the extension, unlock it, and open this page in a normal browser tab. Extensions don't load inside embedded previews.
Set up your token, then run the commands this page prepares. Nothing is signed here, so your keys stay on your machine.
Mainnet-beta creates real accounts that cost SOL, and a mint can't be deleted. Run these on devnet first.
You'll need the Solana CLI and cargo install spl-token-cli.
A few checks before you tell anyone about your coin.