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

# Rheon SDK

> The Rheon widget - one embeddable flow for stablecoin deposits and bank transfers, in your product or standalone.

The SDK is the Rheon flow your users see, dropped into your product. One embed
covers both ways money comes in: a stablecoin from a wallet on any supported chain,
or fiat from a bank. You choose which paths are offered and where the money lands.

<Note>
  **Status: the widget is live in preview at
  [widget.rheon.io](https://widget.rheon.io) and settles real deposits on the
  stablecoin path.** Embedding it into your own page - signed session URLs, theming,
  lifecycle events - is being built; the shape is documented on
  [Integration options](/integration/options) and marked as a plan where it is not
  live yet.
</Note>

## Which products it covers

| Product                                        | In the SDK                                                                                                                                                    | Status                                          |
| ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
| [Crypto deposits](/products/crypto-deposits)   | The user connects a wallet, picks a stablecoin on any supported network, and it is routed and settled to your destination                                     | Live                                            |
| [On/off ramps with cards](/products/cards)     | Priced, started, and followed to settlement inside the same flow                                                                                              | Live                                            |
| [Bank transfers](/products/ramps/payins)       | The user verifies once, gets bank details, and pays from their own bank; the transfer converts and settles on-chain                                           | Built, waiting on the banking partner agreement |
| [Virtual accounts](/products/virtual-accounts) | Permanent details issued to the user, reused for every later payment                                                                                          | Built, waiting on the banking partner agreement |
| [Apple Pay](/products/apple-pay)               | Offered on the hosted card page inside the flow. How it is presented in the SDK is still being decided; native Apple Pay is an API-side thing, not an SDK one | Live on the hosted page                         |
| [Card issuing](/products/card-issuing)         | Not planned for the SDK for now                                                                                                                               | To be updated                                   |

**Fixed amounts work in either direction** across these: pin what the payer spends,
or pin what has to land and let the payer's side flex to cover it.

## Three ways to run it

| Mode                | What it is                                                                                     | Status                              |
| ------------------- | ---------------------------------------------------------------------------------------------- | ----------------------------------- |
| **Hosted iframe**   | The full flow inside your page. Fastest to ship.                                               | Live in preview; signed URLs coming |
| **SDK component**   | The flow as a component with lifecycle events and theming.                                     | Coming soon                         |
| **Standalone link** | You send the user to a hosted Rheon page and they return after. Useful where you cannot embed. | Coming soon                         |

## Embedding

```html theme={null}
<iframe
  src="https://widget.rheon.io/"
  allow="camera; microphone; geolocation; payment"
  style="height:100%;width:100%;border:none">
</iframe>
```

Two things about that `allow` list, both easy to miss:

* The bank path runs identity verification inside the frame. It needs the **camera**,
  and by default it needs **geolocation** for address verification. If the host page
  does not pass those through, verification fails for most users - see
  [Rheon ID](/rheon-id).
* The host page has to be served over HTTPS, or the browser refuses the permissions
  regardless of the `allow` attribute.

In production the URL is signed by your backend - single-use and short-lived - so the
amount, destination, and branding cannot be changed from the browser. That part is
still being built; until it ships, the preview takes plain parameters.

## Configuring it

Filtering (which chains and tokens a user sees), pre-filling (wallet, amount,
destination, email), and locking fields so a user cannot change what you fixed are
covered on [Integration options](/integration/options).

## Theming

**Coming soon.** Expand for the intended shape - a plan, not a live spec.

<Accordion title="Planned theming" icon="palette">
  White-label theming so the flow matches your brand: primary color, dark mode, logo,
  and corner radius, applied through the widget configuration so the deposit flow
  looks native inside your product.
</Accordion>

## Lifecycle events

**Coming soon.** Expand for the intended shape - a plan, not a live spec.

<Accordion title="Planned lifecycle events" icon="bolt">
  Embedded through the SDK, or by `postMessage` from the iframe, the flow emits
  events so your page reacts without polling. Planned set:

  * `DepositStarted` - the user confirmed, routing began
  * `Routing` - settling cross-chain
  * `SourceConfirmed` - source payment confirmed
  * `Completed` - the destination asset landed
  * `Failed` - the deposit failed
</Accordion>

<Warning>
  **Never credit a user on a browser event.** Lifecycle events are for in-page UX only

  * anything your backend must trust, such as crediting an account or releasing an
    order, goes through the API or [webhooks](/webhooks).
</Warning>

## Standalone

The same flow runs as a hosted page with no host product around it. Use it for a
payment link, a support-assisted deposit, or a market where you have no app surface
yet.
