Welcome back

Opening shared build

Preparing your Mach workspace…

Preparing your secure download…

Documentation
Blog
Open dashboard
Mach Docs

Expo to Mach Transition

Moving from EAS to the Mach DevOps Engine.
Mach is designed to be a drop-in replacement for Expo EAS Build & Submit. It preserves the "Expo way" while giving you more control, faster builds, and a custom security layer.
New to Mach? Follow the [User Guide] to run `mach login` and `mach link` to generate your initial config.
What Stays the Same?
Config Plugins
Mach runs 'npx expo prebuild' in the cloud. All your custom plugins for native code generation will work exactly as they do in EAS.
app.json / app.config.ts
Your existing Expo config remains the source of truth for your app's identity, versioning, and capabilities.
Key Transitions
Credentials
Instead of 'eas credentials', use 'mach credentials'. Mach stores your Keystores and Certificates in its own encrypted vault.
Secrets
Instead of 'eas secret', use 'mach env set'. Secrets are injected directly into the native shell environment during build.
CLI Flags
Switch from 'eas build' to 'mach build'. All common EAS flags (profile, platform, local) are mirrored in Mach.
Precautions & Best Practices
EAS Project ID: Keep extra.eas.projectId in your app config when your Expo project already depends on Expo services. Mach builds do not require Expo push tokens.
**Managed Secrets**: In Mach, secrets are injected into the shell, not written to `.env` files. Ensure your app uses `process.env` correctly in your config or source code.
Prebuild Compatibility: Mach uses the local version of Expo CLI in your project to run prebuild. This ensures that the generated native code always matches your project's sdkVersion.
Previous
Quick start
Next
Flutter projects