Skip to main content
Use client.connect() when you need to connect a customer’s MoonPay account in your app. The provider presents the connect flow in a full-screen native modal with a slide animation and streams lifecycle events through onEvent. If you want the full end-to-end flow (create session → check connection → connect), start with the Connect a customer guide. For UI recommendations, see Presentation and appearance.
Connect a customer

Parameters

The provider renders the connect frame in a full-screen modal automatically. You don’t need to pass a container.

ConnectEvent

onEvent receives events as the connect flow progresses. Use event.kind to decide how to handle each event. To remove the frame after the flow completes, call connectFrame.dispose() on the ConnectFrame returned from client.connect().

ConnectEventError

The error event payload comes from the underlying connect frame. It is discriminated by code. ConfigValidationFieldError entries have a code of "invalidSessionToken", "invalidClientToken", or "invalidPublicKey", plus a developer-facing message.
types.ts

Result

client.connect() returns a Result<ConnectFrame, ConnectError>.

Result envelope

Result<ConnectFrame, ConnectError>

ConnectFrame

ConnectError

ConnectError covers failures to mount the frame or complete the handshake, and customer dismissal. Per-flow failures inside the frame surface with full details through the "error" event payload, ConnectEventError; the method then resolves with a generic ConnectError.
types.ts

Resources

For full protocol details, see the connect frame reference.