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

# SDKs & Widget

> Four ways to integrate beyond raw HTTP, from a typed client to a drop-in widget.

Four packages sit on top of the same [Integrator API](/api-reference/overview) covered elsewhere
in these docs. None of them own wallet connection or transaction building. RAVN's `/api/v1`
already returns exactly what to sign or send; these packages just save you the boilerplate
around it.

<Note>
  The three JS/TS packages are published on npm under the `@ravnexchange` scope. Install the one
  you need, for example `npm install @ravnexchange/sdk`, and pin whatever version range your
  project normally uses. The Python client is a separate package on PyPI, `pip install
    ravnexchange`, not part of the npm scope.
</Note>

## Pick one

| Package | For | Handles |
| - | - | - |
| [`@ravnexchange/sdk`](/sdks/core) | Backend services, or any wallet calling the API directly | A typed `RavnClient` for quote, execute, submit-signature, and status. Zero dependencies. |
| [`ravnexchange`](/sdks/python) (Python) | A plain, non-agent Python backend | The same `RavnClient` scope, snake\_cased. Zero dependencies, built on stdlib `urllib.request`. |
| [`@ravnexchange/react`](/sdks/react) | Dapps building their own swap UI | Hooks on top of `@ravnexchange/sdk` that manage quote-expiry and status-polling state. You still bring your own wallet. |
| Widget | Anyone who wants a drop-in swap UI with zero wallet-connect friction | A hosted `<iframe>` plus [`@ravnexchange/widget-connector`](/sdks/widget), the host-side bridge that lets the widget use your page's already-connected wallet. |

All four are convenience layers over the exact same [`/quote`](/api-reference/quote),
[`/execute`](/api-reference/execute), [`/submit-signature`](/api-reference/submit-signature), and
[`/status`](/api-reference/status) calls documented in the [Quickstart](/quickstart): same fields,
same fees, same DTOs. Nothing below unlocks pricing or routing you can't already get by calling
the REST API yourself.


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