<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.
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: