Installation

Requirements and steps to get the native app running locally.

Created: 1/17/2026

Prerequisites

Before starting, ensure you have the following installed:

  • Node.js: v20+ (LTS version)
  • Package Manager: pnpm (v10.4.1+)
  • Expo CLI: npm install -g expo-cli
  • EAS CLI: npm install -g eas-cli (for linking and building)
  • Mobile Development Environment: Xcode (for iOS) and Android Studio (for Android) if you plan to run on simulators/emulators

Configuration Steps

1. Privy Setup

To enable authentication and wallet features, you need to set up a Privy app.

  1. Log in to the Privy Console.
  2. Create a new App.
  3. Navigate to the Settings or App Settings page.
  4. Copy your App ID and Client ID.

Important for Expo Go: If you intend to test using the Expo Go app during development, you must add host.exp.Exponent to your list of Allowed Bundle IDs in the Privy Console settings. This allows the Privy SDK to function within the Expo Go client.

2. Configure Environment

Open apps/native/app.json (or your environment configuration file) and update the extra section with your Privy credentials.

{
  "expo": {
    "extra": {
      "privyAppId": "your-app-id-here",
      "privyClientId": "your-client-id-here"
    }
  }
}

3. Link to EAS

We use EAS (Expo Application Services) for building and updating the app. Link your local project to your Expo project:

cd apps/native
eas init

If you already have a project ID, you can configure it, or eas init will guide you through creating one. This ensures that features like updates and cloud builds work correctly.

Installing Dependencies

Install dependencies from the root directory:

# From project root
pnpm install

Running the App

Start the development server from the root directory:

pnpm start:app
  • Press i to open in iOS Simulator.
  • Press a to open in Android Emulator.
  • Scan the QR code with your phone (using Expo Go or Camera app).