Skip to main content
Warp has one server SDK and three client SDKs. The server SDK creates checkout sessions and verifies webhooks with your secret key. The client SDKs show the hosted checkout on your own page, inline, in a modal or in a popup.
Your secret key stays on your server. The client SDKs never need it: they load a checkout_url that your server created.

Packages

@warpfi/react and @warpfi/vue are built on @warpfi/js and install it for you. All packages are MIT licensed, written in TypeScript and ship their own types.

Which do I need?

Most integrations use two packages: @warpfi/node on the server and one client SDK in the browser.

Set up with examples

Step-by-step setup with full Next.js, Nuxt and Express examples.

Node.js

Server SDK for sessions, webhooks and ZK proofs.

React

<WarpCheckout>, <PayWithWarpButton> and useWarpCheckout.

Vue

<WarpCheckout>, <PayWithWarpButton> and useWarpCheckout.

JavaScript

mountCheckout, modal, popup and the <warp-checkout> element.

Embedded checkout

How embedding works, display modes, events and allowed origins.
If you only redirect customers to the hosted checkout, you do not need a client SDK: create the session with @warpfi/node and redirect to checkout_url. For other server languages, call the REST API directly.

Install

The CDN build of @warpfi/js exposes window.Warp and registers the <warp-checkout> element, for pages without a build step.

Versioning

The SDKs follow semantic versioning. While they are on 0.x, minor versions can contain breaking changes, so pin a minor version (~0.1.0) or the CDN major (@0) and read the release notes on GitHub before upgrading.