@calm-xyz/react lets you embed the Calm onramp in a React application.
Configure it with your publishable key, the connected wallet address, and the
callbacks Calm uses to interact with the wallet.
Mount the Calm provider inside your
QueryClientProvider and wallet authentication stack after a wallet
connects. It requires both a wallet address and a query client, and throws
immediately if either is missing.CalmDialog anywhere
beneath the provider and wrap your trigger element. For a page-level
experience, use CalmEmbed to render the same
flow directly in your layout without a trigger or dialog.
app/page.tsx