How Phantom ships a secure, high-performance crypto wallet with Expo
Users•React Native••7 minutes read
Dan Kelly
Marketing
Phantom builds one of the world’s top crypto wallets with Expo, shipping weekly, staying secure, and empowering every engineer to contribute to mobile.

Phantom is one of the most popular crypto wallets in the world. You might expect that Phantom needs a large team of mobile engineers behind its beautifully designed, high-performance app. However, Phantom takes a different approach. Instead of relying on a big dedicated mobile team, Phantom has a platform team that maintains the foundations and many product teams that contribute directly to the mobile experience. Expo helps make this model possible. Its architecture and ecosystem allow Phantom to keep the app fast, secure, and consistent while empowering product engineers across the company to build confidently for both iOS and Android.
This case study explores how Phantom structures their engineering team, how they use EAS to power CI/CD, how they empower other teams to build the future of crypto, and why Expo has become the default stack for nearly every major crypto wallet.
A mobile app built by full-stack product engineers
Phantom is built with React Native and Expo in a monorepo. The mobile app lives alongside other products like the browser extension and shares a major chunk of its business logic and UI with other platforms. Phantom has no dedicated mobile team, instead, the mobile app foundations are maintained by a handful of experienced React Native engineers on Phantom’s platform team. Mobile app features are built by full-stack product engineers across the company. Phantom, as a company, is extremely horizontal and open - meaning that engineers are encouraged to make contributions wherever they think they can have impact and add value in addition to their core responsibilities.
"We don’t have a lot of engineers with background in React Native, and yet nearly every engineer at Phantom is able to contribute to the mobile app. That’s a testament to the foundations we built and the power of Expo." — Jakub Adamczyk, Software Engineer at Phantom
Phantom's stack includes:
- Expo SDK
- React Query, TypeScript, and Signalium (their open source signals-based state management library)
- FlashList for performant lists
- Expo modules, from Secure Store through WebBrowser to custom made modules and plugins
- Expo dev client setup
With Expo Dev Client, the team moved beyond Expo Go and enabled custom native modules while keeping the same simple and consistent development workflow across engineers.
Weekly releases powered by EAS
Phantom uses EAS Build and EAS Submit for its core release workflow:
- Engineers open PRs and trigger EAS Build from GitHub Actions
- Dev client builds are built on a weekly basis and posted to a dedicated Slack channel with links and QR codes for easy installs
- Weekly production release cadence, with builds submitted via EAS Submit
They also use Maestro for end-to-end testing. To speed up tests, Phantom cleverly uses EAS Update and Expo Fingerprint to build the app for e2e tests only when necessary.
"We shaved ~15 minutes off our 60-minute test runs by pushing updates in our sandbox environment with EAS Update. It’s a big win for test iteration speed." — Dan Tamas, Software Engineer at Phantom
Developer tools that let others build crypto apps
Phantom isn’t just building its own mobile app with Expo. They are also helping others bring crypto to their users. The team launched wallet SDK that enables other developers to integrate crypto directly into their own Expo and React Native apps. Just as Expo empowers engineers to build high-quality native apps with ease, Phantom’s Wallet SDK makes adding secure and user-friendly crypto functionality just as effortless. By making crypto integration seamless and accessible, Phantom is extending its mission beyond its own products — accelerating the world’s adoption of crypto by making it safe and easy to use.
Why crypto apps build with Expo
Expo and React Native have become the default stack for crypto wallets. Today, almost every mobile wallet in the space is built this way. Phantom is one of the best examples of how this stack scales to support millions of users while maintaining the highest UX standards.
"If you know what you're doing, you can create a high-performance app with just a few engineers experienced in React Native and Expo. The rest of your team can be engineers proficient in JavaScript and React, with only a basic understanding of React Native." — Jakub Adamczyk, Software Engineer at Phantom
Crypto apps have a few key constraints that are relevant across a variety of industries.
- Security is paramount
- Engineering teams are often lean and agile
- Cross-platform consistency is essential
Expo fits these constraints perfectly.
Phantom uses Expo because it allows them to stay lean and move quickly, while also providing a product that's secure, fast and looks great. Expo isn't stopping Phantom from using native code to make sure the small details are also correct. They've built custom WebView patches for security, created native modules to support features like Solana Mobile Wallet Adapter and even created SDKs for their Embedded Wallet product which brings Expo to other crypto apps as well. With Expo Dev Client and EAS, they’ve created a setup that’s fast, secure, and easy for any engineer on the team to contribute to.
"I used to tell people: use Expo only if you want to start fast, but then eject to pure ReactNative. Now I just say: use Expo. Period." — Dan Tamas, Software Engineer at Phantom
Advice for other teams
Phantom’s team works horizontally. Engineers are expected to take ownership, work independently, and move fast.
"This company is run by engineers with guidance from product managers, not the other way around." — Dan Tamas, Software Engineer at Phantom
Their advice for teams getting started with Expo:
- Embrace the ecosystem: Expo modules, dev clients, and infrastructure are production-ready
- Use Expo Modules API: Expo lets you ship without touching native code on a daily basis and instead focus on the product
- Keep it simple: their setup isn’t exotic, it’s pragmatic and efficient
Phantom is proof that you don’t need a huge team or deep native expertise to build one of the best crypto apps in the world. They move fast, stay secure, and ship every week with Expo.



