Privacy when it matters. Challengeable security when it counts.
Shield. Commit. Challenge if needed. Finalize.
Dark Null Protocol is Parad0x Labs' privacy-focused settlement and transfer protocol for Solana. It uses a lazy-verification model: the normal path posts a compact on-chain claim, while full proof verification remains permissionless through a challenge path.
This repository is a public interface and documentation shell. Circuits, proving keys, relayer internals, and proprietary optimization details are intentionally not published here.
product: dark-null-protocol
category: privacy-focused settlement protocol
best_for:
- private settlement flows
- optimistic-ZK challengeable verification
- compact on-chain claim commits
entrypoints:
protocol_spec: ./docs/PROTOCOL_SPEC_PUBLIC.md
integration_guide: ./docs/integration-guide.md
public_idl: ./idl/dark_null_v1.json
not_for:
- low-latency per-request x402 hot path
- fast API monetization loops
related_repo:
payment_rail: https://github.com/Parad0x-Labs/dna-x402| If you need... | Use Dark Null for... |
|---|---|
| privacy-preserving settlement | shield / commit / finalize flows |
| challengeable verification | optimistic-ZK with a public challenge window |
| compact happy-path claims | 32-byte on-chain claim model |
| machine-speed per-request x402 payments | not this repo - use dna-x402 |
| low-latency agent hot path | not this repo - Dark Null has a different latency profile |
- Private settlement without pretending the whole transaction is tiny
- Compact happy path with a 32-byte claim anchor instead of full proof bytes by default
- Permissionless security because anyone can challenge
- Clear protocol stages instead of vague privacy marketing
- Separated from DNA x402 so privacy and high-speed commerce do not get conflated
| Question | Answer |
|---|---|
| What is it? | privacy settlement and transfer protocol for Solana |
| What is the core model? | optimistic-ZK with challenge window and bond economics |
| What is small on-chain? | the happy-path claim, not the entire transaction |
| What is public here? | interfaces, docs, threat model, devnet verification links |
| What is not public here? | circuits, prover pipeline, relayer internals |
| What should use the separate repo? | fast x402 API and agent payment flows |
- Smaller happy-path payloads - compact claim-oriented commit flow instead of posting full proof bytes by default
- Permissionless security - anyone can challenge during the window
- Accountable settlement - nullifier consumption, bond economics, and challenge resolution rules
- Privacy without mixer framing - transfer privacy model with explicit protocol stages and verifiable public interfaces
| Area | Status | Notes |
|---|---|---|
| Protocol version | v1.23 |
Current documented version |
| Network status | Devnet verified | See tx/devnet_links.md |
| Verification model | Optimistic-ZK | Challenge window + bonds |
| Public repo scope | Docs + interfaces | No public prover pipeline |
| Fast x402 hot path | Separate repo | See dna-x402 |
Dark Null Protocol and DNA x402 are separate products.
- privacy-focused settlement and transfer protocol
- optimistic-ZK model with challenge windows
- different latency profile from machine-speed API payments
- fast HTTP 402 payment rail for agent and API commerce
- optimized for the live request path
- separate repository:
Parad0x-Labs/dna-x402
Dark Null can integrate with x402-style payment flows, but it is not the default low-latency payment hot path used by DNA.
| Phase | What happens |
|---|---|
| Shield | funds enter the privacy set |
| Commit | user posts a compact claim hash plus metadata and bond |
| Challenge Window | anyone can challenge during the window |
| Challenge | challenger provides proof and bond |
| Finalize | funds release after the window or after confirmed challenge resolution |
- the happy-path commit publishes a 32-byte claim hash
- the claim is the compact anchor for the withdrawal path
- full proof bytes are only needed when challenged
- the entire Solana transaction is 32 bytes
- proof verification disappears
- the protocol depends on hidden trust assumptions for security
- user commits a 32-byte claim plus bond
- a challenge window opens
- any challenger can submit proof and challenger bond
- invalid claims are rejected and challenged
- valid claims finalize after the appropriate path completes
- security does not depend on proprietary infrastructure
- anyone can challenge
- bonds are used to discourage griefing and invalid claims
| Instruction | TX Signature | Explorer |
|---|---|---|
CommitUnshieldV20 |
5c4K... |
View on Solscan |
FinalizeUnshieldV20 |
2t6R... |
View on Solscan |
- protocol overview and threat model
- instruction interfaces and public IDL
- fee model and security checklist
- devnet E2E links and verification notes
- public integration and architecture docs
| Category | Private by design |
|---|---|
| ZK circuits and proving artifacts | .circom, .wasm, .zkey, .ptau, verifying-key internals |
| prover pipeline | witness generation, proof serialization, key generation |
| relayer internals | queueing, anti-grief internals, operational controls |
| key material | deployer wallets, trusted setup artifacts |
docs/V1_22_LAB_REPORT.mddocs/PROTOCOL_SPEC_PUBLIC.mddocs/THREAT_MODEL.mddocs/FEE_MODEL.mddocs/INSTRUCTIONS.mddocs/SECURITY_CHECKLIST.mddocs/FAQ.mddocs/integration-guide.mddocs/PARADOX_STACK.md
- Public IDL:
idl/dark_null_v1.json - Accounts:
interfaces/accounts.md - TypeScript types:
interfaces/types.ts
This repository does not ship a public production prover. It exists to document the protocol surface, expose public interfaces, and provide integration material for review.
Dark Null Protocol is proprietary software. Copyright 2026 Parad0x Labs. All rights reserved.
SDK and integration packages may use separate licenses where explicitly stated.