Skip to main content
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.
Status: the widget is live in preview at 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 and marked as a plan where it is not live yet.

Which products it covers

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

Embedding

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.
  • 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.

Theming

Coming soon. Expand for the intended shape - a plan, not a live spec.
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.

Lifecycle events

Coming soon. Expand for the intended shape - a plan, not a live spec.
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
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.

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.