Monorepo containing the 1Sat ecosystem mobile app and landing page.
Capacitor-based native wrapper for iOS and Android that loads the 1Sat Ordinals Marketplace.
- Current target:
https://alpha.1sat.market - Production target:
https://1sat.market - Tech: Capacitor 7, TypeScript, Native iOS/Android
- Approach: Thin native wrapper with minimal code
Next.js 16 landing page for the 1sat.app domain.
- URL:
https://1sat.app - Tech: Next.js 16, React 19, TailwindCSS v4, TypeScript
- Purpose: Marketing site with app store download links
┌─────────────────────────────────────┐
│ 1Sat Marketplace (hosted) │
│ https://alpha.1sat.market │
│ - Full marketplace functionality │
│ - Bitcoin wallet features │
│ - NFT browsing & trading │
└────────────┬────────────────────────┘
│
│ Loaded in WebView
│
┌────────────▼────────────────────────┐
│ Mobile App (/mobile) │
│ - iOS (WKWebView) │
│ - Android (Chromium WebView) │
│ - Native features layer │
│ - App Store distribution │
└──────────────────────────────────────┘
┌──────────────────────────────────────┐
│ Landing Page (/frontend) │
│ https://1sat.app │
│ - Marketing content │
│ - App store download links │
│ - Feature showcase │
└──────────────────────────────────────┘
- Bun (package manager)
- Node.js 18+ (for Next.js)
- Xcode (for iOS development, macOS only)
- Android Studio (for Android development)
- CocoaPods (for iOS dependencies):
sudo gem install cocoapods
From the monorepo root:
cd ~/code/1sat.app
bun installThis will install dependencies for both frontend and mobile workspaces.
# Frontend development server
bun dev
# or
cd frontend && bun dev
# Mobile - open in native IDEs
cd mobile && bun run open:ios # Xcode
cd mobile && bun run open:android # Android Studio
# Mobile - run with live reload
cd mobile && bun run run:ios
cd mobile && bun run run:android# Run commands from workspace root
bun dev # Frontend dev server
bun build:frontend # Build frontend
bun mobile:open:ios # Open iOS in Xcode
bun mobile:open:android # Open Android in Android Studio
bun mobile:sync # Sync Capacitor
# Or use workspace filters
bun --filter frontend dev # Frontend dev
bun --filter frontend build # Frontend build1sat.app/
├── package.json # Workspace root
├── frontend/ # Next.js 16 landing page
│ ├── app/ # Next.js app router
│ ├── components/ # React components
│ ├── package.json
│ └── README.md
├── mobile/ # Capacitor mobile app
│ ├── ios/ # Xcode project
│ ├── android/ # Android Studio project
│ ├── www/ # Fallback web assets
│ ├── capacitor.config.ts # Config (points to alpha.1sat.market)
│ ├── package.json
│ └── README.md
└── README.md # This file
Deploy to Vercel:
cd frontend
vercelOr configure in Vercel dashboard to deploy from the /frontend directory.
-
Update target URL in
mobile/capacitor.config.tsto production:server: { url: 'https://1sat.market' }
-
Open in Xcode:
cd mobile && bun run open:ios
-
Configure signing & provisioning profiles
-
Archive and upload to App Store Connect
-
Submit for review
See detailed iOS instructions →
-
Update target URL in
mobile/capacitor.config.tsto production -
Open in Android Studio:
cd mobile && bun run open:android
-
Configure signing keys
-
Build signed bundle (AAB)
-
Upload to Google Play Console
-
Submit for review
See detailed Android instructions →
The mobile app loads the live marketplace from alpha.1sat.market. Changes to the marketplace website are immediately reflected in the mobile app (no rebuild needed).
-
Install Capacitor plugin:
cd mobile bun add @capacitor/plugin-name -
Update
capacitor.config.tsif needed -
Sync to native projects:
bun run sync
-
Rebuild in Xcode/Android Studio
Update mobile/capacitor.config.ts:
server: {
url: 'https://1sat.market' // Change from alpha.1sat.market
}Then sync:
cd mobile && bun run sync- @capacitor/app - App lifecycle, deep linking
- @capacitor/haptics - Tactile feedback
- @capacitor/share - Native share sheet
- @capacitor/splash-screen - Launch screen
- @capacitor/status-bar - Status bar styling
- Next.js 16 (App Router)
- React 19
- TypeScript 5.9
- TailwindCSS v4
- Biome (linting/formatting)
- Capacitor 7
- TypeScript 5.9
- Native iOS (Swift/Objective-C)
- Native Android (Kotlin/Java)
- Bun workspaces
This is a private project. For access, contact the team.
Private - All Rights Reserved