https://github.com/thirdweb-example/expo-starter
Starter kit to build with Expo and thirdweb without additional initial configuration.
https://github.com/thirdweb-example/expo-starter
expo react-native starter-kit starter-template thirdweb thirdweb-sdk thirdwebsdk web3
Last synced: 11 months ago
JSON representation
Starter kit to build with Expo and thirdweb without additional initial configuration.
- Host: GitHub
- URL: https://github.com/thirdweb-example/expo-starter
- Owner: thirdweb-example
- Created: 2024-05-21T23:05:58.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-05-09T00:08:55.000Z (11 months ago)
- Last Synced: 2025-05-09T01:20:43.681Z (11 months ago)
- Topics: expo, react-native, starter-kit, starter-template, thirdweb, thirdweb-sdk, thirdwebsdk, web3
- Language: TypeScript
- Homepage:
- Size: 5.15 MB
- Stars: 32
- Watchers: 6
- Forks: 19
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

# thirdweb expo starter
Starter template to build an onchain react native app with [thirdweb](https://thirdweb.com/) and [expo](https://expo.dev/).
### Features
- in-app wallets using phone number, email or social logins to create a wallet for the user
- smart accounts to sponsor gas
- connecting to external wallets like MetaMask via WalletConnect
- autoconnecting to the last connected wallet on launch
- reading contract state and events
- writing to the blockchain
## Installation
Install the template using [thirdweb create](https://portal.thirdweb.com/cli/create)
```bash
npx thirdweb create app --react-native
```
## Get started
1. Install dependencies
```bash
yarn install
```
2. Get your thirdweb client id
Rename the `.env.example` file to `.env` and paste in your thirdweb client id.
You can obtain a free client id from the [thirdweb dashboard](https://thirdweb.com/dashboard/settings).
3. Prebuild the ios and android directories
> [!IMPORTANT]
> The thirdweb SDK uses native modules, which means it cannot run on expo GO. You must build the ios and android apps to link the native modules.
```bash
npx expo prebuild
```
This will create the `ios` and `android` directories.
4. Start the app
```bash
yarn ios
```
or
```bash
yarn android
```
To run this app, you'll need either:
- [Android emulator](https://docs.expo.dev/workflow/android-studio-emulator/)
- [iOS simulator](https://docs.expo.dev/workflow/ios-simulator/)
## Troubleshooting
### OpenSSL Error on Xcode 16
If using xcode 16, you may encounter a OpenSSL error when trying to build the app. This is because xcode 16 requires a newer version of OpenSSL than the one specified in the current app.json.
To fix this, change the version of OpenSSL specified in the `app.json` file to `3.3.2000`.
- Open the `app.json` file
- Find the `ios` > `extraPods` section
- Set `"version": "3.3.2000"` for the `OpenSSL-Universal` pod
- Save the file
Then run `npx expo prebuild` to update the native modules with the new OpenSSL version and run the app again.
## Additional Resources
- [Documentation](https://portal.thirdweb.com/typescript/v5)
- [Templates](https://thirdweb.com/templates)
- [YouTube](https://www.youtube.com/c/thirdweb)
## Support
For help or feedback, please [visit our support site](https://thirdweb.com/support)