Follow the Whales. Trade with Signal. Not noise.
Follow Solana wallets, review scored PumpSwap buys, and copy trades on Android. Try simulated paper trades or approve real purchases with SOL or USDC from your connected wallet.
Built with Expo, React Native, Bun, Hono, and PostgreSQL.
Android release: coming soon.
App versions live in apps/mobile/app.json:
expo.version: the version users see, currently1.0.0. Use1.0.1for a fix,1.1.0for a feature release, and2.0.0for a major release.expo.android.versionCode: the Android build number, currently1. Increase it for each new release (2,3, ...), including rebuilds published under the same visible version.
Local Gradle builds read both values from this file. Settings displays the bundled app version. Reuse the same release signing key for updates.
Build the release APK using your configured Android SDK and JDK 17:
cd apps/mobile/android
NODE_ENV=production ./gradlew :app:assembleRelease --no-daemon --max-workers=2 --no-parallelAfter testing the APK, copy apps/mobile/android/app/build/outputs/apk/release/app-release.apk to a versioned filename (for example, waffle-v1.0.0.apk). On GitHub, open Releases → Draft a new release, choose the matching tag (for example, v1.0.0) on the commit used for the build, attach the APK, and publish it as the latest release.
Keep website and README download links hidden until the service is ready.
Requires Bun 1.3.13, PostgreSQL, Android development tools, and an MWA-compatible Solana wallet. Wallet sign-in requires a native Android build.
bun install --frozen-lockfile
cp apps/api/.env.example apps/api/.env
cp apps/watcher/.env.example apps/watcher/.env
cp apps/mobile/.env.example apps/mobile/.env
cp packages/db/.env.example packages/db/.envFill in the database and provider settings described in each environment example. Use separate restricted API/watcher database logins; keep the migration-owner connection in packages/db/.env.
Set the mobile API URL and app identity URL. The API's AUTH_URI must match EXPO_PUBLIC_WAFFLE_APP_URI. For push notifications, configure Firebase and add apps/mobile/google-services.json.
bun run db:migrateRun each app in a separate terminal:
bun run dev:api
bun run dev:watcher
bun run --filter '@waffle/mobile' androidThe product website lives in apps/web. Run bun run dev:web for local development and bun run build:web to generate the static site in apps/web/dist.
bun run lint
bun run typecheck
bun run test