Technology
We openly share the complete technical architecture of EternalTrace, because trust should be built on verifiable facts.
System Overview
EternalTrace is a full-stack web application whose core function is writing user-submitted content to the Bitcoin blockchain. The system is structured in three layers — frontend, backend, and blockchain — connected via a standardized REST API.
- ·SSR/SSG rendering with App Router
- ·Privy SDK for email, Google login, and embedded wallets
- ·Bilingual i18n (Chinese/English) with Cookie persistence
- ·Stripe.js secure integration — no card data stored locally
- ·Real-time miner fee display from mempool.space API
- ·Drag-and-drop image upload with client-side size estimation
- ·RESTful API design with Swagger documentation
- ·PostgreSQL as the primary database; Redis for caching
- ·Privy JWKS public-key JWT validation
- ·Sharp image processing: compression to < 50KB, WebP output
- ·Puppeteer + QRCode for A4 digital certificate PDF generation
- ·Feishu Webhook for system error alerting
- ·Ordinals protocol to inscribe content into a Bitcoin Satoshi
- ·OrdinalsBot API broadcasts transactions to global nodes
- ·Custom receive address support (bc1p/bc1q/1/3)
- ·Three fee tiers: Economy / Standard / Express
- ·Inscription ID & Sat Number permanently verifiable on-chain
- ·Real-time status tracking with Webhook callbacks
- ·Privy manages user identity (email, Google OAuth)
- ·Auto-generated embedded Ethereum wallet (EIP-4361)
- ·NestJS guard validates every request via Privy JWKS
- ·Public endpoints (@Public) require no token
- ·Sensitive operations require an authenticated session
- ·Stripe Checkout Session handles all payments
- ·Supports credit cards, Apple Pay, and Google Pay
- ·USD billing with CNY reference price displayed in the UI
- ·Stripe Webhook signature verification (rawBody mode)
- ·Payment confirmation triggers the inscription pipeline
- ·No payment card data is stored by this platform
- ·Server-side A4 HTML template rendered in Node.js
- ·Puppeteer renders and exports a PDF binary stream
- ·QRCode links to the Ordinals.com verification page
- ·Certificate includes: name, dates, Inscription ID, Sat Number
- ·Downloaded directly in the browser — no server storage required
Data Flow
User uploads photo + life story; client-side compression to < 50KB
Fetch real-time miner fees from mempool.space; calculate quote (including 25% platform fee)
User selects speed; order created in NestJS; redirect to Stripe Checkout
Stripe Webhook confirms payment; inscription task triggered
OrdinalsBot broadcasts transaction; Bitcoin miners confirm into a block
Inscription complete; Webhook updates database; memorial page goes live
User downloads PDF digital certificate as permanent proof of inscription
Openness and Transparency
Blockchain is fundamentally trustless. All inscription data written to the Bitcoin blockchain can be independently verified via Ordinals.com, mempool.space, and other open tools — no trust in this platform required. Even if EternalTrace ceases operation, all inscribed memorial content will remain permanently accessible across all global Bitcoin nodes. This is our most fundamental commitment to our users.