Obsidian
Privacy-preserving token launchpad on Solana with encrypted bidding and fair allocation.
Overview
The Problem
Token launches on public blockchains have a critical flaw: transparency enables manipulation. Front-running bots can see pending bids and outbid legitimate participants. Large players collude to extract value. The result is unfair distribution and eroded trust.
The Trust Model
Obsidian introduces a trustless blind auction protocol. Bids are encrypted client-side using x25519 ECDH + RescueCipher before leaving the browser. The encrypted ciphertext is stored on-chain as opaque data. Arcium's decentralized MPC cluster jointly decrypts and computes the auction result without any single node ever seeing a plaintext bid.
Architecture
┌─────────────────────────────────────────────────────────────────┐
│ FRONTEND │
│ Next.js → x25519 ECDH + RescueCipher.encrypt() │
└─────────────────────────────────────────────────────────────────┘
│ (Encrypted Bid + Nonce)
▼
┌─────────────────────────────────────────────────────────────────┐
│ SOLANA BLOCKCHAIN │
│ ┌─────────────────┐ ┌─────────────────┐ ┌──────────────┐ │
│ │ Anchor Program │ → │ queue_comp() │ → │ Arcium │ │
│ │ (Rust) │ │ (CPI) │ │ Mempool │ │
│ └─────────────────┘ └─────────────────┘ └──────────────┘ │
└──────────────────────────────▲──────────────────────────────────┘
│
(SignedOutputs) │ (Pickup Encrypted Computation)
│ │
┌──────────────────────────────┴──────────────────▼───────────────┐
│ ARCIUM MPC CLUSTER │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ Joint Decrypt │ → │ Arcis Circuit │ → Fair Allocation │
│ │ (Threshold) │ │ (verify_bid) │ │
│ └─────────────────┘ └─────────────────┘ │
└─────────────────────────────────────────────────────────────────┘Frontend Layer
Performs x25519 DH key exchange with the MXE returning a shared secret to encrypt bids using Rescue-Prime sponge cipher before submission.
Privacy Layer
Arcium MPC cluster requires threshold participation for joint decryption. Circuits defined in Arcis DSL process the bids blindly.
Settlement Layer
Solana smart contracts handle token distribution based on TEE-computed results.
Tech Stack
Every tool was chosen for a specific reason:
Rust + Anchor
Solana programs require Rust. Anchor provides type-safe macros and reduces boilerplate by 50%+. The strict type system catches bugs at compile time - critical for financial code.
Arcium MPC / Arcis
Hardware-independent Multi-Party Computation. Uses Enc<Mxe, T> data types where no single node sees plaintext. Ensures 128-bit security algebraically efficient in MPC.
Next.js + TypeScript
SSR for SEO, file-based routing for speed. TypeScript catches type errors during development - essential when handling wallet interactions and token amounts.
Solana
Sub-second finality and $0.001 transactions. For a launchpad handling many small bids, Ethereum gas costs would be prohibitive. Solana enables micro-participation.
How It Works
1. Dark Launchpad
Connect your wallet to the main interface. The "Dark Launchpad" emphasizes privacy-first design.

2. Confidential Bidding
Enter your bid in USDC. The amount is encrypted client-side before on-chain submission.

3. Claim Tokens
After auction completion, claim your allocation. Bid amounts remain encrypted even post-auction.

Challenges
Cross-Program Invocation Complexity
Problem: Coordinating between the main auction program, SPL token program, and TEE verification required careful account management.
Solution: Used Program Derived Addresses (PDAs) with deterministic seeds. Each state transition validates all required signers, preventing unauthorized mutations.
Client-Side Encryption
Problem: Encrypting bids in the browser while maintaining compatibility with TEE decryption.
Solution: Implemented hybrid encryption - RSA for key exchange, AES for bid payload. The TEE public key is fetched on page load and cached.
Hackathon Time Constraints
Problem: Building a full privacy system in 48 hours.
Solution: Focused on the core flow (bid → encrypt → allocate → claim). Deferred features like auction creation UI and multi-token support.
Results
What Works Today
- • Full encrypted bidding flow on Solana Devnet
- • Wallet connection (Phantom, Solflare)
- • Real-time auction state updates
- • Token claim functionality
- • Responsive UI across devices
Planned Next
- • Mainnet deployment with audited contracts
- • Auction creation dashboard for project teams
- • Multi-token and NFT launch support
- • On-chain governance for platform parameters
- • Mobile-optimized progressive web app