Pre-Launch Checklist¶
Everything that must happen before research-relay.com can accept its first order, organized by dependency and phase.
Current Status
LLC is approved, EIN received (41-4676725), and Mercury bank account approved 3/10/2026. E-commerce platform is running in production.
- Phase 2: Banking -- Mercury approved ✓. Fund account + set up Zoho Books and Koinly remaining.
- Phase 3: Communications -- Zoho Workplace and email done. 1Password, OpenPhone, DNS cleanup remaining.
- Phase 4: Legal & Compliance -- attorney review can begin
- Phase 5: BTC Payments -- unblocked (Mercury is open)
- Phase 6: E-Commerce Platform -- MedusaJS + Next.js storefront deployed. 4 custom modules, 6 email templates. Payments and shipping/tax remaining.
After 3 months banking (June 2026): Phase 7 (ACH) is unblocked.
Phase 1: Entity Formation (Nearly Complete)¶
LLC was filed via Northwest Registered Agent and approved by CA SOS on February 27, 2026. Entity No. B20260101990. Statement of Information filed March 4, 2026 (File No. BA20260509109). EIN 41-4676725 received March 5, 2026. Formation documents and CP 575 stored in Zoho Workplace team drive.
- Receive entity number from CA SOS — B20260101990, approved 2/27/2026
- File Statement of Information (Form LLC-12, $20) at bizfileonline.sos.ca.gov — Filed 3/4/2026, File No. BA20260509109
- Apply for EIN online — 41-4676725, received 3/5/2026
- Save EIN confirmation letter (CP 575) — stored in Zoho Workplace
- Sign Operating Agreement — Certification of Member (p.5), date and sign. Use address: 1009 Martina Ct, San Marcos, CA 92078 (cross out pre-filled Northwest address). (Physical task — needs wet signature.)
- Fill in Exhibit 1: Capital Contributions (p.6) — $0 initial contribution, settle later once Mercury is open. Sign and date.
- FinCEN BOI report — Not required. US-created entities exempted as of 3/26/2025.
Phase 2: Banking & Accounts (In Progress)¶
- Fill in and sign Bank Account Resolution (Operating Agreement pp.7-8) — completed for Mercury application
- Open Mercury bank account at mercury.com — Approved 3/10/2026
- Applied with: Articles of Organization, EIN letter, photo ID
- Used home address as business address (not Northwest address)
- Described business as: "E-commerce retail -- laboratory research supplies and reagents"
- Used personal carrier phone for 2FA (not VoIP)
- Fund initial operating account
- Set up Zoho Books Free at zoho.com/books
- Configure chart of accounts per
docs/accounting/accounting-stack.md - Upgrade to Standard ($15/mo) when bank feeds are needed
- Configure chart of accounts per
- Set up Koinly ($49/yr) at koinly.io for crypto accounting
Phase 3: Communications (In Progress)¶
- Set up 1Password Research Relay vault for all business credentials
- Sign up for Zoho Workplace Standard ($3/mo) at zoho.com/workplace
- Configure DNS records in Cloudflare: MX, SPF, DKIM, DMARC — verified 3/8/2026. Cleanup needed: remove stale ProtonMail SPF include and verification TXT record.
- Create email aliases:
-
hello@research-relay.com -
admin@research-relay.com -
orders@research-relay.com -
support@research-relay.com(Decision D21) -
compliance@research-relay.com(Decision D22) -
legal@research-relay.com(Decision D23) -
privacy@research-relay.com(Decision D24)
-
- Set up OpenPhone ($15/mo) -- dedicated business phone number
- Clean up DNS: remove ProtonMail SPF include and verification TXT record, tighten DMARC to
p=reject
See: docs/ops/comms-setup-runbook.md, docs/privacy/comms-stack.md
Phase 4: Legal & Compliance (Needs entity, can prep now)¶
All 27 business decisions are made (26 defaults accepted, 1 deviation: D25). Five compliance documents are drafted with 18 attorney review flags. Attorney review package is ready.
- Engage attorney for compliance review (budget: $500-1,500)
- Hand off to attorney:
- Business decisions doc (
compliance/business-decisions.md) -- all 27 decisions - Five compliance documents (RUO Disclosure, Terms of Service, Privacy Policy, Refund Policy, Shipping Policy)
- Attorney review package (
compliance/attorney-review-package.md) -- 18 flagged items
- Business decisions doc (
- Attorney reviews all 18 flagged items (enforceability, CCPA, arbitration, liability caps, etc.)
- Finalize and publish on website:
- RUO Disclosure
- Terms of Service
- Privacy Policy
- Refund Policy
- Shipping Policy
- Build CCPA privacy request web form (Decision D25: email + web form at launch)
Phase 5: Payment Infrastructure -- Bitcoin (Needs bank account)¶
Can proceed in parallel with other phases after Mercury account is open.
- Purchase hardware wallet (Coldcard or Trezor)
- Generate seed phrase, stamp on metal plate backup
- Configure BTCPay Server on nix-bitcoin (shops-btc-01 server)
- Create DNS A record in Cloudflare:
btcpay.research-relay.com - Fund Lightning node (~2M sats)
- Open 3 initial Lightning channels
- Test BTC checkout flow end-to-end
See: docs/payments/btcpay-architecture.md, docs/payments/lightning-setup.md, docs/payments/btcpay-runbook.md
Phase 6: E-Commerce Platform (In Progress)¶
MedusaJS v2 platform is running in production on Hetzner NixOS server with CI/CD via GitHub Actions. Four custom modules are built and deployed (product-compliance, compliance-checkout, procurement, resend). Next.js storefront deployed with 8 pages, product filtering, checkout flow, and compliance components.
Core Platform¶
- Initialize MedusaJS v2 project — MedusaJS v2.13.1, fully initialized and running
- Set up development environment — PostgreSQL 16, Redis 7, Node.js 22 via devenv
- Configure PostgreSQL database
- CI/CD with GitHub Actions — build, test, deploy pipeline
- Production deployment on Hetzner NixOS server — server/worker split, Caddy reverse proxy
- E2E browser testing framework
Custom Modules¶
- Build
productComplianceModule— Lot, COA, PurityRecord, RuoDisclaimer models - Build
complianceCheckoutModule— CheckoutAttestation model (clickwrap RUO disclosure) - Build
procurementModule— Suppliers, POs, Shipments, QC Inspections - Admin UI pages for compliance and procurement
- Store APIs for COA lookup and lot lookup
- Seed scripts —
seed-compliance.ts,seed-full.ts - COA file upload pipeline (R2 storage) — implemented with admin UI
- Implement BTC payment provider (BTCPay Server integration)
- Build ACH payment provider stub (for Paycron integration)
Storefront¶
- Build Next.js storefront — 8 pages, checkout flow, product filtering, compliance components
- Connect storefront to Medusa APIs — products, cart, checkout, COAs, attestation all connected
- Build CCPA privacy request web form (Decision D25)
Shipping & Tax¶
- Configure Avalara or TaxJar for automated sales tax (Decision D4)
- Set up shipping calculator -- USPS Priority + UPS/FedEx, real-time rates (Decision D10)
- Implement $200+ free standard shipping threshold (Decision D11)
- Configure signature requirement for $150+ orders (Decision D8)
- Add cold-chain shipping flag + $15 surcharge logic (Decision D12)
- Implement P.O. Box delivery support for USPS shipments (Decision D9)
- Enforce US-only shipping -- 50 states + DC (Decisions D6, D7)
Notifications¶
- Configure
resendnotification provider — 6 email templates implemented - Transactional email templates:
- Order confirmation
- Shipping notification
- Refund notification
- Order cancellation
- Customer welcome
- Password reset
See: docs/dev/medusa-project-plan.md, docs/dev/medusa-dev-setup.md
Phase 7: ACH Processing (Needs 3 months bank history)¶
Mercury account must be open for at least 3 months before applying.
- Contact Paycron for quote and onboarding
- Ask about:
- API documentation availability
- Webhook support
- LegitScript requirement
- Onboarding timeline
- Build MedusaJS payment provider for Paycron API
- Test ACH checkout flow end-to-end
See: docs/payments/ach-provider-options.md, docs/payments/ach-risk-matrix.md
Phase 8: Product Catalog (Needs compliance review done)¶
Must be completed before the site goes live. Depends on attorney review (Phase 4) for final compliance language.
- Complete product-by-product regulatory review (state-level restrictions per Decision D8)
- Complete hazmat classification per DOT 49 CFR for each product (Decision D13)
- Identify all cold-chain products (Decision D12)
- Source Safety Data Sheets (SDS) for each product
- Set up product pages with all required fields (CAS #, purity, SDS link, storage class)
- Configure state-level shipping restrictions per product
- Verify each product is not on any state scheduling lists
Phase 9: Pre-Launch Testing¶
- End-to-end order flow -- BTC payment
- End-to-end order flow -- ACH payment (when available)
- Refund flow testing (BTC orders refunded in USD via ACH per Decision D5)
- Age verification testing (18+ gate)
- RUO acknowledgment testing (clickwrap checkbox)
- Email notification testing (order confirmation, shipping, refund)
- Mobile responsiveness testing
- CCPA privacy request web form testing
- Tax calculation verification (multi-state via Avalara/TaxJar)
- Shipping rate verification (real-time calculated rates)
- Signature requirement verification ($150+ orders)
- Cold-chain surcharge verification ($15 per order)
- Free shipping threshold verification ($200+)
- State-level shipping restriction enforcement
- P.O. Box delivery logic (USPS only)
Phase 10: Card Processing (After 3+ months ACH history)¶
This is a post-launch phase. The site can accept orders with BTC + ACH before card processing is available.
- Apply to Easy Pay Direct and Durango simultaneously
- Request Authorize.net as gateway
- Consider LegitScript certification ($950 + per-transaction fees)
- Budget $12,000 for rolling reserve lockup
- Build MedusaJS payment provider for Authorize.net
- Test card checkout flow end-to-end
See: docs/payments/iso-options.md, docs/payments/underwriting-packet.md, docs/payments/reserve-negotiation.md
Launch¶
- DNS cutover:
research-relay.compointed to production - SSL certificate verification
- Final compliance review -- all 5 legal documents published on site
- All SOPs reviewed and finalized:
- Fulfillment SOP
- Refund SOP
- Customer Support SOP
- Processor Response SOP (fill in attorney contact)
- Confirm US-only shipping enforcement
- Monitoring and alerting configured
- Backup procedures verified
- Go live
Phase Dependencies¶
Phase 1: Entity ──────────┐
▼
Phase 2: Banking ────────┐│
▼▼
Phase 3: Comms ◄── Can start now
│
Phase 4: Legal ◄── Can prep now, needs entity for final sign-off
│
Phase 5: BTC ◄────────── Needs bank account
│
Phase 6: E-Commerce ◄── Can start now
│
Phase 7: ACH ◄────────── Needs 3 months bank history
│
Phase 8: Catalog ◄────── Needs compliance review done
│
Phase 9: Testing ◄────── Needs platform + catalog + payments
│
Launch ◄───────────────── All above complete
│
Phase 10: Cards ◄──────── Post-launch, needs 3+ months ACH history