Embedded checkout with Reown AppKit
Add Strimz embedded checkout to an app that already uses Reown AppKit. AppKit stays yours; the Strimz checkout runs its own wallet flow.
Your app already uses Reown AppKit for its own wallet features, and you want to take a payment without leaving the page. This recipe adds the Strimz embedded checkout next to AppKit.
The two don't share state. The Strimz checkout runs its own wallet connect (it uses Reown AppKit internally) inside the embedded frame, so the payer connects there and signs there. The Strimz React SDK does not read your wagmi config, and there is no hook that signs a payment with your app's connected wallet.
Install
AppKit, the wagmi adapter, wagmi, viem, and TanStack Query are for your app's own wallet features. Strimz needs only @strimz/sdk on the server and @strimz/sdk-react in the browser.
Wire the providers
AppKit's setup is unchanged. StrimzProvider can sit anywhere above the components that use it; it only needs your publishable key.
Mount it in your root layout:
Server-side: create the session
Same as any Strimz integration. Your server creates the session, returns the id to the client.
Client-side: the embedded checkout
What's happening
The user lands on /checkout. The page creates a session on mount (one fetch to your server, which holds the secret key). They see "Loading…" briefly.
The session id comes back and the page renders the Strimz checkout inline. The payer connects a wallet inside the checkout, through its own AppKit modal, and signs the payment there.
useStrimzSession polls the session with your publishable key. When the indexer confirms the on-chain transaction, the status moves to confirmed and the panel shows the success state.
Fulfil the order from your webhook handler, not from this page. The page is a UI signal; the signed webhook is the source of truth.
Customizing further
The page around the checkout is yours. useStrimzSession gives you session, loading, and error; render the amount, a spinner, or a richer success state however you like. To open the checkout in a popup from your own button instead of inline, use <StrimzPayButton sessionId={sessionId} />.
Your own Reown modal can be themed as usual. See their docs.

