X-RAY
Two Identities. < One App >
January 2026
Two Identities. One App.
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
"Privacy Should Not Be A Feature Request"
X-RAY is a revolutionary dual-mode social platform built on the Solana blockchain that bridges public and private social interaction. It enables users to maintain both a public identity (with visible wallet information) and anonymous shadow identities within a single application.
Public Mode
Traditional transparent social feed with visible wallet identities
Shadow Mode
Anonymous posting powered by Privacy Cash for untraceable on-chain transactions
Key Technologies
Solana
Fast, low-cost transactions
Privacy Cash
ZK mixer for untraceable on-chain posts
Arcium
End-to-end encryption for DMs
Shadow Wallets
Unlimited anonymous identities
Zero-Knowledge Principle
There is no database linking identities. Shadow wallets are derived client-side, and the relationship exists only in the user's browser. This is true zero-knowledge architecture.
The Privacy Paradox
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
Full Transparency
Exposes users to harassment, doxxing, and retaliation
Full Anonymity
Enables abuse, spam, and Sybil attacks
Traditional platforms have chosen transparency, leaving users vulnerable:
- Self-censorship: Users filter opinions to protect careers and relationships
- Echo chambers: Fear of backlash concentrates discourse in "safe" communities
- Power asymmetry: Whistleblowers and activists face disproportionate risk
The Blockchain Paradox
Web3 promised decentralization but delivered:
Permanent Pseudonymity
Wallet addresses create traceable on-chain histories
Financial Surveillance
Every transaction is publicly visible forever
Identity Linkage
KYC requirements connect wallets to real identities
"Free speech without anonymity just means self-censor."
Dual-Mode Architecture
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
PUBLIC MODE
- • Wallet visible
- • Likes, comments
- • Followers/following
- • Traditional UX
- • Profile customization
SHADOW MODE
- • Identity anonymous
- • Boost-based ranking
- • Untraceable via Privacy Cash
- • Anonymous on-chain posting
- • Premium shadow names (.anon)
Core Innovation: Shadow Wallets
Every user can generate unlimited shadow wallets using deterministic derivation:
seed = SHA256(signature + hashedUserId + walletIndex)
shadowKeypair = Keypair.fromSeed(seed)One-way derivation
Impossible to trace shadow wallet → public wallet
Client-side generation
No backend required
Infinite wallets
Generate as many identities as needed
Two Privacy Technologies
Privacy Cash
ZK mixer for anonymous on-chain posting
Use case: Shadow feed posts, boost payments, public anonymous activity.
Zero-Knowledge Architecture
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
Traditional Approach
Database: wallet_links
X-RAY Approach
Database: EMPTY
Shadow wallets derived CLIENT-SIDE:
seed = SHA256(signature + hash(userId) + index)No server stores the relationship.
What We Store vs What We Don't
| Data | Stored? | Where |
|---|---|---|
| Shadow wallet ↔ Public wallet link | NO | Nowhere |
| User private keys | NO | Client browser only |
| Shadow posts | YES | Solana blockchain |
| Private messages | YES | Solana (encrypted via Arcium) |
| Boost amounts | YES | Solana blockchain |
| Shadow wallet names | YES | Minimal backend (name registry only) |
On-Chain (Solana)
- • All posts (public and shadow)
- • All private messages (encrypted)
- • Boost amounts and rankings
- • Account PDAs
Client-Side Only
- • Shadow wallet derivation
- • Wallet-to-identity mapping
- • Private keys
- • Encryption keys
Minimal Backend
- • Shadow name registry only
- • No identity links
- • No message content
- • No transaction history
Core Features
••••••••••••••••••••••••••••••••••
Public Mode
Traditional Twitter-like experience with blockchain verification.
Wallet-verified profiles
Likes & comments
Shares & reposts
Following system
Trending topics
Shadow Mode
Anonymous communication layer with economic incentives.
Anonymous identities
Boost system
Premium .anon names
Target posting
Leaderboard
The Boost System
Posts are ranked competitively by SOL amount. The more you boost, the higher you rank.
How it works:
Competitive ranking: Your position depends on how much others have boosted on the same target. Higher boost = higher visibility on the target's profile.
Private Messages (Arcium)
End-to-end encrypted direct messages stored on-chain.
On-chain storage
Censorship-resistant, immutable
True E2E encryption
Only recipient can read
Shadow Names System
Every shadow wallet comes with an identity. Choose between free auto-generated names or premium collectible domains.
Default: Auto-generated Name
When you create a shadow wallet, you automatically get a unique random name. No action required.
- • Free and instant
- • Unique per shadow wallet
- • Anonymous by default
Optional: Premium .anon Domain
Want a memorable identity? Purchase a premium .anon domain to stand out in the shadow feed.
- • Build reputation anonymously
Available premium domains:
Technical Implementation
••••••••••••••••••••••••••••••••••••••
Technology Stack
Frontend
| Next.js | 16.1.1 |
| React | 19.2.3 |
| TypeScript | 5.x |
| Tailwind CSS | 4.x |
Blockchain
| Solana | Devnet (during development) |
| Anchor | 0.32.1 |
| 1.1.10 | |
| E2E encryption |
Smart Contract (Anchor/Rust)
Program ID: 6Suaf5mvzmogRtVXdckv7Ace8615Fnbu4rNBcnXprAj5
#[account]
pub struct Post {
pub author: Pubkey, // Shadow wallet (untraceable)
pub target: String, // Target profile URL
pub content: String, // Post content
pub bid: u64, // Boost amount in lamports
pub timestamp: i64, // Unix timestamp
pub bump: u8, // PDA bump
}PDA Derivation
seeds = [b"post", author.key(), target.as_bytes()]Shadow Wallet Derivation
import { Keypair } from "@solana/web3.js";
import { createHash } from "crypto";
function sha256(data: string): Buffer {
return createHash("sha256").update(data).digest();
}
function deriveSeed(signature: string, hashedUserId: string, walletIndex: number): Uint8Array {
const derived = sha256(signature + ":" + hashedUserId + ":" + walletIndex);
return new Uint8Array(derived);
}
function generateShadowWallet(signature: string, hashedUserId: string, walletIndex: number): Keypair {
const derivedSeed = deriveSeed(signature, hashedUserId, walletIndex);
return Keypair.fromSeed(derivedSeed);
}Deterministic: Same inputs → same wallet
One-way: Cannot reverse to find signature
Unique: Each index produces different wallet
Privacy Cash Integration
// 1. Fund shadow wallet anonymously via ZK mixer
await privacyCash.deposit(amount, publicWallet);
await privacyCash.withdraw(shadowWallet.publicKey);
// 2. Create anonymous post on-chain
await program.methods
.createPost(target, content, boostAmount)
.accounts({
author: shadowWallet.publicKey, // Untraceable
post: postPDA,
systemProgram: SystemProgram.programId,
})
.signers([shadowWallet])
.rpc();Fee Structure
| Deposit Fee | 0% |
| Withdraw Fee Rate | 0.35% |
| Withdraw Rent Fee | 0.006 SOL |
| Minimum Withdraw | 0.01 SOL |
Token Economics
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
Revenue Streams
Boost Fees
Portion of boost amounts goes to treasury
Premium Names
.anon domain sales
Marketplace Fees
Secondary sales commission
Anti-Spam Design
The boost system naturally prevents spam:
Cost Barrier
Every post requires SOL
Market Pricing
Popular targets cost more
Position Decay
High positions require ongoing investment
Quality Signal
Boost amount indicates commitment
Privacy & Security
•••••••••••••••••••••••••••••••••••
Layer 1: Zero-Knowledge Database
- • No wallet links stored in any database
- • Shadow wallets derived entirely client-side
- • Even if servers are compromised, no identity data exists
Layer 2: Privacy Cash
- • ZK mixer breaks on-chain funding trail
- • No connection between public and shadow wallet
- • Posts are truly anonymous
Layer 3: Arcium
- • End-to-end encryption for private DMs
- • Messages stored on-chain but unreadable
- • Only recipient can decrypt
Threat Model
| Threat | Mitigation |
|---|---|
| Database breach | Nothing to breach (zero-knowledge) |
| Wallet tracing | Privacy Cash ZK mixer |
| Message interception | Arcium encryption |
| Server compromise | Client-side key derivation |
What X-RAY Cannot Do
Roadmap
•••••••••••••••••••••••••••••••••••
Phase 1: Core
Completed- Shadow wallet generation
- Anchor program deployment
- Dual-mode UI (public + shadow)
- Post creation and feed display
- Boost system with position preview
Phase 2: Anonymous Posting
In Progress- Privacy Cash integration
- Transfer bid to treasury
- Fee payer relayer
Phase 3: Premium Features
In Progress- Premium .anon domain marketplace
- Profile pages per target
- Reputation system
- Mainnet deployment
Phase 4: Private Messages
Planned- Arcium integration
- On-chain encrypted DMs
- Auto-destruct messages
- Group encrypted chats
Phase 5: Production
Planned- Mobile app (iOS/Android)
- Browser extension
Summary
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
X-RAY is built on three fundamental principles:
1. Zero-Knowledge Architecture
We never store which shadow wallet belongs to which public wallet. The link exists only in the user's browser.
2. Privacy Cash for Anonymous Posting
Users fund shadow wallets through a ZK mixer, enabling truly untraceable on-chain posts.
3. Arcium for Encrypted Messages
Private DMs are stored on-chain but encrypted end-to-end. Only the recipient can read them.
Unique Value Proposition
| Feature | Traditional | X-RAY |
|---|---|---|
| Identity Database | Stores all links | Zero-knowledge |
| Anonymous Posts | Server-side pseudonyms | On-chain via Privacy Cash |
| Private Messages | Stored in database | On-chain + Arcium encrypted |
| Data Ownership | Platform owns | User owns |
| Censorship | Platform can censor | Impossible (on-chain) |
© 2026 X-RAY. All rights reserved.
White Paper v1.0 - January 2026