Use this file to discover all available pages before exploring further.
Render the MoonPay buy widget into your UI and initiate a transaction with a quote signature. The quote must have executable: true. The widget handles the full purchase flow — including payment-method selection, verification, and transaction confirmation — inside an iframe.
Setup widget
import { createClient, type WidgetEvent } from "@moonpay/platform-sdk-web";const client = createClient({ sessionToken: "c3N0XzAwMQ==" });const widgetResult = await client.setupWidget({ quote: quoteResult.value.data.signature, container: document.querySelector("#widgetContainer"), onEvent: (event: WidgetEvent) => { switch (event.kind) { case "ready": break; case "transactionCreated": console.log(event.payload.transaction); break; case "complete": console.log(event.payload.transaction); break; case "close": // The customer closed the widget break; case "error": console.error(event.payload.code, event.payload.message); break; } },});if (!widgetResult.ok) { // Handle error console.error(widgetResult.error.kind, widgetResult.error.message); return;}const widget = widgetResult.value;