Skip to main content
<MoonPayProvider> initializes the SDK with a sessionToken and renders MoonPay frames as react-native-webview instances when you call SDK methods. Wrap the part of your app that needs access to the client.
App.tsx
Read the client from descendant components with useMoonPay().

Props

Frame rendering

When you call a method that opens a visible frame — such as client.connect(), client.setupWidget(), or client.setupAddCard() — the provider presents it in a full-screen native Modal with a slide animation. Multiple frames stack naturally: for example, a challenge frame appears on top of an active widget. On Android, the hardware back button dismisses the top frame and disposes it. Hidden utility frames (used by client.getConnection(), client.setupBuy(), and client.resetConnection()) render as zero-size siblings with no visible impact on your layout.
Layout

Client methods

The hook exposes a client object with every integration method: