> ## Documentation Index
> Fetch the complete documentation index at: https://docs.reclack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SDKs and libraries

> What Reclack publishes for the browser, and which piece to reach for.

Reclack's API is plain HTTP and JSON, so nothing here is required. These
packages exist because two jobs are genuinely awkward to do yourself: putting a
payment inside your own page, and connecting a wallet in a browser.

## What we publish

| Package | What it does | Install |
| - | - | - |
| [`@reclack/widget`](https://docs.reclack.com/sdks/checkout-widget) | The Reclack checkout inside your page, inline or in a dialog. Also redirects to the hosted page | `npm i @reclack/widget` |
| [`@reclack/walletkit`](https://docs.reclack.com/sdks/walletkit) | A wallet picker and connection layer. No framework, one dependency | `npm i @reclack/walletkit` |
| [`@reclack/walletkit-react`](https://docs.reclack.com/sdks/walletkit#your-framework) | The picker as a React component. Serves Preact too | `npm i @reclack/walletkit-react` |
| [`@reclack/walletkit-vue`](https://docs.reclack.com/sdks/walletkit#your-framework) | The picker as a Vue component | `npm i @reclack/walletkit-vue` |

On npm, with every published version and its files:
[@reclack/widget](https://www.npmjs.com/package/@reclack/widget),
[@reclack/walletkit](https://www.npmjs.com/package/@reclack/walletkit),
[@reclack/walletkit-react](https://www.npmjs.com/package/@reclack/walletkit-react),
[@reclack/walletkit-vue](https://www.npmjs.com/package/@reclack/walletkit-vue).

The widget is also served as one file for pages with no bundler:

```html theme={null}
<script src="https://js.reclack.com/widget.js"></script>
```

That gives you `window.Reclack`, the same function the package exports.

## Which one you need

> [card] [Taking a payment](https://docs.reclack.com/sdks/checkout-widget.md)
>
> Use `@reclack/widget`. It renders our checkout in your page, so you are not
> rebuilding a payment form or handling a signature yourself.

> [card] [Sending them to us](https://docs.reclack.com/guides/checkout.md)
>
> Use no library at all. Create a session and redirect to its `url`. The
> widget's `redirect()` is a convenience, not a requirement.

> [card] [Connecting a wallet](https://docs.reclack.com/sdks/walletkit.md)
>
> Use `@reclack/walletkit`. For an address, a balance, or a wallet connection
> that has nothing to do with a Reclack payment.

> [card] [Calling the API](https://docs.reclack.com/api-reference/introduction.md)
>
> Use your language's HTTP client. There is no server SDK yet, and the API is
> small enough that one buys you little.

## On your server

Keep your secret key there and call the API directly. Every example in these
docs is a plain request, so there is nothing to port.

> [!WARNING]
>
> No browser package ever takes a secret key. The widget throws on one before a
> request leaves the page. Use a [publishable
> key](https://docs.reclack.com/authentication.md#publishable-keys) in anything a visitor can read.

## Versions and support

All four packages are published to npm under the `@reclack` scope, built as
ESM, and ship their own TypeScript types. They are pre-1.0, so pin a version if
you need the surface to hold still.

`widget.js` on the CDN serves the current release and is cached for five
minutes, so a fix reaches your pages without you editing any HTML.

Browsers: Chrome, Edge, Firefox and Safari 15.4 or newer. No polyfills are
bundled, and nothing here needs a build step beyond what your framework
already does.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.