These instructions are specifically for the React Native SDK. Building with another framework? See Supported Frameworks.
Architecture Overview

Package Installation
Peer Dependencies
The SDK requires these peer dependencies. Install them all:What each dependency does
| Package | Purpose |
|---|---|
buffer | NDEF payload Binary ↔ String decoding |
react-native-get-random-values | Secure random number generation for TweetNaCl |
react-native-keychain | Secure device Keychain storage for private keys |
react-native-nfc-manager | NFC tag reading on both platforms |
react-native-device-info | Device UUID and metadata for device registration |
react-native-svg | Icons and animated NFC graphics in the built-in UI |
react-native-reanimated | 60fps animations in payment flow screens |
react-native-safe-area-context | Proper insets for full-screen modal UI |
Polyfills
Add these at the very top of your app entry point, before any other imports:index.js
These must be the very first lines in your entry file. React Native’s module bundler evaluates them in order — if another module that needs them loads first, you’ll get a runtime crash.
Framework Compatibility
| Setup | Supported |
|---|---|
| Bare React Native CLI | ✅ Full support |
| Expo (Development Build) | ✅ Supported |
| Expo Go | ❌ Native modules not supported |
If using Expo, you must use a Development Build (via
expo-dev-client). Expo Go does not support native modules like react-native-keychain or react-native-nfc-manager.Platform-Specific Setup
React Native Setup
Install the SDK and process your first NFC payment in 5 minutes.
Android Setup
Gradle dependencies, AndroidManifest.xml permissions, and HCE service configuration.
iOS Setup
CocoaPods and Info.plist NFC usage description.

