Frequently Asked Questions
General
What does ZKP mean?
ZKP stands for Zero-Knowledge Proof — a cryptographic method that lets you prove something (like authorship) without revealing the underlying data. zKPnote uses this concept to let you prove you wrote a note without exposing its contents.
What is zKPnote?
zKPnote is a privacy-first note-taking app that encrypts your notes end-to-end and anchors them on the Solana blockchain. It combines a markdown editor, a Solana wallet, and a peer-to-peer marketplace for selling knowledge assets.
Is zKPnote free?
The core note-taking and encryption features are free. The marketplace charges a 2% fee on sales, which is handled automatically by the on-chain smart contract.
Is zKPnote open source?
zKPnote is proprietary software. The smart contract source, developer documentation, and help guides are publicly available for transparency.
Can I use a rich text editor instead of Markdown?
Yes! Toggle between Markdown and Rich Text modes using the toolbar. Rich Text gives you a familiar word-processor experience with bold, italic, headings, lists, and more. Your notes are stored as Markdown internally, so you can switch between modes freely.
Can I use dark or light mode?
Yes, click the sun/moon icon in the editor toolbar to toggle between dark and light mode for the writing area. Your preference is saved automatically.
Can I use zKPnote offline?
Yes. Your notes save to your browser's local storage (IndexedDB) as you type, even without an internet connection. When you reconnect, your vault will sync to the cloud. Just don't clear your browser data before syncing — local storage is the primary store until sync completes.
Can I access my vault from multiple devices?
Yes. Your seed phrase is your key. Enter it on any device with a browser to unlock your vault. Your encrypted notes sync through the cloud, so you'll see the same vault everywhere.
Vault & Security
What happens if I lose my seed phrase?
Your vault is gone. There is no password reset, no recovery email, no support ticket. zKPnote is designed so that only you can access your notes. Write your seed phrase down and store it somewhere safe.
Can zKPnote read my notes?
No. All encryption and decryption happens on your device. The server only stores encrypted data. Even the zKPnote team cannot read your notes.
What encryption does zKPnote use?
XChaCha20-Poly1305 via libsodium for note encryption. 256-bit keys derived from your seed phrase or Phantom wallet signature using HKDF.
Is my data backed up?
Yes. Your encrypted vault is automatically synced to cloud storage. You can also export a backup file manually. Both are encrypted — useless without your seed phrase.
Marketplace
Can I resell a note I bought?
No. Purchased notes are tagged and the Sell button is disabled. Additionally, if you copy the content into a new note and try to list it, the similarity detection system will block it.
What are the sale types?
- Copies: Unlimited copies, you keep the original
- Original: One-time transfer, note removed from your vault
- Auction: Timed bidding, highest bidder wins
How does the auction work?
Set a starting bid, optional reserve price, and duration (1h to 7 days). Bidding doesn't lock SOL — the winner pays when the auction ends by clicking "Pay & Claim Note."
What's the marketplace fee?
2% of every sale, deducted automatically by the on-chain smart contract. The buyer pays the full price; the contract splits 98% to the seller and 2% to the zKPnote treasury.
How does content preview work?
When listing a note, you choose how much buyers see before purchasing:
- Masked: Redacted structure showing headings, lists, and paragraph shapes without actual text
- Partial: First N characters shown (you control how much via a slider)
- Full: Entire note visible before purchase
What stops someone from copying my content?
Three layers of protection:
- Purchase tagging: Notes bought from the marketplace cannot be relisted
- Listing similarity (70%): When creating a listing, the server compares content against all existing marketplace listings using trigram-based similarity. Anything 70%+ similar to another seller's listing is blocked.
- Proof similarity (90%): Content is also compared against all on-chain proved notes from other authors. If your note is 90%+ similar to another author's proved work, you cannot list it — even if that content was never listed for sale. This protects proved intellectual property beyond the marketplace.
Proof of Originality
What is Proof of Originality?
Proof of Originality registers a SHA-256 hash of your note on the Solana blockchain. The first person to register a hash wins — it permanently proves that you created that specific content at a specific time. Think of it as a timestamped digital fingerprint that nobody can forge or backdate.
How do I prove my note?
Open the note in the editor and click the shield icon (purple) in the toolbar. zKPnote hashes your note content and submits a transaction to Solana. You'll need a small amount of SOL to cover the transaction fee. Once confirmed, the shield turns green and a banner shows the Solana Explorer link.
Can someone else prove my content?
Only if they prove it before you do. Once a SHA-256 hash is registered on-chain, that exact content is claimed — no one else can register the same hash. This is why it's a good idea to prove your original work as soon as you're ready.
What is the Verify page?
The Verify page is a public page at /verify (accessible from the marketplace nav bar and sidebar) where anyone can check whether a piece of content has been proved on-chain. Paste in any text and zKPnote will check for exact matches and also surface similar proved content. No login or wallet is required.
What do the icons next to my notes mean?
Every note shows an icon for its local status, and optionally a second icon if it's been shared:
- Padlock (dim) — local & private, never proved, never shared
- Shield (green) — proved on Solana
- Globe — shared publicly (anyone with the link)
- Eye — shared with a standard on-chain view agreement
- Document with checkmark (amber) — shared under an on-chain NDA
A note can show both a status icon and a share icon — for example, a proved note shared under NDA displays both the green shield and the amber NDA document. Click Legend above the file tree in the sidebar to see the full cheat sheet, or hover any icon for a tooltip.
Wallet
Do I need SOL to use zKPnote?
You need a small amount of SOL for on-chain operations (proving notes, marketplace transactions). On test networks, use the Airdrop button to get free test SOL.
Can I use my Phantom wallet?
Yes. Click "Connect with Phantom" on the welcome screen. You'll need to sign a message to derive your encryption key (no SOL spent). Your Phantom wallet handles transaction signing.
Will I see the same notes whether I log in with Phantom or my seed phrase?
Yes. Both login methods derive the same encryption key and wallet address, so you get the same vault regardless of how you log in. Your seed phrase produces the same Solana address as Phantom (via BIP-44 standard derivation), and both modes sign the same internal message to derive identical encryption keys.
Why does Phantom ask me to sign a message?
zKPnote uses a deterministic message signature to derive your encryption key. Since Ed25519 signatures are deterministic, the same wallet always produces the same key. This is not a transaction — no SOL is spent.
Why does my Phantom wallet stay connected now?
zKPnote caches the encryption signature in your browser session. This means you no longer need to re-approve the signature message every time you refresh the page. Your Phantom wallet stays connected as long as your browser session is active.
Blockchain
What gets stored on the blockchain?
Only SHA-256 hashes of your individual notes, plus metadata (timestamp, owner address). Your actual note content is never on-chain.
Which blockchain does zKPnote use?
Solana. The smart contract is built with the Anchor framework.
Can I verify a proof on-chain?
Yes. Each proof creates a PDA (Program Derived Address) derived from the content hash and your wallet address. You can look it up on any Solana explorer using the program ID Ad67RwgTaeh77UQ5oZXAwt3fTvg3u5oNxNfcc3tGJLbc. You can also use the Verify page to check any content.
AI Integration
Can I use zKPnote with Claude or other AI assistants?
Yes. zKPnote ships an MCP (Model Context Protocol) server in two flavors:
- Local stdio transport (18 tools) for Claude Desktop and Claude Code — runs on your machine, seed phrase never leaves your device.
- Remote HTTP transport (15 tools) for Claude mobile (iOS / Android) and claude.ai on the web — reaches the same vault through a hosted endpoint at
https://www.zkpnote.com/api/mcp(currently self-hosted; multi-tenant managed hosting is planned).
Both transports read and write the same encrypted vault — a note you save on your phone appears immediately on Claude Desktop and the zKPnote web app. You can ask Claude to save research, summarize notes, build a knowledge graph, check on-chain proofs, browse the marketplace, and more — all while your notes stay end-to-end encrypted.
See the MCP Setup guide for step-by-step instructions for each client.
Can I use zKPnote with Claude on my phone?
Yes — as of v0.7.0 zKPnote exposes a remote MCP endpoint at https://www.zkpnote.com/api/mcp that Claude mobile connects to as a custom connector. The mobile connector URL takes the form https://www.zkpnote.com/api/mcp?token=YOUR_BEARER_TOKEN; the token is a per-deployment secret configured via the ZKPNOTE_MCP_TOKEN environment variable. Today the endpoint is single-tenant (one deployment = one vault), so you either use it against the Richard/therealdealio alpha host or fork the repo and deploy your own Vercel instance with your own seed phrase + token. Multi-tenant managed hosting — where any zKPnote account unlocks a personal connector URL — is the roadmap item after this alpha.
Always use
www.zkpnote.comin the connector URL, not the barezkpnote.com. The apex domain redirects 307 towww, and most HTTP clients strip theAuthorizationheader across the redirect — your connector will fail withUnauthorized: missing bearer token.
How do I set up the MCP server?
Step 1: Build the server
git clone https://github.com/therealdealio/zkpnote.git
cd zkpnote/packages/mcp-server
npm install
npm run build
Step 2: Add to your Claude config
For Claude Desktop, edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"zkpnote": {
"command": "node",
"args": ["/full/path/to/zkpnote/packages/mcp-server/build/index.js"],
"env": {
"ZKPNOTE_SEED_PHRASE": "your twelve word seed phrase here",
"ZKPNOTE_API_URL": "https://www.zkpnote.com"
}
}
}
}
For Claude Code (CLI or VS Code), add the same config to ~/.claude/settings.json.
Step 3: Restart Claude and ask "List my notes" to verify the connection.
Note: The MCP server uses your seed phrase for encryption. If you created your vault with Phantom, you'll need to use a seed-phrase vault for MCP.
What tools does the MCP server provide?
Local stdio transport — 18 tools:
- Vault (8 tools) — save, batch save, read, update, delete, reorder, list notes and folders
- Proofs (4 tools) — verify content on-chain, search similar proved content, list proofs, recover lost notes
- Marketplace (4 tools) — browse listings, get details, cancel listings, view analytics
- Knowledge Graph (2 tools) — build a searchable index of all notes with summaries and relationships, query by keyword/project/tag
Remote HTTP transport — 15 tools: same set minus the three marketplace-detail tools (get_listing, cancel_listing, marketplace_analytics). These will be added to the remote endpoint in a follow-up release; for now use the stdio transport (Claude Desktop or Claude Code) if you need those.
Once connected, try asking Claude:
- "Save this research as a note called 'AI Safety Summary'"
- "List my notes" or "Read my note about Solana"
- "Build a knowledge graph of my notes"
- "Check if this text has been proved on-chain"
Is the MCP server safe?
Depends on which transport you're using.
Local stdio mode: The MCP server runs locally on your machine — your seed phrase never leaves your device. All encryption happens before data touches the network. The server communicates via stdio (not over a network port) and writes nothing to disk.
Remote HTTP mode: Your seed phrase lives in your Vercel deployment's environment variables instead of on your laptop — you're trusting your hosting provider with key material the same way any self-hosted app with a master secret does. A bearer token (ZKPNOTE_MCP_TOKEN) gates the endpoint, and all traffic is HTTPS. Treat the connector URL + token as a password; rotate if ever leaked.
Either way, any AI assistant connected through MCP has full vault access — only use it with trusted clients.
For full technical details, see the MCP Server Developer Docs.
What is zKPnote's current status?
zKPnote is currently in Alpha Testing on the Solana devnet. This means the app is fully functional but uses test SOL (not real money) for all blockchain operations. Mainnet launch is planned for a future release.
Editor & Productivity
How do I see all keyboard shortcuts?
Press ⌘/ anywhere in the app. The cheat sheet groups every shortcut by Navigation, Tabs, View, Editor, and Proofs & Sync.
How do I link between notes?
Type [[ in any note. As you type, an autocomplete dropdown shows matching titles. Press Enter or Tab to insert. In the rendered preview, hover any wikilink for a 280ms popover with the target's first 400 characters; click to jump.
Can I see what links to a note?
Yes. The Backlinks panel below the editor shows every note that references the current one (via [[wikilink]]), plus every outgoing link.
How do I undo a change from yesterday?
Click the clock icon in the editor toolbar. zKPnote auto-saves a revision every 10 seconds while you edit, keeping the last 50 per note. View any revision inline, restore with one click. History stays on your device — never synced.
How do I paste an image?
Press ⌘V in the editor with an image in your clipboard, or click the image button in the toolbar. zKPnote saves it as an encrypted attachment in your vault and inserts a short reference (zkp-attach:<id>) into the markdown — your note body stays clean instead of getting filled with a long base64 string.
Why does my note say zkp-attach: instead of showing the image?
That's the markdown reference to an encrypted image attachment in your vault. In the preview pane, zKPnote resolves it and shows the actual image. The short reference keeps your markdown readable.
Do tables survive switching between Markdown and Rich Text mode?
Yes. zKPnote preserves GFM pipe-table syntax round-trip. Edit in either mode and the formatting stays intact when you switch back.
What is Focus Mode?
Press ⌘. to collapse the sidebar, status bar, and tabs — just you and the editor. Press Esc or ⌘. again to restore. Use the Mode ▾ dropdown in the toolbar if you forget the shortcut.
How do I export multiple notes at once?
Click Select at the top of the sidebar. Check the notes you want (Cmd-click or Shift-click for ranges). The action bar lets you Export .md (downloads a zip of markdown files) or Delete in bulk.
Can I open multiple notes side by side?
Open several notes — each becomes a tab above the editor. Drag tabs to reorder. Middle-click or ⌘W closes. ⌘⇧T reopens the last closed tab. ⌘1…⌘9 jumps by index.
Can I use zKPnote on my phone?
Yes. zKPnote is a responsive web app that works in mobile browsers. The wallet bar and Send/Sell buttons hide automatically to keep the interface clean. Open the sidebar via the hamburger button.