<MoonPayProvider> and a useMoonPay() hook. The SDK ships with TypeScript types for autocomplete and inference.
The SDK is tested against:
- React Native 0.73+
- React
>=18 react-native-webview13.0+- iOS 14+ and Android API 26+
Install
Install the SDK package and its peer dependency:react-native-webview install guide to link the native module. On iOS, run pod install from your ios/ directory.
Conventions
Provider + hook
Mount<MoonPayProvider> near the top of your app tree and call useMoonPay()
from any descendant component to get the client. Pass the
sessionToken at mount,
or supply it later with initialize().
The SDK presents frames in two ways:
- Client methods such as
client.connect()orclient.setupWidget()open a full-screen modal managed by the provider. Hidden utility frames (connection check, headless buy, reset) render at zero size. - Inline components such as
<MoonPayConnect>or<MoonPayWidget>render the frame wherever you place them in your layout.
App.tsx
Result<T, E>
Most SDK functions return a Result<T, E> instead of throwing.
Use this pattern to branch on success vs failure: